Packagemx.effects
Classpublic class EffectTargetFilter
SubclassesAddRemoveEffectTargetFilter, HideShowEffectTargetFilter

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
 PropertyDefined 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
 MethodDefined by
  
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
 MethodDefined by
  
defaultFilterFunction(propChanges:Array, instanceTarget:Object):Boolean
The default filter function for the EffectTargetFilter class.
EffectTargetFilter
Property detail
filterFunctionproperty
public var filterFunction:Function

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

filterPropertiesproperty 
public var filterProperties:Array

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.

filterStylesproperty 
public var filterStyles:Array

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.

requiredSemanticsproperty 
public var requiredSemantics:Object = null

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()

Constructor.

Method detail
defaultFilterFunction()method
protected function defaultFilterFunction(propChanges:Array, instanceTarget:Object):Boolean

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

filterInstance()method 
public function 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. 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.