[API] Begin adding View

This commit is contained in:
Victor Woeltjen
2016-05-27 15:31:54 -07:00
parent a29c7a6eab
commit 7ece5897e8
3 changed files with 52 additions and 1 deletions

View File

@ -1,4 +1,11 @@
define(function () {
define([
"text!./todo.html",
"text!./todo-task.html",
"zepto"
], function (todoTemplate, taskTemplate, $) {
/**
* @param {mct.MCT} mct
*/
return function todoPlugin(mct) {
var todoType = new mct.Type({
metadata: {
@ -12,6 +19,29 @@ define(function () {
creatable: true
});
todoType.view(mct.regions.main, function (domainObject) {
var view = new mct.View();
function render() {
var domainObject = view.model();
var $els = $(view.elements());
var tasks = domainObject.getModel().tasks;
var $message = $els.find('.example-message');
var $buttons = {
all: $els.find('.example-todo-button-all'),
incomplete: $els.find('.example-todo-button-incomplete'),
complete: $els.find('.example-todo-button-complete')
};
$message.toggle(tasks.length < 1);
}
view.elements($(todoTemplate));
view.on('model', render);
view.model(domainObject);
return view;
});
mct.type('example.todo', todoType);
return mct;