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.
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.
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:
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.
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.