/masseuse

masseuse is a helper library for Backbone. It has optionally async lifecycle methods, 2 way DOM binding to Models, Collections, and Views via Rivets, Child Views, Proxy & Computed Properties, plus more.

Primary LanguageJavaScriptMIT LicenseMIT

masseuse Bower version Build Status

Version: 3.0.0-alpha

Bower pulls from the bower branch (build badge is showing results for bower branch):

https://github.com/Solid-Interactive/masseuse

Docs & Tests

Installation

You can use either grunt-init to setup your initial project scaffolding or bower to pull in masseuse as a dependency to an existing project.

  1. Use the grunt-init-masseuse template to create your initial project scaffolding:

    # after following the setup instructions on grunt-init-masseuse
    cd my-new-project
    grunt-init masseuse
    [answer some questions about your project]
    npm install && bower install && grunt server
    
  2. Pull masseuse into an existing project:

    bower install masseuse
    1. Include it as a package in your requirejs config:

      require.config({
          ...
          packages : [
              {
                  name : 'masseuse',
                  location : 'components/masseuse/app'
              }
          ]
          ...
      });

Description

Masseuse is a Backbone helper library that uses RequireJS AMDs.

Masseuse does the following:

  1. Adds lifecycle methods to Views that are optionally async using jQuery promises.
  2. Allows simiple two way binding between DOM and Model / Colection data through a View with Rivets support
  3. Allows easier separation of Views into a config containing options and functionality sections by providing several declarative shortcuts.
  4. Adds support for adding child Views.
  5. Provides Proxy and Computed Properties for Masseuse Models
  6. Support getters and setters using dot notation with support for nested models.
  7. Provides a Masseuse Router extension of the Backbone Router with a before routing callback.

Additionally there is support for append or replacing the el of views, optional plugin methods on view initialization, and a channels singleton for use as an event bus.

Usage

Look at the tests for example usage. More documentation coming soon.

Contributing

Fork git repo, then:

bower install

For use in the browser:

npm install -g grunt-cli

To setup headless browses testing:

npm install -g mocha-phantomjs phantomjs

grunt test runs, opens, and watches the tests in the browser. Pull requests welcomed! grunt test-cli runs tests headless.

Utilities

  • grunt task called notes:since to show release notes since a version number (have to match versions exactly)

    # all release notes
    grunt notes:since
    
    # all release notes since 1.0.0
    grunt notes:since:1.0.0
    
    # all release notes since the beginning until 0.0.3
    grunt notes:since::0.0.3

Release Notes

Contributors (git shortlog -s -n)

  • Peter Ajtai
  • Greg Larrenaga
  • Cooper Hilscher
  • Jonathan Waltner
  • kaijarayne
  • Andrew Gurinovich
  • michael.fenwick
  • Travis McHattie
  • Jesse McCabe
  • Main Conf Room

Compiled file. Do not modify directly. Created: 2014-12-05 02:02:37