Skip to content

Commit

Permalink
Merge pull request tastejs#206 from petermichaux/master
Browse files Browse the repository at this point in the history
update to latest maria.js
  • Loading branch information
addyosmani committed Jul 5, 2012
2 parents 40b8c02 + cc16735 commit 8488fad
Show file tree
Hide file tree
Showing 8 changed files with 584 additions and 76 deletions.
619 changes: 561 additions & 58 deletions labs/architecture-examples/maria/lib/maria/maria.js

Large diffs are not rendered by default.

12 changes: 8 additions & 4 deletions labs/architecture-examples/maria/src/js/bootstrap.js
Expand Up @@ -2,15 +2,19 @@ maria.addEventListener(window, 'load', function() {
var loading = document.getElementById('loading');
loading.parentNode.removeChild(loading);

var model;
if ((typeof localStorage === 'object') && (typeof JSON === 'object')) {
var store = localStorage.getItem('todos-maria');
var model = store ? checkit.TodosModel.fromJSON(JSON.parse(store)) :
new checkit.TodosModel();
model = store ? checkit.TodosModel.fromJSON(JSON.parse(store)) :
new checkit.TodosModel();
evento.addEventListener(model, 'change', function() {
localStorage.setItem('todos-maria', JSON.stringify(model.toJSON()));
});
}
else {
model = new checkit.TodosModel();
}

var app = new checkit.TodosAppView(model);
document.body.appendChild(app.getRootEl());
var view = new checkit.TodosAppView(model);
document.body.appendChild(view.build());
});
11 changes: 7 additions & 4 deletions labs/architecture-examples/maria/src/js/views/TodoView.js
Expand Up @@ -10,22 +10,25 @@ maria.ElementView.subclass(checkit, 'TodoView', {
'blur .todo-input' : 'onBlurInput'
},
properties: {
update: function() {
buildData: function() {
var model = this.getModel();
var content = model.getContent();
this.find('.todo-content').innerHTML =
content.replace('&', '&amp;').replace('<', '&lt;');
this.find('.check').checked = model.isDone();
aristocrat[model.isDone() ? 'addClass' : 'removeClass'](this.getRootEl(), 'done');
aristocrat[model.isDone() ? 'addClass' : 'removeClass'](this.find('.todo'), 'done');
},
update: function() {
this.buildData();
},
showEdit: function() {
var input = this.find('.todo-input');
input.value = this.getModel().getContent();
aristocrat.addClass(this.getRootEl(), 'editing');
aristocrat.addClass(this.find('.todo'), 'editing');
input.select();
},
showDisplay: function() {
aristocrat.removeClass(this.getRootEl(), 'editing');
aristocrat.removeClass(this.find('.todo'), 'editing');
},
getInputValue: function() {
return this.find('.todo-input').value;
Expand Down
4 changes: 0 additions & 4 deletions labs/architecture-examples/maria/src/js/views/TodosAppView.js
Expand Up @@ -8,10 +8,6 @@ maria.ElementView.subclass(checkit, 'TodosAppView', {
},
initialize: function() {
var model = this.getModel();
if (!model) {
model = new checkit.TodosModel();
this.setModel(model);
}
this.appendChild(new checkit.TodosInputView(model));
this.appendChild(new checkit.TodosToolbarView(model));
this.appendChild(new checkit.TodosListView(model));
Expand Down
@@ -1,5 +1,4 @@
maria.ElementView.subclass(checkit, 'TodosInputView', {
modelConstructor: checkit.TodosModel,
uiActions: {
'focus .new-todo': 'onFocusInput' ,
'blur .new-todo': 'onBlurInput' ,
Expand Down
@@ -1,5 +1,4 @@
maria.SetView.subclass(checkit, 'TodosListView', {
modelConstructor: checkit.TodosModel,
properties: {
createChildView: function(todoModel) {
return new checkit.TodoView(todoModel);
Expand Down
@@ -1,8 +1,10 @@
maria.ElementView.subclass(checkit, 'TodosStatsView', {
modelConstructor: checkit.TodosModel,
properties: {
update: function() {
buildData: function() {
this.find('.todos-count').innerHTML = this.getModel().length;
},
update: function() {
this.buildData();
}
}
});
@@ -1,17 +1,19 @@
maria.ElementView.subclass(checkit, 'TodosToolbarView', {
modelConstructor: checkit.TodosModel,
uiActions: {
'click .allCheckbox' : 'onClickAllCheckbox' ,
'click .markallDone' : 'onClickMarkAllDone' ,
'click .markallUndone' : 'onClickMarkAllUndone',
'click .deleteComplete': 'onClickDeleteDone'
},
properties: {
update: function() {
buildData: function() {
var model = this.getModel();
var checkbox = this.find('.allCheckbox');
checkbox.checked = model.isAllDone();
checkbox.disabled = model.isEmpty();
},
update: function() {
this.buildData();
}
}
});

0 comments on commit 8488fad

Please sign in to comment.