Skip to content
Functional User Interaction Library #experimental #browser #component
JavaScript
Find file
Latest commit c459b11 @DamonOehlman gendocs
Failed to load latest commit information.
examples Tweaked draw example to use browserify
sources Major rewrite to work in CommonJS style
templates
.gitignore Initial commit
.jshintrc Major rewrite to work in CommonJS style
Makefile Rebuild with updated interleave version, added component.json
README.md gendocs
binder.js Major rewrite to work in CommonJS style
docs.json Major rewrite to work in CommonJS style
eventchain.js Major rewrite to work in CommonJS style
eventsource.js Major rewrite to work in CommonJS style
index.js gendocs
package.json Bump version to 0.1.0

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.