Skip to content

Commit

Permalink
Switches the whole app to backbone. Oolaa
Browse files Browse the repository at this point in the history
Signed-off-by: Akash Manohar J <akash@akash.im>
  • Loading branch information
HashNuke committed Mar 9, 2012
1 parent f87789a commit 6d0f370
Show file tree
Hide file tree
Showing 45 changed files with 2,420 additions and 364 deletions.
2 changes: 2 additions & 0 deletions Gemfile
Expand Up @@ -19,6 +19,8 @@ group :assets do
gem 'coffee-rails', '~> 3.2.1'

# See https://github.com/sstephenson/execjs#readme for more supported runtimes
gem 'execjs'
gem 'eco'
gem 'therubyracer'

gem 'uglifier', '>= 1.0.3'
Expand Down
7 changes: 7 additions & 0 deletions Gemfile.lock
Expand Up @@ -82,6 +82,11 @@ GEM
devise (= 1.5.3)
rubycas-client (>= 2.2.1)
diff-lcs (1.1.3)
eco (1.0.0)
coffee-script
eco-source
execjs
eco-source (1.1.0.rc.1)
em-http-request (1.0.1)
addressable (>= 2.2.3)
cookiejar
Expand Down Expand Up @@ -218,7 +223,9 @@ DEPENDENCIES
coffee-rails (~> 3.2.1)
devise
devise_bushido_authenticatable
eco
ember-rails!
execjs
factory_girl_rails
faye
jasmine!
Expand Down
6 changes: 3 additions & 3 deletions app/assets/javascripts/application.js
Expand Up @@ -13,7 +13,7 @@
//= require jquery
//= require jquery-ui
//= require jquery_ujs
//= require ember-dev
//= require lib/ember-rest.js
//= require ember/kandan
//= require lib/underscore
//= require lib/backbone
//= require backbone/kandan
//= require_tree .
@@ -0,0 +1,7 @@
class Kandan.Collections.Activities extends Backbone.Collection

urlRoot: ()->
"channels/#{@channel_id}/activities"

initialize: (options)->
@channel_id = @get('channel_id')
@@ -0,0 +1,3 @@
class Kandan.Collections.Channels extends Backbone.Collection
model: Kandan.Models.Channel
url: '/channels'
21 changes: 21 additions & 0 deletions app/assets/javascripts/backbone/kandan.js.coffee
@@ -0,0 +1,21 @@
#= require_self
#= require_tree ../../templates
#= require_tree ./models
#= require_tree ./collections
#= require_tree ./views
#= require_tree ./routers

window.Kandan =
Models: {}
Collections: {}
Views: {}
Routers: {}
init: ->
# new Kandan.Routers.Main()
# Backbone.history.start({pushState: true})
chat_area = new Kandan.Views.ChatArea()
$('.container').html(chat_area.render().el)
# $('.container').append(chat_box)

$(document).ready ->
Kandan.init()
6 changes: 6 additions & 0 deletions app/assets/javascripts/backbone/models/activity.js.coffee
@@ -0,0 +1,6 @@
class Kandan.Models.Activity extends Backbone.Model
urlRoot: ()->
"channels/#{@channel_id}/activities"

initialize: (options)->
@channel_id = @get('channel_id')
11 changes: 11 additions & 0 deletions app/assets/javascripts/backbone/models/channel.js.coffee
@@ -0,0 +1,11 @@
class Kandan.Models.Channel extends Backbone.Model
urlRoot: '/channels'

# initialize: ()->
# console.log @activities

parse: (response)->
activities = new Kandan.Collections.Activities()
activities.add(response.activities)
@activities = activities
response
5 changes: 5 additions & 0 deletions app/assets/javascripts/backbone/models/user.js.coffee
@@ -0,0 +1,5 @@
class Kandan.Models.User extends Backbone.Model
urlRoot: '/users'

initialize: ()->
console.log "initialized user"
9 changes: 9 additions & 0 deletions app/assets/javascripts/backbone/routers/main_router.js.coffee
@@ -0,0 +1,9 @@
class Kandan.Routers.Main extends Backbone.Router

routes:
'': 'index'

index: ()->
view = new Kandan.Views.ChatArea()
$('.container').html(view.render().el)
$('.channels').tabs()
9 changes: 9 additions & 0 deletions app/assets/javascripts/backbone/views/activity.js.coffee
@@ -0,0 +1,9 @@
class Kandan.Views.Activity extends Backbone.View
template: JST['activity']

tagName: 'p'
className: 'activity'

render: ()->
$(@el).html(@template({activity: @options.activity}))
@
18 changes: 18 additions & 0 deletions app/assets/javascripts/backbone/views/chatarea.js.coffee
@@ -0,0 +1,18 @@
class Kandan.Views.ChatArea extends Backbone.View

template: JST['chatarea']
# className: 'channels'

initialize: ()->
@channels = new Kandan.Collections.Channels()

render: ->
@channels.fetch({success: ()=>
$(@el).html(@template({channels: @channels}))
for channel in @channels.models
view = new Kandan.Views.ListActivities({channel: channel})
$(@el).append(view.render().el)
$('#channels').tabs()
})
$(@el).attr('id', 'channels')
@
10 changes: 10 additions & 0 deletions app/assets/javascripts/backbone/views/list_activities.js.coffee
@@ -0,0 +1,10 @@
class Kandan.Views.ListActivities extends Backbone.View
tagName: 'div'
# className: 'activities'

render: ()->
for activity in @options.channel.activities.models
activity_view = new Kandan.Views.Activity({activity: activity})
$(@el).append(activity_view.render().el)
$(@el).attr('id', "channels-#{@options.channel.get('id')}")
@
@@ -0,0 +1,8 @@
class Kandan.Views.ListChannelActivityAreas extends Backbone.View
# template: JST['list_channel_activity_areas']

render: ()->
for channel in @options.channels.models
view = new Kandan.Views.ListActivities({activities: channel.activities})
$(@el).append(view.render().el)
@

This file was deleted.

This file was deleted.

This file was deleted.

Empty file.
8 changes: 0 additions & 8 deletions app/assets/javascripts/ember/kandan.js.coffee

This file was deleted.

Empty file.
2 changes: 0 additions & 2 deletions app/assets/javascripts/ember/models/activity.js.coffee

This file was deleted.

3 changes: 0 additions & 3 deletions app/assets/javascripts/ember/models/channel.js.coffee

This file was deleted.

7 changes: 0 additions & 7 deletions app/assets/javascripts/ember/models/user.js.coffee

This file was deleted.

Empty file.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Empty file.

This file was deleted.

This file was deleted.

5 changes: 0 additions & 5 deletions app/assets/javascripts/ember/views/activities/show.js.coffee

This file was deleted.

6 changes: 0 additions & 6 deletions app/assets/javascripts/ember/views/channels/list.js.coffee

This file was deleted.

5 changes: 0 additions & 5 deletions app/assets/javascripts/ember/views/channels/show.js.coffee

This file was deleted.

2 changes: 0 additions & 2 deletions app/assets/javascripts/init.js.coffee

This file was deleted.

0 comments on commit 6d0f370

Please sign in to comment.