diff --git a/static/js/app/lib/controller.coffee b/static/js/app/lib/controller.coffee index 043d7b5..296cdb3 100755 --- a/static/js/app/lib/controller.coffee +++ b/static/js/app/lib/controller.coffee @@ -1,26 +1,26 @@ -define ['app', 'marionette', 'vent', - 'models/mix/mixItem', 'views/mix/mixListLayout', 'views/mix/mixListView', 'views/mix/mixDetailView' - 'views/mix/mixEditView', 'views/user/userProfileView', - 'models/user/userItem', 'views/user/userListView', 'views/user/userEditView'], -(App, Marionette, vent, - MixItem, MixListLayout, MixListView, MixDetailView, - MixEditView, UserProfileView, - UserItem, UserListView, UserEditView)-> +define ['app', 'marionette', 'vent', 'utils' + 'views/mix/mixListLayout', 'views/mix/mixListView', 'views/mix/mixDetailView' + 'views/mix/mixEditView', 'views/user/userProfileView', 'views/user/userListView', 'views/user/userEditView', + 'models/mix/mixItem', 'models/mix/mixCollection', 'models/user/userItem'], +(App, Marionette, vent, utils, + MixListLayout, MixListView, MixDetailView, + MixEditView, UserProfileView, UserListView, UserEditView, + MixItem, MixCollection, UserItem)-> class DssController extends Marionette.Controller + initialize: -> + @listenTo(vent, "mix:random", @showRandomMix) + home: -> console.log "Controller: home" @showMixList() - true showMixList: (options) -> app = require('app') app.contentRegion.show(new MixListLayout(options or {order_by: 'latest'})) - true showMixListType: (type) -> @showMixList({order_by: type}) - true showMix: (slug)-> console.log "Controller: showMix" @@ -29,10 +29,17 @@ define ['app', 'marionette', 'vent', mix.fetch( success: -> app.contentRegion.show(new MixDetailView({model: mix})) - true ) - true + showRandomMix: -> + console.log "Controller: showRandomMix" + app = require('app') + mix = new MixItem({id: 'random'}) + mix.fetch( + success: -> + app.contentRegion.show(new MixDetailView({model: mix})) + ) + Backbone.history.navigate "/random", trigger: false uploadMix: -> console.log("Controller: mixUpload") app = require('app') @@ -60,6 +67,7 @@ define ['app', 'marionette', 'vent', app = require('app') app.contentRegion.show(new ChatView()) + showUserList: -> console.log("Controller: showUserList") app = require('app') @@ -76,7 +84,6 @@ define ['app', 'marionette', 'vent', console.log("Error fetching user") ) - showUserFavourites: (slug) -> console.log("Controller: showUserFavourites") @showMixList({order_by: 'latest', favourites__slug: slug}) @@ -109,4 +116,4 @@ define ['app', 'marionette', 'vent', ) true - DssController \ No newline at end of file + DssController