Skip to content

Instantly share code, notes, and snippets.

@ericf
Created September 7, 2012 14:43
Show Gist options
  • Save ericf/3666772 to your computer and use it in GitHub Desktop.
Save ericf/3666772 to your computer and use it in GitHub Desktop.
YUI.add('user-view', function (Y) {
Y.UserView = Y.Base.create('userView', Y.View, [], {
template: Y.Handlebars.templates['user'],
initializer: function () {
var user = this.get('user');
if (user) {
user.addTarget(this);
}
this.after({
'userChange' : this._afterUserChange,
'user:change': this.render
});
},
render: function () {
var content = this.template(this.get('user').getAttrs());
this.get('container').setHTML(content);
return this;
},
_afterUserChange: function (e) {
if (e.prevVal) {
e.prevVal.removeTarget(this);
}
if (e.newVal) {
e.newVal.addTarget(this);
this.render();
}
}
});
}, '0.0.1', {
requires: ['handlebars-base', 'view', 'templates']
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment