Apache Flex 4.16.1 API Reference | All Packages | All Classes | Index | Frames No Frames |
EffectTargetFilter

Package | mx.effects
Class | public class EffectTargetFilter
Inheritance | EffectTargetFilter Object
Subclasses | AddRemoveEffectTargetFilter, HideShowEffectTargetFilter

Language Version : | ActionScript 3.0

Product Version : | Flex 3

Runtime Versions : | Flash Player 9, AIR 1.1

The EffectTargetFilter class defines a custom filter that is executed by each transition effect on each target of the effect.

The EffectTargetFilter class defines a `defaultFilterFunction()` method that uses the `filterProperties` and `filterStyles` properties to determine whether to play the effect on each effect target.

You can also define a custom filter function to implement your own filtering logic. To do so, define your filter function, and then specify that function to an EffectTargetFilter object using the `filterFunction` property.

To configure an effect to use a custom filter, you pass an EffectTargetFilter object to the `Effect.customFilter` property of the effect.

Public Properties

| Property | Defined By
--- | --- | ---
|  | filterFunction : Function A function that defines custom filter logic. | EffectTargetFilter
|  | filterProperties : Array An Array of Strings specifying component properties. | EffectTargetFilter
|  | filterStyles : Array An Array of Strings specifying style properties. | EffectTargetFilter
|  | requiredSemantics : Object = null A collection of properties and associated values which must be associated with a target for the effect to be played. | EffectTargetFilter

Public Methods

| Method | Defined By
--- | --- | ---
|  | EffectTargetFilter() Constructor. | EffectTargetFilter
|  | filterInstance(propChanges:Array, semanticsProvider:IEffectTargetHost, target:Object):Boolean Determines whether a target should be filtered, returning true if it should be included in an effect. | EffectTargetFilter

Protected Methods

| Method | Defined By
--- | --- | ---
|  | defaultFilterFunction(propChanges:Array, instanceTarget:Object):Boolean The default filter function for the EffectTargetFilter class. | EffectTargetFilter

Property Detail

filterFunction | property

`public var filterFunction:Function`

Language Version : | ActionScript 3.0

Product Version : | Flex 3

Runtime Versions : | Flash Player 9, AIR 1.1

A function that defines custom filter logic. Flex calls this method on every target of the effect. If the function returns `true`, the effect plays on the target; if it returns `false`, the target is skipped by the effect. A custom filter function gives you greater control over filtering than the `Effect.filter` property.

The filter function has the following signature:

          filterFunc(propChanges:Array, instanceTarget:Object):Boolean
          {
              // Return true to play the effect on instanceTarget,
              // or false to not play the effect.
          }

where:

`propChanges` - An Array of PropertyChanges objects, one object per target component of the effect. If a property of a target is not modified by the transition, it is not included in this Array.

`instanceTarget` - The specific target component of the effect that you want to filter. Within the custom filter function, you first search the `propChanges` Array for the PropertyChanges object that matches the `instanceTarget` argument by comparing the `instanceTarget` argument to the `propChanges.target` property.

See also

mx.effects.effectClasses.PropertyChanges

filterProperties | property |

`public var filterProperties:Array`

Language Version : | ActionScript 3.0

Product Version : | Flex 3

Runtime Versions : | Flash Player 9, AIR 1.1

An Array of Strings specifying component properties. If any of the properties in the Array changed on the target component, play the effect on the target.

If you define a custom filter function, you can examine the `filterProperties` property from within your function.

filterStyles | property |

`public var filterStyles:Array`

Language Version : | ActionScript 3.0

Product Version : | Flex 3

Runtime Versions : | Flash Player 9, AIR 1.1

An Array of Strings specifying style properties. If any of the style properties in the Array changed on the target component, play the effect on the target.

If you define a custom filter function, you can examine the `filterStyles` property from within your function.

requiredSemantics | property |

`public var requiredSemantics:Object = null`

Language Version : | ActionScript 3.0

Product Version : | Flex 3

Runtime Versions : | Flash Player 9, AIR 1.1

A collection of properties and associated values which must be associated with a target for the effect to be played.

When working with data effects, you can use this property to filter effects. If you want to play a data effect on all targets of a list control that are not added by the effect, meaning targets that is removed, replaced, moved, or affected in any other way, you can write the effect definition as shown below:

          <mx:Blur>
              <mx:customFilter>
                  <mx:EffectTargetFilter requiredSemantics="{{'added':false}}"/>
              </mx:customFilter>
          </mx:Blur>

To play a data effect on all targets that are not added or not removed by the effect, you can write the effect definition as shown below:

          <mx:Blur>
              <mx:customFilter>
                  <mx:EffectTargetFilter requiredSemantics="{{'added':false}, {'removed':false}}"/>
              </mx:customFilter>
          </mx:Blur>

The allowed list of properties that you can specify includes `added`, `removed`, `replaced`, and `replacement`. The allowed values for the properties are `true` and `false`.

Constructor Detail

EffectTargetFilter | () | Constructor

`public function EffectTargetFilter()`

Language Version : | ActionScript 3.0

Product Version : | Flex 3

Runtime Versions : | Flash Player 9, AIR 1.1

Constructor.

Method Detail

defaultFilterFunction | () | method

`protected function defaultFilterFunction(propChanges:Array, instanceTarget:Object):Boolean`

Language Version : | ActionScript 3.0

Product Version : | Flex 3

Runtime Versions : | Flash Player 9, AIR 1.1

The default filter function for the EffectTargetFilter class. If the `instanceTarget` has different start and end values for any of the values specified by the `filterProperties` or `filterStyles` properties, play the effect on the target.

Parameters

| `propChanges:Array` — An Array of PropertyChanges objects. The `target` property of each PropertyChanges object is equal to the effect's target. If a property of a target is not modified by a transition, the corresponding PropertyChanges object is not included in this array.
| `instanceTarget:Object` — The target of the EffectInstance that calls this function. If an effect has multiple targets, this function is called once per target.

Returns

| `Boolean` — Returns `true` to allow the effect instance to play.

See also

mx.effects.effectClasses.PropertyChanges

filterInstance | () | method |

`public function filterInstance(propChanges:Array, semanticsProvider:IEffectTargetHost, target:Object):Boolean`

Language Version : | ActionScript 3.0

Product Version : | Flex 3

Runtime Versions : | Flash Player 9, AIR 1.1

Determines whether a target should be filtered, returning true if it should be included in an effect. The determination is made by calling filterFunction and semanticFilterFunction, returning true if and only if both functions return true. The default functions with the default values will always return true. Typically, an EffectTargetFilter will use one type of filter or the other, but not both.

Parameters

| `propChanges:Array` — An Array of PropertyChanges objects. The target property of each PropertyChanges object is equal to the effect's target. If a property of a target is not modified by a transition, the corresponding PropertyChanges object is not included in this array.
| `semanticsProvider:IEffectTargetHost` — The IEffectTargetHost used to evaluate the properties specified in requiredSemantics for the target, normally the effectTargetHost of the effect. For item change effects, when the targets of the effect are item renderers, this will be the List or TileList containing the item renderers.
| `target:Object` — The target of the EffectInstance that calls this function. If an effect has multiple targets, this function is called once per target.

Returns

| `Boolean` — Returna `true`, if the target should be included in the effect; otherwise returns `false`.

Wed Nov 15 2017, 09:50 AM +01:00