From b5bda962f9167a6a17351062532fe78066b3c53c Mon Sep 17 00:00:00 2001 From: Piotr Sarnacki Date: Fri, 22 Feb 2013 23:15:43 +0100 Subject: [PATCH] Remove old router --- assets/scripts/app/routes.coffee | 375 ------------------------------- 1 file changed, 375 deletions(-) diff --git a/assets/scripts/app/routes.coffee b/assets/scripts/app/routes.coffee index 54be2f3b..50a11562 100644 --- a/assets/scripts/app/routes.coffee +++ b/assets/scripts/app/routes.coffee @@ -1,378 +1,3 @@ -#require 'travis/location' -# -#Ember.Route.reopen -# enter: (router) -> -# @_super(router) -# _gaq.push(['_trackPageview', @absoluteRoute(router)]) if @get('isLeafRoute') && _gaq? -# -defaultRoute = Ember.Route.extend - route: '/' - index: 1000 - -lineNumberRoute = Ember.Route.extend - route: '#L:number' - index: 1 - connectOutlets: (router) -> - router.saveLineNumberHash() - - dynamicSegmentPattern: "([0-9]+)" - -Travis.OldRouter = Ember.Object.extend - location: 'travis' - # enableLogging: true - enableLogging: false - initialState: 'loading' - - # showRoot: Ember.Route.transitionTo('root.home.show') - # showStats: Ember.Route.transitionTo('root.stats') - # - # showRepo: Ember.Route.transitionTo('root.home.repo.show') - # showBuilds: Ember.Route.transitionTo('root.home.repo.builds.index') - # showBuild: Ember.Route.transitionTo('root.home.repo.builds.show') - # showPullRequests: Ember.Route.transitionTo('root.home.repo.pullRequests') - # showBranches: Ember.Route.transitionTo('root.home.repo.branches') - # showEvents: Ember.Route.transitionTo('root.home.repo.events') - # showJob: Ember.Route.transitionTo('root.home.repo.job') - # - # showProfile: Ember.Route.transitionTo('root.profile') - # showAccount: Ember.Route.transitionTo('root.profile.account') - # showUserProfile: Ember.Route.transitionTo('root.profile.account.profile') - - saveLineNumberHash: (path) -> - Ember.run.next this, -> - path = path || @get('location').getURL() - if match = path.match(/#L\d+$/) - @set 'repoController.lineNumberHash', match[0] - - reload: -> - console.log 'Triggering reload' - url = @get('location').getURL() - @transitionTo('loading') - # Without ember next @route sometimes hit the place where HistoryLocation - # does not have any state set up yet, so it's best to defer it a little bit. - Ember.run.next this, -> - @route(url) - - signedIn: -> - !!Travis.app.get('auth.user') - - needsAuth: (path) -> - path.indexOf('/profile') == 0 - - afterSignOut: -> - @authorize('/') - - loading: Ember.Route.extend - routePath: (router, path) -> - router.saveLineNumberHash(path) - router.authorize(path) - Travis.app.autoSignIn() unless router.signedIn() - - authorize: (path) -> - if !@signedIn() && @needsAuth(path) - Travis.app.storeAfterSignInPath(path) - @transitionTo('root.auth') - else - @transitionTo('root') - @route(path) - - root: Ember.Route.extend - route: '/' - loading: Ember.State.extend() - afterSignIn: (-> ) - - auth: Ember.Route.extend - route: '/auth' - customRegexp: /^\/?auth($|\/)/ - connectOutlets: (router) -> - router.get('applicationView').connectLayout 'simple' - $('body').attr('id', 'auth') - router.get('applicationController').connectOutlet('top', 'top') - router.get('applicationController').connectOutlet('main', 'signin') - - afterSignIn: (router, path) -> - router.route(path || '/') - - stats: Ember.Route.extend - route: '/stats' - customRegexp: /^\/?stats($|\/)/ - connectOutlets: (router) -> - router.get('applicationView').connectLayout 'simple' - $('body').attr('id', 'stats') - router.get('applicationController').connectOutlet 'top', 'top' - router.get('applicationController').connectOutlet 'main', 'stats' - - profile: Ember.Route.extend - initialState: 'index' - route: '/profile' - - connectOutlets: (router) -> - router.get('applicationView').connectLayout 'profile' - $('body').attr('id', 'profile') - router.get('accountsController').set('content', Travis.Account.find()) - router.get('applicationController').connectOutlet 'top', 'top' - router.get('applicationController').connectOutlet 'left', 'accounts' - router.get('applicationController').connectOutlet 'flash', 'flash' - - index: Ember.Route.extend - route: '/' - connectOutlets: (router) -> - router.get('applicationController').connectOutlet 'main', 'profile' - router.get('profileController').activate 'hooks' - - account: Ember.Route.extend - initialState: 'index' - route: '/:login' - - connectOutlets: (router, account) -> - if account - params = { login: account.get('login') } - router.get('profileController').setParams(params) - else - router.send 'showProfile' - - deserialize: (router, params) -> - controller = router.get('accountsController') - - unless controller.get 'content' - controller.set('content', Travis.Account.find()) - - account = controller.findByLogin(params.login) - - if account - account - else - deferred = $.Deferred() - - observer = -> - if account = controller.findByLogin(params.login) - controller.removeObserver 'content.length', observer - deferred.resolve account - controller.addObserver 'content.length', observer - - deferred.promise() - - serialize: (router, account) -> - if account - { login: account.get('login') } - else - {} - - index: Ember.Route.extend - route: '/' - connectOutlets: (router) -> - router.get('profileController').activate 'hooks' - - profile: Ember.Route.extend - route: '/profile' - - connectOutlets: (router) -> - router.get('profileController').activate 'user' - - home: Ember.Route.extend - route: '/' - connectOutlets: (router) -> - router.get('applicationView').connectLayout 'home' - $('body').attr('id', 'home') - router.get('applicationController').connectOutlet 'left', 'repos' - router.get('applicationController').connectOutlet 'right', 'sidebar' - router.get('applicationController').connectOutlet 'top', 'top' - router.get('applicationController').connectOutlet 'main', 'repo' - router.get('applicationController').connectOutlet 'flash', 'flash' - router.get('reposController').activate() - router.get('repoController').set('repos', router.get('reposController')) - - show: Ember.Route.extend - route: '/' - connectOutlets: (router) -> - router.get('repoController').activate('index') - - initialState: 'default' - default: defaultRoute - lineNumber: lineNumberRoute - - showWithLineNumber: Ember.Route.extend - route: '/#/L:number' - connectOutlets: (router) -> - router.get('repoController').activate('index') - - repo: Ember.Route.extend - route: '/:owner/:name' - dynamicSegmentPattern: "([^/#]+)" - - connectOutlets: (router, repo) -> - if repo && repo.constructor != Travis.Repo - repo = Travis.Repo.find(repo.id) - router.get('repoController').set 'repo', repo - - deserialize: (router, params) -> - slug = "#{params.owner}/#{params.name}" - repos = Travis.Repo.bySlug(slug) - deferred = $.Deferred() - - observer = -> - if repos.get 'isLoaded' - repos.removeObserver 'isLoaded', observer - deferred.resolve repos.objectAt(0) - - if repos.length - deferred.resolve repos[0] - else - repos.addObserver 'isLoaded', observer - - deferred.promise() - - serialize: (router, repo) -> - if typeof repo == 'string' - [owner, name] = repo.split '/' - { owner: owner, name: name } - else if repo && repo.constructor == Travis.Repo - { owner: repo.get('owner'), name: repo.get('name') } - else if repo && repo.id && repo.slug - [owner, name] = repo.slug.split '/' - { owner: owner, name: name } - else - # TODO: it would be nice to handle 404 somehow - {} - - show: Ember.Route.extend - route: '/' - connectOutlets: (router) -> - router.get('repoController').activate('current') - - initialState: 'default' - default: defaultRoute - lineNumber: lineNumberRoute - - builds: Ember.Route.extend - route: '/builds' - - index: Ember.Route.extend - route: '/' - connectOutlets: (router, repo) -> - router.get('repoController').activate 'builds' - - show: Ember.Route.extend - route: '/:build_id' - connectOutlets: (router, build) -> - unless build.get - # TODO: apparently when I use id in url, it will pass it - # here, why doesn't it use deserialize? - build = Travis.Build.find(build) - router.get('repoController').set 'build', build - router.get('repoController').activate 'build' - - serialize: (router, build) -> - if build.get - { build_id: build.get('id') } - else - { build_id: build } - - deserialize: (router, params) -> - # Something is wrong here. If I don't use deferred, id is not - # initialized and url ends up being /jobs/null - # This should not be needed, as id should be immediately set on the - # record. - # TODO: find out why it happens - build = Travis.Build.find params.build_id - - if build.get 'id' - build - else - deferred = $.Deferred() - - observer = -> - if build.get 'id' - build.removeObserver 'id', observer - deferred.resolve build - - build.addObserver 'id', observer - - deferred.promise() - - # TODO: this is not dry, but for some weird - # reason Mixins don't play nice with Ember.Route - initialState: 'default' - default: defaultRoute - lineNumber: lineNumberRoute - dynamicSegmentPattern: "([^/#]+)" - - logRedirect: Ember.Route.extend - route: '/log.txt' - connectOutlets: (router) -> - build = router.get('repoController').get 'build' - - observer = -> - if logId = build.get('jobs.firstObject.log.id') - window.location = Travis.Urls.plainTextLog(logId) - - build.removeObserver('jobs.firstObject.log.id', observer) - - build.addObserver('jobs.firstObject.log.id', observer) - - pullRequests: Ember.Route.extend - route: '/pull_requests' - connectOutlets: (router, repo) -> - router.get('repoController').activate 'pull_requests' - - branches: Ember.Route.extend - route: '/branches' - connectOutlets: (router, repo) -> - router.get('repoController').activate 'branches' - - events: Ember.Route.extend - route: '/events' - connectOutlets: (router, repo) -> - router.get('repoController').activate 'events' - - job: Ember.Route.extend - route: '/jobs/:job_id' - dynamicSegmentPattern: "([^/#]+)" - connectOutlets: (router, job) -> - unless job.get - # In case I use id - job = Travis.Job.find(job) - router.get('repoController').set 'job', job - router.get('repoController').activate 'job' - - serialize: (router, job) -> - if job.get - { job_id: job.get('id') } - else - { job_id: job } - - deserialize: (router, params) -> - job = Travis.Job.find params.job_id - - if job.get 'id' - job - else - deferred = $.Deferred() - - observer = -> - if job.get 'id' - job.removeObserver 'id', observer - deferred.resolve job - job.addObserver 'id', observer - deferred.promise() - - initialState: 'default' - default: defaultRoute - lineNumber: lineNumberRoute - - logRedirect: Ember.Route.extend - route: '/log.txt' - connectOutlets: (router, job) -> - job = router.get('repoController').get 'job' - - observer = -> - if logId = job.get('log.id') - window.location = Travis.Urls.plainTextLog(logId) - - job.removeObserver('log.id', observer) - - job.addObserver('log.id', observer) - Ember.Router.reopen location: (if testMode? then Ember.HashLocation.create() else Ember.HistoryLocation.create())