tupaijs

0.1.12 • Public • Published

tupai.js is a minimal and flexible javascript mvc framework. providing a robust set of features for building single and multi-page.

Package

  • Namespaces are needed because there can be many functions, variables for classes in one program and they can conflict with the existing names of variables, functions and classes.

HTML Template

  • Roles of engineers and mark-up is clear.
  • Customizable template engine. (You can work with, such as mustache).

CLI

  • Automatic source code generation.
  • Start a test server.
  • Make files for release.
  • etc ...

Getting started

Install with npm. If you were not installed node, install node (Joyent, Inc,).

npm install tupaijs

Generate project Use tupaijs command.

tupaijs new helloworld

Start server. cd helloworld; tupaijs server

Open in browser.

http://localhost:9800

That's ALL!!!

Creating master detail view

Generate controller.

tupaijs g controller sub

Edit templates/helloworld/Templates.html add an button to "div#helloworld.RootViewController.content".

<button data-ch-id="btnGotoSub">goto sub</button>

Edit templates/helloworld/Templates.html add an button to "div#helloworld.SubViewController.content".

<button data-ch-id="btnBack">back</button>

Edit RootViewController.js

First, in order to change the contents of the text that is displayed on the screen, viewInit function is modified as follows.

viewInit: function() {
    var view = new cp.View({
       template:cp.Templates.get('helloworld.RootViewController.content'),
        templateParameters: {
            lbl: 'RootViewController'
        }
    });
    this.setContentView(view);
},

ViewDidLoad function is as follows, adding the processing of the back button.

viewDidLoad: function (view) {
    var This = this;
    view.findViewById('btnGotoSub').bind('click', function() {
        This._window.transitWithHistory('/sub');
    });
},

Edit SubViewController.js

First, in order to change the contents of the text that is displayed on the screen, viewInit function is modified as follows.

viewInit: function() {
    var view = new cp.View({
        template: cp.Templates.get('helloworld.SubViewController.content'),
        templateParameters: {
            lbl: 'SubViewController'
        }
    });
    this.setContentView(view);
},

ViewDidLoad function is as follows, adding the processing of the back button.

var This = this;
view.findViewById('btnBack').bind('click', function() {
    This._window.back();
});

view source

License

MIT

Author

bocelli.hu bocelli.hu@gmail.com

Package Sidebar

Install

npm i tupaijs

Homepage

tupaijs.com/

Weekly Downloads

13

Version

0.1.12

License

none

Last publish

Collaborators

  • deyunanhai