Options
Public/Protected
  • Public
  • Public/Protected
  • All
Menu

GoJS API 文档

Hierarchy

  • AnimationTrigger

An AnimationTrigger describes how to automatically animate a property on a GraphObject when it changes value. The target property name is a string, and all name matching is case-sensitive.

Triggers will be shared by all copies of the template's GraphObjects. You can include AnimationTriggers in your templates just like Bindings are included:

$(go.Panel, "Vertical",
// This trigger uses the default value of AnimationTrigger.startCondition:
// If a transaction is ongoing and Panel.position is changed, this trigger will animate
// all changes to Panel.position at the end of the next transaction, in one bundled Animation.
// If no transaction is ongoing, then it will animate this value immediately.
new go.AnimationTrigger("position"),
{
 // ... Panel properties
},
$(go.Shape,
 // Animate all changes to Shape.opacity immediately
 new go.AnimationTrigger("opacity", null, startCondition: go.AnimationTrigger.Immediate),
 {
  // ... Shape properties
 }
)

When the startCondition is AnimationTrigger.Default, GoJS will attempt to AnimationTrigger.Bundled or AnimationTrigger.Immediate based on the state of the transaction. If no transaction is ongoing, this trigger will treat the default as using AnimationTrigger.Immediate. Otherwise it will work as AnimationTrigger.Bundled.

When the startCondition is AnimationTrigger.Bundled, the AnimationManager will use the default animation to prepare a single Animation that begins when the current transaction has ended. This animation may be canceled if a new transaction is started.

When the startCondition is AnimationTrigger.Immediate, a new animation will be created for every instance of the property changed, and started immediately, and run until completion. This may be useful for cosmetic changes, such as animating the opacity or color of an object on mouseEnter or mouseLeave.

You can only specify properties that exist on the GraphObject, and are also registered with AnimationManager.defineAnimationEffect. By default these properties are:

  • "position"
  • "location" (on Parts)
  • "scale"
  • "opacity"
  • "angle"
  • "desiredSize"
  • "width"
  • "height"
  • "background"
  • "areaBackground"
  • "fill" (on Shapes)
  • "strokeWidth" (on Shapes)
  • "strokeDashOffset" (on Shapes)
  • "stroke" (on Shapes, TextBlocks)

Examples of defining additional animation properties are given in the Introduction Page on Animations.

since

2.1

Index

Constructors

constructor

  • new AnimationTrigger(propertyName: string, animationSettings?: object, startCondition?: EnumValue): AnimationTrigger
  • This constructor creates an AnimationTrigger. These are typically constructed within Part templates. Using GraphObject.make it might look like:

     var $ = go.GraphObject.make;
    
    // ...
    $(go.Shape,
      // Animate all changes to Shape.opacity immediately
      new go.AnimationTrigger("opacity", null, startCondition: go.AnimationTrigger.Immediate),
      {
       // ...
      }
    )

    Parameters

    • propertyName: string

      A string naming the target property to animate. This should not be the empty string.

    • Optional animationSettings: object

      An optional Object describing properties to set on animations created by this AnimationTrigger. See the animationSettings property for detail. If set this also defaults the startCondition to AnimationTrigger.Immediate.

      • Optional startCondition: EnumValue

        An optional EnumValue to set the startCondition property.

      Returns AnimationTrigger

    Properties

    animationSettings : object

    propertyName : string

    • Gets or sets the name of the property to animate on the target GraphObject. The default value is set during constructor initalization.

      You can only specify properties that exist on the GraphObject, and are also registered with AnimationManager.defineAnimationEffect. By default these properties are the same as the list of possible Animation effects:

      • "position"
      • "location" (on Parts)
      • "scale"
      • "opacity"
      • "angle"
      • "desiredSize"
      • "width"
      • "height"
      • "background"
      • "areaBackground"
      • "fill" (on Shapes)
      • "strokeWidth" (on Shapes)
      • "strokeDashOffset" (on Shapes)
      • "stroke" (on Shapes, TextBlocks)

      Examples of defining additional properties by adding animation effects are given in the Introduction Page on Animations.

    startCondition : EnumValue

    Methods

    Virtual copy

    • Create a copy of this AnimationTrigger, with the same property values.

      Returns AnimationTrigger

    Constants

    Static Bundled : EnumValue

    Used as a value for startCondition. The AnimationManager will use the default animation to prepare a single Animation that begins when the current transaction has ended. This animation may be canceled if a new transaction is started.

    Static Default : EnumValue

    Used as a value for startCondition. GoJS will attempt to AnimationTrigger.Bundled or AnimationTrigger.Immediate based on the state of the transaction. If no transaction is ongoing, this trigger will be treated as using AnimationTrigger.Immediate, otherwise it will work as AnimationTrigger.Bundled.

    Static Immediate : EnumValue

    Used as a value for startCondition. A new animation will be created for every instance of the property changed, and started immediately, and run until completion. This may be useful for cosmetic changes, such as animating the opacity or color of an object on mouseEnter or mouseLeave. However, using AnimationTrigger.Bundled may be more efficient, as it will create fewer

    加入 GoJS 交流群
    GoJS 交流群 (769862113)