Skip to content
Functional User Interaction Library #experimental #browser #component
JavaScript
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
examples
sources
templates
.gitignore
.jshintrc
Makefile
README.md
binder.js
docs.json
eventchain.js
eventsource.js
index.js
package.json

README.md

fui

This is an experimental library to experiment whether handling of events can neatly be abstracted away from the actual event handling code itself.

NPM

experimental

Example Code

Here is some example code:

var fui = require('fui');

fui()
  .up(function(context, target, x, y) {
    this.state.down = false;
  })
  .filter('canvas')
  .relative()
  .each(function(target) {
     this.args.unshift(target.getContext('2d'));
  })
  .down(function(context, target, x, y) {
    this.state.down = true;

    context.beginPath();
    context.moveTo(x, y);
  })
  .move(function(context, target, x, y) {
    if (this.lastTarget && target !== this.lastTarget) {
      context.moveTo(x, y);
    }
    else if (this.state.down) {
      context.lineTo(x, y);
      context.stroke();
    }
  });

Reference

bind(target, evtName, callback)

EventChain(opts)

each(handler)

filter(selector)

relative()

pipe(target)

down(handler)

up(handler)

move(handler)

_next(evt)

_on(eventName, handler)

_step(stepHandler)

FuiEventSource

add(chain)

handle(eventName)

_createEvent(name, evt)

Something went wrong with that request. Please try again.