refactor Routes, does not need to be an Ember.Object

This commit is contained in:
Sven Fuchs 2012-07-22 16:45:12 +02:00
parent 24cddfef53
commit f1a60fe39e
6 changed files with 18 additions and 19 deletions

View File

@ -31,10 +31,8 @@ Ember.ENV.RAISE_ON_DEPRECATION = true
@store = Travis.Store.create()
@store.loadMany(Travis.Sponsor, Travis.SPONSORS)
@routes = Travis.Routes.create()
@routes.start()
@pusher = new Travis.Pusher()
@routes = new Travis.Routes()
# @pusher = new Travis.Pusher()
connect: ->
@controller = Em.Controller.create()

View File

@ -1,6 +1,5 @@
Travis.RepositoriesController = Ember.ArrayController.extend
sortProperties: ['sortOrder']
# sortAscending: false
init: ->
@activate('recent')

View File

@ -42,7 +42,7 @@ require 'travis/model'
).property('data.last_build_duration', 'lastBuildStartedAt', 'lastBuildFinishedAt')
sortOrder: (->
- new Date(@get('lastBuildFinishedAt') || '9999').getTime()
- new Date(@get('lastBuildFinishedAt') || '9999').getTime() # cuz sortAscending seems buggy when set to false
).property('lastBuildFinishedAt')
stats: (->

View File

@ -26,7 +26,7 @@ require 'travis/model'
).property('state')
urlJob: (->
"#!/#{@get('repository')}/jobs/#{@get('job_id')}" if @get('state') == 'working'
"/#{@get('repository')}/jobs/#{@get('job_id')}" if @get('state') == 'working'
).property('repository', 'job_id', 'state')
repository: (->

View File

@ -1,6 +1,13 @@
Travis.Routes = Em.Object.extend
BASE_URI: "#{document.location.protocol}//#{document.location.host}"
Travis.Routes = ->
unless Travis.Routes.initialized
Em.routes.set('usesHistory', true)
Em.routes.set('wantsHistory', true)
Em.routes.set('baseURI', @base_uri)
@add(route, target[0], target[1]) for route, target of Travis.Routes.ROUTES
Travis.Routes.initialized = true
$.extend Travis.Routes,
ROUTES:
'profile': ['profile', 'show']
'stats': ['stats', 'show']
@ -13,24 +20,19 @@ Travis.Routes = Em.Object.extend
':owner/:name': ['home', 'current']
'': ['home', 'index']
start: ->
unless @started
Em.routes.set('usesHistory', true)
Em.routes.set('wantsHistory', true)
Em.routes.set('baseURI', @BASE_URI)
@started = true
@add(route, target[0], target[1]) for route, target of @ROUTES
$.extend Travis.Routes.prototype,
base_uri: "#{document.location.protocol}//#{document.location.host}"
add: (route, layout, action) ->
Em.routes.add route, (params) =>
@action(layout, action, params)
route: (event) ->
Em.routes.set('location', event.target.href.replace("#{@BASE_URI}/", ''))
Em.routes.set('location', event.target.href.replace("#{@base_uri}/", ''))
action: (name, action, params) ->
# this needs to be a global reference because Em.routes is global
layout = Travis.app.connectLayout(name)
layout.activate(action, params || {})
$('body').attr('id', name)

File diff suppressed because one or more lines are too long