17de7cfc5f1685fc3317a71831900a07438eaac6
[profile/ivi/cowhide.git] / examples / calf / javascripts / app / router.js
1 (function(app, Ember) {
2     'use strict';
3
4     var Router = Ember.Router.extend({
5         location: 'hash',
6
7         root: Ember.Route.extend({
8             showArtists: Ember.Route.transitionTo('artists'),
9             showArtistsAlbums: Ember.Router.transitionTo('artists_albums'),
10
11             showAlbums: Ember.Route.transitionTo('albums'),
12             showAlbumsSongs: Ember.Route.transitionTo('albums_songs'),
13             showSongs: Ember.Route.transitionTo('songs'),
14
15             showVolumeControl: function(router) {
16                 var controller = router.get('volumeControlController');
17                 controller.set("display", true);
18             },
19
20             hideVolumeControl: function(router) {
21                 var controller = router.get('volumeControlController');
22                 controller.set("display", false);
23             },
24
25             index: Ember.Route.extend({
26                 route: '/',
27                 redirectsTo: 'artists'
28             }),
29
30             artists: Ember.Route.extend({
31                 route: '/artists',
32                 connectOutlets: function(router) {
33                     var controller = router.get('applicationController');
34                     controller.connectOutlet('library', 'artists', app.Artist.find());
35                     controller.connectOutlet('now_playing', 'nowPlaying');
36                     controller.connectOutlet('volume_control', 'volumeControl');
37                 }
38             }),
39
40             artists_albums: Ember.Route.extend({
41                 route: '/artist/:artist_id/albums',
42                 connectOutlets: function (router, artist) {
43                     var controller = router.get('applicationController');
44                     controller.connectOutlet('library', 'albums', app.Album.find(artist));
45                     controller.connectOutlet('now_playing', 'nowPlaying');
46                     controller.connectOutlet('volume_control', 'volumeControl');
47                 }
48             }),
49
50             albums: Ember.Route.extend({
51                 route: '/albums',
52                 connectOutlets: function(router) {
53                     var controller = router.get('applicationController');
54                     controller.connectOutlet('library', 'albums', app.Album.find());
55                     controller.connectOutlet('now_playing', 'nowPlaying');
56                     controller.connectOutlet('volume_control', 'volumeControl');
57                 }
58             }),
59
60             albums_songs: Ember.Route.extend({
61                 route: '/albums/:album_id/songs',
62                 connectOutlets: function(router, album) {
63                     var controller = router.get('applicationController');
64                     controller.connectOutlet('library', 'songs', app.Song.find(album));
65                     controller.connectOutlet('now_playing', 'nowPlaying');
66                     controller.connectOutlet('volume_control', 'volumeControl');
67                 }
68             }),
69
70             songs: Ember.Route.extend({
71                 route: '/songs',
72                 connectOutlets: function(router) {
73                     var controller = router.get('applicationController');
74                     controller.connectOutlet('library', 'songs', app.Song.find());
75                     controller.connectOutlet('now_playing', 'nowPlaying');
76                     controller.connectOutlet('volume_control', 'volumeControl');
77                 }
78             })
79         })
80     });
81
82     app.Router = Router;
83 })(window.Calf, window.Ember);