DG DC OMG FORMZ

This commit is contained in:
Dennis Collinson 2012-03-07 12:08:04 -08:00
parent 9fbc4b745a
commit 3a47590d06
9 changed files with 33 additions and 20 deletions

View file

@ -43,6 +43,7 @@ javascripts:
- public/javascripts/app/helpers/* - public/javascripts/app/helpers/*
- public/javascripts/app/router.js - public/javascripts/app/router.js
- public/javascripts/app/views.js - public/javascripts/app/views.js
- public/javascripts/app/forms.js
- public/javascripts/app/models/post.js - public/javascripts/app/models/post.js
- public/javascripts/app/models/* - public/javascripts/app/models/*
- public/javascripts/app/pages/* - public/javascripts/app/pages/*
@ -51,6 +52,7 @@ javascripts:
- public/javascripts/app/views/content_view.js - public/javascripts/app/views/content_view.js
- public/javascripts/app/views/*.js - public/javascripts/app/views/*.js
- public/javascripts/app/views/**/*.js - public/javascripts/app/views/**/*.js
- public/javascripts/app/forms/*.js
- public/javascripts/diaspora.js - public/javascripts/diaspora.js
- public/javascripts/helpers/*.js - public/javascripts/helpers/*.js

View file

@ -4,6 +4,7 @@ var app = {
helpers: {}, helpers: {},
views: {}, views: {},
pages: {}, pages: {},
forms: {},
user: function(userAttrs) { user: function(userAttrs) {
if(userAttrs) { return this._user = new app.models.User(userAttrs) } if(userAttrs) { return this._user = new app.models.User(userAttrs) }

View file

@ -1,22 +1,8 @@
app.views.PostForm = app.views.Base.extend({ app.forms.Base = app.views.Base.extend({
templateName : "post-form",
events :{ events :{
'submit form' : 'setModelAttributes' 'submit form' : 'setModelAttributes'
}, },
// subviews : {
// ".aspect_form" : "aspectDropdown"
// },
formAttrs : {
".text" : "text"
},
// initialize : function(){
//// this.aspectsDropdown = new app.views.AspectDropdown()
// },
setModelAttributes : function(evt){ setModelAttributes : function(evt){
if(evt){ evt.preventDefault(); } if(evt){ evt.preventDefault(); }
@ -30,4 +16,4 @@ app.views.PostForm = app.views.Base.extend({
this.model.set(_.inject(this.formAttrs, setValueFromField, {})) this.model.set(_.inject(this.formAttrs, setValueFromField, {}))
this.model.trigger("setFromForm") this.model.trigger("setFromForm")
} }
}); })

View file

@ -0,0 +1,16 @@
app.forms.Post = app.forms.Base.extend({
templateName : "post-form",
subviews : {
".aspect_selector" : "aspectsDropdown"
},
formAttrs : {
".text" : "text",
// ".aspect_ids" : "aspect_ids"
},
initialize : function(){
this.aspectsDropdown = new app.views.AspectsDropdown()
}
});

View file

@ -5,7 +5,7 @@ app.pages.PostNew = app.views.Base.extend({
initialize : function(){ initialize : function(){
this.model = new app.models.StatusMessage() this.model = new app.models.StatusMessage()
this.postForm = new app.views.PostForm({model : this.model}) this.postForm = new app.forms.Post({model : this.model})
this.model.bind("setFromForm", this.saveModel, this) this.model.bind("setFromForm", this.saveModel, this)
}, },

View file

@ -9,7 +9,10 @@ app.views.Base = Backbone.View.extend({
}, },
setupRenderEvents : function(){ setupRenderEvents : function(){
this.model.bind('remove', this.remove, this); if(this.model) {
//this should be in streamobjects view
this.model.bind('remove', this.remove, this);
}
// this line is too generic. we usually only want to re-render on // this line is too generic. we usually only want to re-render on
// feedback changes as the post content, author, and time do not change. // feedback changes as the post content, author, and time do not change.

View file

@ -0,0 +1,3 @@
app.views.AspectsDropdown = app.views.Base.extend({
templateName : "aspects-dropdown"
})

View file

@ -1,7 +1,7 @@
describe("app.views.PostForm", function(){ describe("app.forms.Post", function(){
beforeEach(function(){ beforeEach(function(){
this.post = new app.models.Post(); this.post = new app.models.Post();
this.view = new app.views.PostForm({model : this.post}) this.view = new app.forms.Post({model : this.post})
}) })
describe("rendering", function(){ describe("rendering", function(){

View file

@ -46,6 +46,7 @@ src_files:
- public/javascripts/app/helpers/* - public/javascripts/app/helpers/*
- public/javascripts/app/router.js - public/javascripts/app/router.js
- public/javascripts/app/views.js - public/javascripts/app/views.js
- public/javascripts/app/forms.js
- public/javascripts/app/models/post.js - public/javascripts/app/models/post.js
- public/javascripts/app/models/* - public/javascripts/app/models/*
- public/javascripts/app/collections/* - public/javascripts/app/collections/*
@ -54,6 +55,7 @@ src_files:
- public/javascripts/app/views/*.js - public/javascripts/app/views/*.js
- public/javascripts/app/views/**/*.js - public/javascripts/app/views/**/*.js
- public/javascripts/app/pages/**/*.js - public/javascripts/app/pages/**/*.js
- public/javascripts/app/forms/**/*.js
- public/javascripts/mobile.js - public/javascripts/mobile.js
- public/javascripts/contact-list.js - public/javascripts/contact-list.js