Skip to content

denieler/angular-sequence-events

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 

Repository files navigation

Angular Sequence Events

Library allows you to make sequential execution of events, handlers, broadcasts, etc. in next way:

    var sequence = new Sequence(this.$scope);

    sequence
    .wait('userAction-1')
    .wait('userScroll-1', self.scrollManager)
    .broadcast('userFinished-Scroll-1-Action')
    .wait('userAction-2')
    .wait('userScroll-2', self.scrollManager)
    .exec(myFunction)
    .broadcast('userFinished-Scroll-2-Action')
    .wait('userAction-3')
    .run({
      loopLastAction: true
    });

Library now works for AngularJS, using its $scope events mechanism.

Lib is in ES2015 syntax, so if you need it in ES5, please use babel to transpile.

Action types

Library have now 3 types of functions:

wait (eventName) - to wait when event has been executed

exec (funciton) - executes some code

broadcast (eventName) - broadcasts the event

Mechanism

When you create the sequence you are starting some journey. In which you could use 3 types of functions: wait, exec, broadcast.

example:

    var sequence = new Sequence(this.$scope);

    sequence
    .wait('userAction-1')
    .wait('userScroll-1', self.scrollManager)
    .run();

Here you are waiting for the event userAction-1 from any angular component, then when event has been fired you are going to the next step - waiting for the event userScroll-1. When you pass second parameter in wait function it means that you are calling method userScroll-1 in self.scrollManager object and this method is getting callback as parameter. And when callback will be fired from this object next sequence method will be executed.

About

Sequential code and chained execution of events, handlers, etc.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published