0.0.8 • Published 11 years ago

lilmvc v0.0.8

Weekly downloads
3
License
-
Repository
github
Last release
11 years ago

lilmvc

A li'l mvc framework

Usage

load dist/lilmvc.js or dist/lilmvc.min.js in you browser and call it like this:

(function () {

  var mvc = require('lilmvc');

  var beerModel = mvc.model.extend({

    defaults: {
      isOpen: false
    },

    rules: {
      name: ['required', 'string']
      isOpen: ['required', 'boolean']
    }
    
    open: function () {
      this.isOpen = true;
    }

  });
  
  var beerView = mvc.view.extend({
    
    init: function (bus) {
      
      bus.on(bus.ev.LOAD_BEER, this.render.bind(this));
      this.el.on('click', '.opener', this.open.bind(this, bus));
      
    },
    
    render: function (beer) {
      
      var beerHtml = this.template('beer-template', { beer: beer });
      this.el.html(beerHtml);
      
    },
    
    open: function (bus, ev) {
      
      var name = this.$(ev.target).siblings('label').text();
      bus.emit(bus.ev.BEER_OPEN, name);
      
    }
    
  });

  var beerController = mvc.controller.extend({
    
    events: [
      'LOAD_BEER',
      'OPEN_BEER'
    ],
    
    init: function (bus) {
      
      bus.on(bus.ev.OPEN_BEER, this.open.bind(this));
      
      var dunkelBeer = beerModel.create({ name: 'dunkel' });
      bus.emit(bus.ev.LOAD_BEER, dunkelBeer);
      
    }
    
    open: function (name) {
      
      var beer = beerModel.create({ name: name });
      beer.open();
      //enjoy
      
    }
    
  }); 

  beerController.create({
    '#cuzi': beerView
  });

}());

Documentation

(Coming soon)

License

Copyright (c) 2012 August Hovland Licensed under the MIT license.

0.0.8

11 years ago

0.0.7

11 years ago

0.0.6

11 years ago

0.0.5

11 years ago

0.0.4

11 years ago

0.0.3

11 years ago

0.0.2

11 years ago

0.0.1

11 years ago