Skip to content
tupai.js is a minimal and flexible javascript mvc framework. providing a robust set of features for building single and multi-page.
JavaScript Other
Find file
Latest commit b0ba449 @deyunanhai Merge pull request #28 from hinovana/fix_socket_hung_up_error
tupaijs serverが socket hang up で落ちないようにする
Failed to load latest commit information.
bin add options to replace server config
examples enable to server separated files on node server
libs fix
releases/web fix some problem
scripts
src fix some problem
templates
tests fix
.gitignore first commit
.npmignore
CNAME add CNAME
LICENSE first commit
Makefile
README.md fix markdown code block syntax
README_jp.md fix readme
bower.json first commit
common.mk fix make problem
favicon.ico first commit
package.json use latest http-proxy and enable https
testData.json first commit
tp-iframe.html first commit
tupai.js fix some problem

README.md

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

Links

Web Site

Examples

API Documentation

Author

bocelli.hu bocelli.hu@gmail.com

Something went wrong with that request. Please try again.