diff --git a/assets/scripts/app/controllers/builds.coffee b/assets/scripts/app/controllers/builds.coffee index 3f945639..c06b8d04 100644 --- a/assets/scripts/app/controllers/builds.coffee +++ b/assets/scripts/app/controllers/builds.coffee @@ -1,5 +1,7 @@ Travis.BuildsController = Em.ArrayController.extend # sortAscending: false + needs: ['repo'] - repo: 'parent.repo' - contentBinding: 'parent.builds' + repoBinding: 'controllers.repo' + buildsBinding: 'repo.builds' + tabBinding: 'controllers.repo.tab' diff --git a/assets/scripts/app/models/build.coffee b/assets/scripts/app/models/build.coffee index b530768a..e383d51c 100644 --- a/assets/scripts/app/models/build.coffee +++ b/assets/scripts/app/models/build.coffee @@ -16,6 +16,7 @@ require 'travis/model' repo: DS.belongsTo('Travis.Repo') commit: DS.belongsTo('Travis.Commit') + commits: DS.belongsTo('Travis.Commit') jobs: DS.hasMany('Travis.Job') config: (-> diff --git a/assets/scripts/app/models/repo.coffee b/assets/scripts/app/models/repo.coffee index aa8faa23..7dbedb50 100644 --- a/assets/scripts/app/models/repo.coffee +++ b/assets/scripts/app/models/repo.coffee @@ -33,6 +33,7 @@ require 'travis/model' builds: (-> id = @get('id') builds = Travis.Build.byRepoId id, event_type: 'push' + # TODO: move to controller array = Travis.ExpandableRecordArray.create type: Travis.Build content: Ember.A([]) diff --git a/assets/scripts/app/routes.coffee b/assets/scripts/app/routes.coffee index c0f4b8ea..f513ee31 100644 --- a/assets/scripts/app/routes.coffee +++ b/assets/scripts/app/routes.coffee @@ -383,16 +383,33 @@ Travis.Router.map -> @route 'index', path: '/' @resource 'build', path: '/builds/:build_id' @resource 'job', path: '/jobs/:job_id' + @resource 'builds', path: '/builds' + @resource 'pullRequests', path: '/pull_requests' Travis.IndexCurrentRoute = Ember.Route.extend renderTemplate: -> - @render 'build', outlet: 'pane', into: 'repo' + @render 'build', outlet: 'pane', into: 'repo' setupController: -> @container.lookup('controller:repo').activate('index') +Travis.BuildsRoute = Ember.Route.extend + renderTemplate: -> + @render 'builds', outlet: 'pane', into: 'repo' + + setupController: -> + @container.lookup('controller:repo').activate('builds') + +Travis.PullRequestsRoute = Ember.Route.extend + renderTemplate: -> + @render 'builds', outlet: 'pane', into: 'repo' + + setupController: -> + @container.lookup('controller:repo').activate('pull_requests') + Travis.BuildRoute = Ember.Route.extend - renderTemplate: (->) + renderTemplate: -> + @render 'build', outlet: 'pane', into: 'repo' serialize: (model, params) -> id = if model.get then model.get('id') else model @@ -427,10 +444,12 @@ Travis.RepoIndexRoute = Ember.Route.extend setupController: (controller, model) -> @container.lookup('controller:repo').activate('current') + renderTemplate: -> + @render 'build', outlet: 'pane', into: 'repo' + Travis.RepoRoute = Ember.Route.extend renderTemplate: -> @render 'repo' - @render 'build', outlet: 'pane', into: 'repo' setupController: (controller, model) -> controller.set('repo', model) diff --git a/assets/scripts/app/templates/builds/list.hbs b/assets/scripts/app/templates/builds/list.hbs index cda900f1..4fdb23a7 100644 --- a/assets/scripts/app/templates/builds/list.hbs +++ b/assets/scripts/app/templates/builds/list.hbs @@ -26,9 +26,9 @@