From 4cdd4df51594695a44fb1b3070f82a0eeb636803 Mon Sep 17 00:00:00 2001 From: Piotr Sarnacki Date: Tue, 19 Feb 2013 15:34:12 +0100 Subject: [PATCH] Tabs and basic views are mostly working --- assets/scripts/app/controllers/builds.coffee | 6 +++-- assets/scripts/app/models/build.coffee | 1 + assets/scripts/app/models/repo.coffee | 1 + assets/scripts/app/routes.coffee | 25 ++++++++++++++++--- assets/scripts/app/templates/builds/list.hbs | 4 +-- assets/scripts/app/templates/jobs/list.hbs | 4 ++- .../scripts/app/templates/repos/show/tabs.hbs | 24 +++++++++--------- assets/scripts/app/views/build.coffee | 3 +-- .../lib/travis/expandable_record_array.coffee | 11 ++++---- 9 files changed, 51 insertions(+), 28 deletions(-) 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 @@ {{#if id}} - + {{#linkTo "build" repo this}} {{number}} - + {{/linkTo}} {{/if}} diff --git a/assets/scripts/app/templates/jobs/list.hbs b/assets/scripts/app/templates/jobs/list.hbs index f691fa6d..078344eb 100644 --- a/assets/scripts/app/templates/jobs/list.hbs +++ b/assets/scripts/app/templates/jobs/list.hbs @@ -24,7 +24,9 @@ {{#if job.id}} - {{#linkTo job repo job}}{{number}}{{/linkTo}} + {{#if job.repo}} + {{#linkTo "job" repo job}}{{number}}{{/linkTo}} + {{/if}} {{/if}} diff --git a/assets/scripts/app/templates/repos/show/tabs.hbs b/assets/scripts/app/templates/repos/show/tabs.hbs index f906d3d9..9e47a4f2 100644 --- a/assets/scripts/app/templates/repos/show/tabs.hbs +++ b/assets/scripts/app/templates/repos/show/tabs.hbs @@ -1,28 +1,28 @@