travis-web/assets/scripts/app/views.coffee
Piotr Sarnacki 5065bb5739 Subscribe to pusher channels only when entering the MainRoute
We don't want to subscribe if we're at any other routes, because there is no
data there. The main target is to avoid all of the notifications from a common
channel if we're on the /dashboard route.
2015-01-15 10:36:35 +01:00

106 lines
2.7 KiB
CoffeeScript

require 'ext/ember/namespace'
require 'views/view'
Em.View.reopen
init: ->
this.container ||= Travis.__container__
@_super.apply(this, arguments)
Travis.NotFoundView = Ember.View.extend
layoutName: 'layouts/simple'
Travis.MainView = Travis.View.extend
layoutName: 'layouts/home'
classNames: ['application']
@Travis.NoOwnedReposView = Ember.View.extend
templateName: 'pro/no_owned_repos'
Travis.GettingStartedView = Travis.View.extend
templateName: (->
if Travis.config.pro
'pro/no_owned_repos'
else
'no_owned_repos'
).property()
Travis.AuthSigninView = Travis.View.extend
layoutName: 'layouts/simple'
Travis.InsufficientOauthPermissionsView = Travis.View.extend
layoutName: 'layouts/simple'
classNames: ['application']
Travis.FirstSyncView = Travis.View.extend
layoutName: 'layouts/simple'
classNames: ['application']
didInsertElement: ->
this.addObserver('controller.isSyncing', this, this.isSyncingDidChange)
willDestroyElement: ->
this.removeObserver('controller.isSyncing', this, this.isSyncingDidChange)
isSyncingDidChange: ->
if !@get('controller.isSyncing')
self = this
Ember.run.later this, ->
Travis.Repo.fetch(member: @get('controller.user.login')).then( (repos) ->
if repos.get('length')
self.get('controller').transitionToRoute('index')
else
self.get('controller').transitionToRoute('profile')
).then(null, (e) ->
console.log('There was a problem while redirecting from first sync', e)
)
, Travis.config.syncingPageRedirectionTime
Travis.SidebarView = Travis.View.extend
templateName: 'layouts/sidebar'
didInsertElement: ->
@_super.apply this, arguments
classQueues: (->
'active' if @get('activeTab') == 'queues'
).property('activeTab')
classWorkers: (->
'active' if @get('activeTab') == 'workers'
).property('activeTab')
classJobs: (->
'active' if @get('activeTab') == 'jobs'
).property('activeTab')
Travis.QueueItemView = Travis.View.extend
tagName: 'li'
Travis.RunningJobsView = Em.View.extend
templateName: 'jobs'
elementId: 'running-jobs'
Travis.QueueView = Em.View.extend
templateName: 'queues/show'
init: ->
@_super.apply this, arguments
@set 'controller', @get('controller').container.lookup('controller:queues')
require 'views/accounts'
require 'views/annotation'
require 'views/application'
require 'views/build'
require 'views/events'
require 'views/flash'
require 'views/job'
require 'views/log'
require 'views/repo'
require 'views/profile'
require 'views/stats'
require 'views/signin'
require 'views/top'
require 'views/status_images'
require 'views/status_image_input'
require 'views/dashboard'