Skip to content

Commit

Permalink
templates added
Browse files Browse the repository at this point in the history
  • Loading branch information
serdary committed Mar 18, 2013
1 parent 5fae33c commit 829827b
Show file tree
Hide file tree
Showing 10 changed files with 68 additions and 17 deletions.
2 changes: 2 additions & 0 deletions Gemfile
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ gem 'jquery-rails'


gem "koala" gem "koala"


gem 'rails-backbone'

# Use unicorn as the web server # Use unicorn as the web server
# gem 'unicorn' # gem 'unicorn'


Expand Down
6 changes: 6 additions & 0 deletions Gemfile.lock
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ GEM
coffee-script-source coffee-script-source
execjs execjs
coffee-script-source (1.6.1) coffee-script-source (1.6.1)
ejs (1.0.0)
erubis (2.7.0) erubis (2.7.0)
execjs (1.4.0) execjs (1.4.0)
multi_json (~> 1.0) multi_json (~> 1.0)
Expand Down Expand Up @@ -78,6 +79,10 @@ GEM
activesupport (= 3.2.12) activesupport (= 3.2.12)
bundler (~> 1.0) bundler (~> 1.0)
railties (= 3.2.12) railties (= 3.2.12)
rails-backbone (0.7.2)
coffee-script (~> 2.2.0)
ejs (~> 1.0.0)
railties (>= 3.1.0)
railties (3.2.12) railties (3.2.12)
actionpack (= 3.2.12) actionpack (= 3.2.12)
activesupport (= 3.2.12) activesupport (= 3.2.12)
Expand Down Expand Up @@ -119,6 +124,7 @@ DEPENDENCIES
jquery-rails jquery-rails
koala koala
rails (= 3.2.12) rails (= 3.2.12)
rails-backbone
sass-rails (~> 3.2.3) sass-rails (~> 3.2.3)
sqlite3 sqlite3
turn turn
Expand Down
Empty file.
12 changes: 12 additions & 0 deletions app/assets/javascripts/backbone/templates/feeds/index.jst.ejs
Original file line number Original file line Diff line number Diff line change
@@ -0,0 +1,12 @@
<h1>Feeds</h1>

<a href="#/new">New Feed</a>

<table>
<tr>
<th>From</th>
<th>Message</th>
<th>Type</th>
<th>Like count</th>
</tr>
</table>
13 changes: 13 additions & 0 deletions app/assets/javascripts/backbone/templates/feeds/new.jst.ejs
Original file line number Original file line Diff line number Diff line change
@@ -0,0 +1,13 @@
<h1>New feed</h1>

<form id="new-feed" name="feed">
<div>
<b> message:</b>
<input type="text" name="message" id="message" />
</div>

<div>
<input type="submit" value="Create Feed" />
</div>
</form>
<a href="#">Home</a>
6 changes: 6 additions & 0 deletions app/assets/javascripts/backbone/templates/feeds/show.jst.ejs
Original file line number Original file line Diff line number Diff line change
@@ -0,0 +1,6 @@
<b>From name:</b>
<em><%= from_name %></em>
<b>message:</b>
<em><%= message %></em>

<a href="#">home</a>
7 changes: 7 additions & 0 deletions app/assets/javascripts/backbone/views/feeds/feed_view.js
Original file line number Original file line Diff line number Diff line change
@@ -0,0 +1,7 @@
App.Views.FeedView = Backbone.View.extend({
render: function() {
var template = JST["backbone/templates/feeds/feed"];
$(this.el).html(template(this.model.attributes))
return this;
}
});
28 changes: 18 additions & 10 deletions app/assets/javascripts/backbone/views/feeds/index_view.js
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -8,22 +8,30 @@ App.Views.IndexView = Backbone.View.extend({
$(this.el).find("tbody").append('no feeds yet'); $(this.el).find("tbody").append('no feeds yet');
return; return;
} }
// TODO: use haml-js or jquery templates
for (var i = 0; i < this.feeds.models.length; i++)
this.addOne(this.feeds.models[i].attributes);
},

addOne: function(feed) {

var view = ''; var view = '';
var template = '<tr><td>[from_name]</td><td>[message]</td><td>[feed_type]</td><td>[like_count]</td><td><a href="#/[id]">Show</td></tr>'; var template = '<tr><td>[from_name]</td><td>[message]</td><td>[feed_type]</td><td>[like_count]</td><td><a href="#/[id]">Show</td></tr>';
for (var i = 0; i < this.feeds.models.length; i++) { view = template.replace('[from_name]', feed.from_name).replace('[message]', feed.message)
var feed = this.feeds.models[i].attributes; .replace('[feed_type]', feed.feed_type).replace('[like_count]', feed.like_count).replace('[id]', feed.id);
view += template.replace('[from_name]', feed.from_name).replace('[message]', feed.message)
.replace('[feed_type]', feed.feed_type).replace('[like_count]', feed.like_count).replace('[id]', feed.id);
}


$(this.el).find("tbody").append(view); $(this.el).find("tbody").append(view);
/*
var view = new App.Views.FeedView({ model: feed });
$(this.el).find("tbody").append(view.render().el);*/
}, },


render: function() { render: function() {
var table = '<h1>Feeds</h1><a href="#/new">New Feed</a><table><tr><th>From</th><th>Message</th><th>Type</th><th>Like count</th></tr></table>'; var template = JST["backbone/templates/feeds/index"];
$(this.el).html(table); $(this.el).html(template)

this.addAll(); this.addAll();
return this; // chain return this;
} }
}); });
5 changes: 2 additions & 3 deletions app/assets/javascripts/backbone/views/feeds/new_view.js
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -9,9 +9,8 @@ App.Views.NewView = Backbone.View.extend({
}, },


render: function() { render: function() {
var template = '<h1>New feed</h1><form id="new-feed" name="feed"><div><b> message:</b><input type="text" name="message" id="message" /></div><div><input type="submit" value="Create Feed" /></div></form><a href="#">Home</a>'; var template = JST["backbone/templates/feeds/new"];

$(this.el).html(template(this.model.attributes))
$(this.el).html(template);
return this; return this;
}, },


Expand Down
6 changes: 2 additions & 4 deletions app/assets/javascripts/backbone/views/feeds/show_view.js
Original file line number Original file line Diff line number Diff line change
@@ -1,9 +1,7 @@
App.Views.ShowView = Backbone.View.extend({ App.Views.ShowView = Backbone.View.extend({
render: function() { render: function() {
var template = '<b>From name:</b><em>[from_name]</em><b>message:</b><em>[message]</em><a href="#">home</a>'; var template = JST["backbone/templates/feeds/show"];

$(this.el).html(template(this.model.attributes))
var view = template.replace('[from_name]', this.model.attributes.from_name).replace('[message]', this.model.attributes.message);
$(this.el).html(view);
return this; return this;
} }
}); });

0 comments on commit 829827b

Please sign in to comment.