Socket
Socket
Sign inDemoInstall

marionette-animated-region

Package Overview
Dependencies
7
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    marionette-animated-region

Backbone.Marionette animated region based on Velocity.js animation library


Version published
Weekly downloads
199
increased by10.56%
Maintainers
1
Created
Weekly downloads
 

Changelog

Source

1.1.3

  • Fix broken lint script

Readme

Source

Backbone.Marionette animated region based on Velocity.js

Animared region for Backbone.Marionette views based on Velocity.js animation library.

Build Status

Backbone.Marionette animated region is convinient animated plugin based on Velocity.js. It provides you to create beautiful animation effects for your Marionette views.

How to install:

npm install marionette-animated-region

First include Marionette and it dependencies and velocity.js lib.

Browser:

<script>...</script>
<script src="backbone.marionette.js" type="text/javascript"></script>
<script src="velocity.js"></script>
<script src="velocity.ui.js"></script>
<script src="marionette-animated-region.js" type="text/javascript"></script>

Common JS:

var AnimatedRegion = require('marionette-animated-region');

How to use:

The main goodies that Backbone.Marionette animated region uses only region properties and can work as simple Marionette region if you do not define animation. So it's flexible, fast and maximum safety.

var LayoutView = Marionette.LayoutView.extend({
  regions: {
    animatedRegion: {
      selector: '#region_selector',
      regionClass: AnimatedRegion,
      animation: {
        showAnimation: [...],
        hideAnimation: [...]
      }
    }
  }
});

To use animation you must define animation object. It can includes two arrays of effects, you can define only showAnimation or hideAnimation or both. Each element of the array should be Velocity.js animation object.

Basic example:

var LayoutView = Marionette.LayoutView.extend({
  //...

  regions: {
    exampleRegion: {
      selector: '#region_selector',
      regionClass: AnimatedRegion,
      animation: {
        showAnimation: [
          {
            properties: 'transition.slideDownBigIn',
            options: { stagger: 300 }
          }
        ],
        hideAnimation: [
          {
            properties: 'transition.slideUpBigOut',
            options: { stagger: 300 }
          }
        ]
      }
    }
  },

  onRender: function() {
    // this view will render with animation
    this.animatedRegion.show(new Marionette.ItemView());
    // and after 2 second remove with animation
    _.delay(_.bind(function() { this.exampleRegion.empty(); }, this), 2000);
  }
});

new LayoutView({ el: $('#layout_view') }).render();

It's possible to determine set of effects, like:

//...
showAnimation: [
  {
    properties: 'transition.slideRightBigIn',
    options: { stagger: 500 }
  },
  {
    properties: {
      rotateZ: '180deg'
    }
  },
  {
    properties: {
      rotateZ: '90deg'
    }
  },
  //...
],
//...

Events and Callback methods:

Backbone.Marionette animated region includes show and destroy callbacks. In some situations you may need to perform some action only after the animation will take place. So in your event aggregator or Marionette instance you can provide listeners for AnimatedRegion. You may listen two region:shown and region:removed actions.

//...
initialize: function() {
  this.listenTo(AnimatedRegion, 'region:shown', function(region) {
    // region variable contains region which has beed rendered,
    // you can manipulate it
    if (region.options.name) {
      console.log(region.options.name + ' has been rendered');
    }
  });

  this.listenTo(AnimatedRegion, 'region:removed', function(region) {
    console.log(region);
  });
},
//...

Thanks to:

Working examples you can find here

Keywords

FAQs

Last updated on 13 Mar 2016

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc