diff --git a/assets/scripts/app/app.coffee b/assets/scripts/app/app.coffee index 42641989..311fc067 100644 --- a/assets/scripts/app/app.coffee +++ b/assets/scripts/app/app.coffee @@ -1,4 +1,66 @@ -# $.mockjaxSettings.log = false -# Ember.LOG_BINDINGS = true -# Ember.ENV.RAISE_ON_DEPRECATION = true -# Pusher.log = -> console.log(arguments) +unless window.TravisApplication + window.TravisApplication = Em.Application.extend(Ember.Evented, + authStateBinding: 'auth.state' + signedIn: (-> @get('authState') == 'signed-in' ).property('authState') + + setup: -> + @store = Travis.Store.create( + adapter: Travis.RestAdapter.create() + ) + @store.loadMany(Travis.Sponsor, Travis.SPONSORS) + + @slider = new Travis.Slider() + @pusher = new Travis.Pusher(Travis.config.pusher_key) + @tailing = new Travis.Tailing() + + @set('auth', Travis.Auth.create(app: this, endpoint: Travis.config.api_endpoint)) + + reset: -> + @store.destroy() + @setup() + + @_super.apply(this, arguments); + + lookup: -> + @__container__.lookup.apply this, arguments + + storeAfterSignInPath: (path) -> + @get('auth').storeAfterSignInPath(path) + + autoSignIn: (path) -> + @get('auth').autoSignIn() + + signIn: -> + @get('auth').signIn() + + signOut: -> + @get('auth').signOut() + + receive: -> + @store.receive.apply(@store, arguments) + + toggleSidebar: -> + $('body').toggleClass('maximized') + # TODO gotta force redraws here :/ + element = $('') + $('#top .profile').append(element) + Em.run.later (-> element.remove()), 10 + element = $('') + $('#repo').append(element) + Em.run.later (-> element.remove()), 10 + + setLocale: (locale) -> + return unless locale + I18n.locale = locale + Travis.set('locale', locale) + + defaultLocale: 'en' + + ready: -> + location.href = location.href.replace('#!/', '') if location.hash.slice(0, 2) == '#!' + I18n.fallbacks = true + @setLocale 'locale', @get('defaultLocale') + + currentDate: -> + new Date() + ) diff --git a/assets/scripts/travis.coffee b/assets/scripts/travis.coffee index e30412a0..1f1dbbcd 100644 --- a/assets/scripts/travis.coffee +++ b/assets/scripts/travis.coffee @@ -1,5 +1,6 @@ require 'ext/jquery' require 'ext/ember/namespace' +require 'app' window.ENV ||= {} window.ENV.RAISE_ON_DEPRECATION = true @@ -31,71 +32,7 @@ Storage = Em.Object.extend clear: -> @set('storage', {}) -window.Travis = Em.Application.extend(Ember.Evented, - authStateBinding: 'auth.state' - signedIn: (-> @get('authState') == 'signed-in' ).property('authState') - - setup: -> - @store = Travis.Store.create( - adapter: Travis.RestAdapter.create() - ) - @store.loadMany(Travis.Sponsor, Travis.SPONSORS) - - @slider = new Travis.Slider() - @pusher = new Travis.Pusher(Travis.config.pusher_key) - @tailing = new Travis.Tailing() - - @set('auth', Travis.Auth.create(app: this, endpoint: Travis.config.api_endpoint)) - - reset: -> - @store.destroy() - @setup() - - @_super.apply(this, arguments); - - lookup: -> - @__container__.lookup.apply this, arguments - - storeAfterSignInPath: (path) -> - @get('auth').storeAfterSignInPath(path) - - autoSignIn: (path) -> - @get('auth').autoSignIn() - - signIn: -> - @get('auth').signIn() - - signOut: -> - @get('auth').signOut() - - receive: -> - @store.receive.apply(@store, arguments) - - toggleSidebar: -> - $('body').toggleClass('maximized') - # TODO gotta force redraws here :/ - element = $('') - $('#top .profile').append(element) - Em.run.later (-> element.remove()), 10 - element = $('') - $('#repo').append(element) - Em.run.later (-> element.remove()), 10 - - setLocale: (locale) -> - return unless locale - I18n.locale = locale - Travis.set('locale', locale) - - defaultLocale: 'en' - - ready: -> - location.href = location.href.replace('#!/', '') if location.hash.slice(0, 2) == '#!' - I18n.fallbacks = true - @setLocale 'locale', @get('defaultLocale') - - currentDate: -> - new Date() -).create() +window.Travis = TravisApplication.create() Travis.deferReadiness()