ExtReact Docs Help

Introduction

The documentation for the ExtReact product diverges somewhat from the documentation of other Sencha products. The sections below describe documentation for all products except where indicated as unique to ExtReact.

Terms, Icons, and Labels

Many classes have shortcut names used when creating (instantiating) a class with a configuration object. The shortcut name is referred to as an alias (or xtype if the class extends Ext.Component). The alias/xtype is listed next to the class name of applicable classes for quick reference.

ExtReact component classes list the configurable name prominently at the top of the API class doc followed by the fully-qualified class name.

Access Levels

Framework classes or their members may be specified as private or protected. Else, the class / member is public. Public, protected, and private are access descriptors used to convey how and when the class or class member should be used.

Member Types

Member Syntax

Below is an example class member that we can disect to show the syntax of a class member (the lookupComponent method as viewed from the Ext.button.Button class in this case).

lookupComponent ( item ) : Ext.Component
protected

Called when a raw config object is added to this container either during initialization of the items config, or when new items are added), or {@link #insert inserted.

This method converts the passed object into an instanced child component.

This may be overridden in subclasses when special processing needs to be applied to child creation.

Parameters

item :  Object

The config object being added.

Returns
Ext.Component

The component to be added.

Let's look at each part of the member row:

Member Flags

The API documentation uses a number of flags to further commnicate the class member's function and intent. The label may be represented by a text label, an abbreviation, or an icon.

Class Icons

- Indicates a framework class

- A singleton framework class. *See the singleton flag for more information

- A component-type framework class (any class within the Ext JS framework that extends Ext.Component)

- Indicates that the class, member, or guide is new in the currently viewed version

Member Icons

- Indicates a class member of type config

Or in the case of an ExtReact component class this indicates a member of type prop

- Indicates a class member of type property

- Indicates a class member of type method

- Indicates a class member of type event

- Indicates a class member of type theme variable

- Indicates a class member of type theme mixin

- Indicates that the class, member, or guide is new in the currently viewed version

Class Member Quick-Nav Menu

Just below the class name on an API doc page is a row of buttons corresponding to the types of members owned by the current class. Each button shows a count of members by type (this count is updated as filters are applied). Clicking the button will navigate you to that member section. Hovering over the member-type button will reveal a popup menu of all members of that type for quick navigation.

Getter and Setter Methods

Getting and setter methods that correlate to a class config option will show up in the methods section as well as in the configs section of both the API doc and the member-type menus just beneath the config they work with. The getter and setter method documentation will be found in the config row for easy reference.

ExtReact component classes do not hoist the getter / setter methods into the prop. All methods will be described in the Methods section

History Bar

Your page history is kept in localstorage and displayed (using the available real estate) just below the top title bar. By default, the only search results shown are the pages matching the product / version you're currently viewing. You can expand what is displayed by clicking on the button on the right-hand side of the history bar and choosing the "All" radio option. This will show all recent pages in the history bar for all products / versions.

Within the history config menu you will also see a listing of your recent page visits. The results are filtered by the "Current Product / Version" and "All" radio options. Clicking on the button will clear the history bar as well as the history kept in local storage.

If "All" is selected in the history config menu the checkbox option for "Show product details in the history bar" will be enabled. When checked, the product/version for each historic page will show alongside the page name in the history bar. Hovering the cursor over the page names in the history bar will also show the product/version as a tooltip.

Search and Filters

Both API docs and guides can be searched for using the search field at the top of the page.

On API doc pages there is also a filter input field that filters the member rows using the filter string. In addition to filtering by string you can filter the class members by access level, inheritance, and read only. This is done using the checkboxes at the top of the page.

The checkbox at the bottom of the API class navigation tree filters the class list to include or exclude private classes.

Clicking on an empty search field will show your last 10 searches for quick navigation.

API Doc Class Metadata

Each API doc page (with the exception of Javascript primitives pages) has a menu view of metadata relating to that class. This metadata view will have one or more of the following:

Expanding and Collapsing Examples and Class Members

Runnable examples (Fiddles) are expanded on a page by default. You can collapse and expand example code blocks individually using the arrow on the top-left of the code block. You can also toggle the collapse state of all examples using the toggle button on the top-right of the page. The toggle-all state will be remembered between page loads.

Class members are collapsed on a page by default. You can expand and collapse members using the arrow icon on the left of the member row or globally using the expand / collapse all toggle button top-right.

Desktop -vs- Mobile View

Viewing the docs on narrower screens or browsers will result in a view optimized for a smaller form factor. The primary differences between the desktop and "mobile" view are:

Viewing the Class Source

The class source can be viewed by clicking on the class name at the top of an API doc page. The source for class members can be viewed by clicking on the "view source" link on the right-hand side of the member row.

ExtReact 6.7.0


top

Ext.util.Filter

NPM Package

@sencha/ext-react

Hierarchy

Summary

Represents a filter that can be applied to a Ext.util.MixedCollection. Can either simply filter on a property/value pair or pass in a filter function with custom logic. Filters are always used in the context of MixedCollections, though Ext.data.Stores frequently create them when filtering and searching on their records. Example usage:

// Set up a fictional MixedCollection containing a few people to filter on
var allNames = new Ext.util.MixedCollection();
allNames.addAll([
    { id: 1, name: 'Peter',  age: 25 },
    { id: 2, name: 'Egon',   age: 37 },
    { id: 3, name: 'Ray',    age: 32 },
    { id: 4, name: 'Winston',age: 26 }
]);

var ageFilter = new Ext.util.Filter({
    property: 'age',
    value   : 32
});

var longNameFilter = new Ext.util.Filter({
    filterFn: function(item) {
        return item.name.length > 4;
    }
});

// a new MixedCollection with the 2 names longer than 4 characters
var longNames = allNames.filter(longNameFilter);

// a new MixedCollection with the 1 person of age 32:
var youngFolk = allNames.filter(ageFilter);
No members found using the current filters

configs

Optional Configs

anyMatch : Boolean

True to allow any match - no regex start/end line anchors will be added.

Defaults to:

false

getAnyMatch : Boolean

Returns the value of anyMatch

Returns

Boolean

setAnyMatch (anyMatch)

Sets the value of anyMatch

Parameters

anyMatch :  Boolean

anyMatch : Boolean

True to allow any match - no regex start/end line anchors will be added.

Defaults to:

false

getAnyMatch : Boolean

Returns the value of anyMatch

Returns

Boolean

setAnyMatch (anyMatch)

Sets the value of anyMatch

Parameters

anyMatch :  Boolean

caseSensitive : Boolean

True to make the regex case sensitive (adds 'i' switch to regex).

Defaults to:

false

getCaseSensitive : Boolean

Returns the value of caseSensitive

Returns

Boolean

setCaseSensitive (caseSensitive)

Sets the value of caseSensitive

Parameters

caseSensitive :  Boolean

caseSensitive : Boolean

True to make the regex case sensitive (adds 'i' switch to regex).

Defaults to:

false

getCaseSensitive : Boolean

Returns the value of caseSensitive

Returns

Boolean

setCaseSensitive (caseSensitive)

Sets the value of caseSensitive

Parameters

caseSensitive :  Boolean

convert : Function
private pri

A function to do any conversion on the value before comparison. For example, something that returns the date only part of a date.

Defaults to:

null

Properties

value : Object

The value to convert.

return : Object

The converted value.

getConvert : Function

Returns the value of convert

Returns

Function

setConvert (convert)

Sets the value of convert

Parameters

convert :  Function

disabled : Boolean

Setting this property to true disables this individual Filter so that it no longer contributes to a Store's filter set

When disabled, the next time the store is filtered, the Filter plays no part in filtering and records eliminated by it may rejoin the dataset.

Defaults to:

false

getDisabled : Boolean

Returns the value of disabled

Returns

Boolean

setDisabled (disabled)

Sets the value of disabled

Parameters

disabled :  Boolean

disableOnEmpty : Boolean

true to not have this filter participate in the filtering process when the value of this the filter is empty according to Ext#isEmpty.

Defaults to:

false

Available since: 5.1.0

getDisableOnEmpty : Boolean

Returns the value of disableOnEmpty

Returns

Boolean

setDisableOnEmpty (disableOnEmpty)

Sets the value of disableOnEmpty

Parameters

disableOnEmpty :  Boolean

disableOnEmpty : Boolean

true to not have this filter participate in the filtering process when the value of this the filter is empty according to Ext#isEmpty.

Defaults to:

false

Available since: 5.1.0

getDisableOnEmpty : Boolean

Returns the value of disableOnEmpty

Returns

Boolean

setDisableOnEmpty (disableOnEmpty)

Sets the value of disableOnEmpty

Parameters

disableOnEmpty :  Boolean

exactMatch : Boolean

True to force exact match (^ and $ characters added to the regex). Ignored if anyMatch is true.

Defaults to:

false

getExactMatch : Boolean

Returns the value of exactMatch

Returns

Boolean

setExactMatch (exactMatch)

Sets the value of exactMatch

Parameters

exactMatch :  Boolean

exactMatch : Boolean

True to force exact match (^ and $ characters added to the regex). Ignored if anyMatch is true.

Defaults to:

false

getExactMatch : Boolean

Returns the value of exactMatch

Returns

Boolean

setExactMatch (exactMatch)

Sets the value of exactMatch

Parameters

exactMatch :  Boolean

filterFn : Function

A custom filter function which is passed each item. This function must return true to accept an item or false to reject it.

Defaults to:

null

getFilterFn : Function

Returns the value of filterFn

Returns

Function

setFilterFn (filterFn)

Sets the value of filterFn

Parameters

filterFn :  Function

filterFn : Function

A custom filter function which is passed each item in the Ext.util.MixedCollection in turn. Should return true to accept each item or false to reject it.

getFilterFn : Function

Returns the value of filterFn

Returns

Function

setFilterFn (filterFn)

Sets the value of filterFn

Parameters

filterFn :  Function

id : String

An identifier by which this Filter is indexed in a Store's filters collection

Identified Filters may be individually removed from a Store's filter set by using Ext.data.Store#removeFilter.

Anonymous Filters may be removed en masse by passing null to Ext.data.Store#removeFilter.

getId : String

Returns the value of id

Returns

String

setId (id)

Sets the value of id

Parameters

id :  String

operator : String

The operator to use to compare the property to this Filter's value.

Possible values are:

  • <
  • <=
  • =
  • >=
  • >
  • !=
  • in
  • notin
  • like
  • /=

The in and notin operator expects this filter's cfg-value to be an array and matches values that are present in that array.

The like operator matches values that contain this filter's cfg-value as a substring.

The /= operator uses the cfg-value as the source for a RegExp and tests whether the candidate value matches the regular expression.

Defaults to:

null

getOperator : String

Returns the value of operator

Returns

String

setOperator (operator)

Sets the value of operator

Parameters

operator :  String

operator : String

The operator to use to compare the cfg-property to this Filter's cfg-value

Possible values are:

  • <
  • <=
  • =
  • >=
  • >
  • !=
  • in
  • notin
  • like
  • /=

The in and notin operator expects this filter's cfg-value to be an array and matches values that are present in that array.

The like operator matches values that contain this filter's cfg-value as a substring.

The '*=' operator uses the cfg-value as the source for a RegExp and tests whether the candidate value matches the regular expression.

getOperator : String

Returns the value of operator

Returns

String

setOperator (operator)

Sets the value of operator

Parameters

operator :  String

property : String

The property to filter on. Required unless a filterFn is passed.

Defaults to:

null

getProperty : String

Returns the value of property

Returns

String

setProperty (property)

Sets the value of property

Parameters

property :  String

property : String

The property to filter on. Required unless a filterFn is passed.

Defaults to:

null

getProperty : String

Returns the value of property

Returns

String

setProperty (property)

Sets the value of property

Parameters

property :  String

root : String

This property is used to descend items to check for meaningful properties on which to filter. For a Ext.data.Model for example this would be 'data'.

Defaults to:

null

getRoot : String

Returns the value of root

Returns

String

setRoot (root)

Sets the value of root

Parameters

root :  String

root : String

Optional root property. This is mostly useful when filtering a Store, in which case we set the root to 'data' to make the filter pull the property out of the data object of each item

Defaults to:

null

getRoot : String

Returns the value of root

Returns

String

setRoot (root)

Sets the value of root

Parameters

root :  String

scope : Object

The context (this property) in which the filtering function is called. Defaults to this Filter object.

Defaults to:

null

scope : Object

The context (this property) in which the filtering function is called. Defaults to this Filter object.

serializer : Function

A function to post-process any serialization. Accepts a filter state object containing property, value and operator properties, and may either mutate it, or return a completely new representation. Returning a falsey value does not modify the representation.

Available since: 6.2.0

getSerializer : Function

Returns the value of serializer

Returns

Function

setSerializer (serializer)

Sets the value of serializer

Parameters

serializer :  Function

value : RegExp / Mixed

The value you want to match against. Required unless a filterFn is passed.

Can be a regular expression which will be used as a matcher or any other value such as an object or an array of objects. This value is compared using the configured operator.

Defaults to:

null

getValue : RegExp / Mixed

Returns the value of value

Returns

RegExp / Mixed

setValue (value)

Sets the value of value

Parameters

value :  RegExp / Mixed

value : RegExp / Mixed

The value you want to match against. Required unless a filterFn is passed.

Can be a regular expression which will be used as a matcher or any other value such as an object or an array of objects. This value is compared using the configured operator.

Defaults to:

null

getValue : RegExp / Mixed

Returns the value of value

Returns

RegExp / Mixed

setValue (value)

Sets the value of value

Parameters

value :  RegExp / Mixed

properties

Instance Properties

generation : Number
readonly ro

this property is a Mutation counter which is incremented whenever the filter changes in a way that may change either its serialized form or its result.

Defaults to:

0

Available since: 6.5.0

methods

Instance Methods

constructor ( config )

Parameters

config :  Object

Config object

createRegexFilter
private pri

Creates a filter function for the configured value/anyMatch/caseSensitive options for this Filter.

filter ( item ) : Boolean

Parameters

item :  Object

Returns

:Boolean

getPropertyValue ( item ) : Object
private pri

Returns the property of interest from the given item, based on the configured root and property configs.

Parameters

item :  Object

The item.

Returns

:Object

The property of the object.

getState Object

Returns this filter's state.

Returns

:Object

getState Object

Returns this filter's state.

Returns

:Object

serialize Object

Returns this filter's serialized state. This is used when transmitting this filter to a server.

Returns

:Object

serialize Object

Returns this filter's serialized state. This is used when transmitting this filter to a server.

Returns

:Object

serializeTo ( out ) : Boolean
private pri

Serialize this filter into the out array (if possible).

Parameters

out :  Array

The array of simple and-able filters.

Returns

:Boolean

true if any saved filters require encoding

Static Methods

createFilterFn ( filters ) : Function
static sta

Creates a single filter function which encapsulates the passed Filter array or Collection.

Parameters

filters :  Ext.util.Filter[]/Ext.util.Collection

The filters from which to create a filter function.

Returns

:Function

A function, which when passed a candidate object returns true if the candidate passes all the specified Filters.

createFilterFn ( filters ) : Function
static sta

Creates a single filter function which encapsulates the passed Filter array or Collection.

Parameters

filters :  Ext.util.Filter[]/Ext.util.Collection

The filters from which to create a filter function.

Returns

:Function

A function, which when passed a candidate object returns true if the candidate passes all the specified Filters.

isEqual ( filter1, filter2 ) : Boolean
static sta

Checks if two filters have the same properties (Property, Operator and Value).

Available since: 6.2.0

Parameters

filter1 :  Ext.util.Filter

The first filter to be compared

filter2 :  Ext.util.Filter

The second filter to be compared

Returns

:Boolean

true if they have the same properties.

isEqual ( filter1, filter2 ) : Boolean
static sta

Checks if two filters have the same properties (Property, Operator and Value).

Available since: 6.2.0

Parameters

filter1 :  Ext.util.Filter

The first filter to be compared

filter2 :  Ext.util.Filter

The second filter to be compared

Returns

:Boolean

true if they have the same properties.

isInvalid ( cfg ) : Boolean/String
static sta private pri

Checks whether the filter will produce a meaningful value. Since filters may be used in conjunction with data binding, this is a sanity check to check whether the resulting filter will be able to match.

Parameters

cfg :  Object

The filter config object

Returns

:Boolean/String

true if the filter will produce a valid value

override ( members ) : Ext.Base
static sta

Override members of this class. Overridden methods can be invoked via Ext.Base#callParent.

Ext.define('My.Cat', {
    constructor: function() {
        alert("I'm a cat!");
    }
});

My.Cat.override({
    constructor: function() {
        alert("I'm going to be a cat!");

        this.callParent(arguments);

        alert("Meeeeoooowwww");
    }
});

var kitty = new My.Cat(); // alerts "I'm going to be a cat!"
                          // alerts "I'm a cat!"
                          // alerts "Meeeeoooowwww"

Direct use of this method should be rare. Use Ext.define instead:

Ext.define('My.CatOverride', {
    override: 'My.Cat',
    constructor: function() {
        alert("I'm going to be a cat!");

        this.callParent(arguments);

        alert("Meeeeoooowwww");
    }
});

The above accomplishes the same result but can be managed by the Ext.Loader which can properly order the override and its target class and the build process can determine whether the override is needed based on the required state of the target class (My.Cat).

Parameters

members :  Object

The properties to add to this class. This should be specified as an object literal containing one or more properties.

Returns

:Ext.Base

this class

ExtReact 6.7.0