tupaijs v0.1.12
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 tupaijsGenerate project Use tupaijs command.
tupaijs new helloworldStart server. cd helloworld; tupaijs server
Open in browser.
http://localhost:9800That's ALL!!!
Creating master detail view
Generate controller.
tupaijs g controller subEdit 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();
});License
Author
bocelli.hu bocelli.hu@gmail.com