From 86670def14ccb4a55a39d78007631dc92dd94f36 Mon Sep 17 00:00:00 2001 From: Piotr Sarnacki Date: Tue, 19 Feb 2013 22:01:58 +0100 Subject: [PATCH] Fix queues lists --- assets/scripts/app/controllers/sidebar.coffee | 11 ++++++++++- assets/scripts/app/routes.coffee | 6 +++++- assets/scripts/app/templates/queues/list.hbs | 4 ++-- assets/scripts/app/templates/workers/list.hbs | 4 ++-- assets/scripts/app/views/sidebar.coffee | 14 ++++---------- 5 files changed, 23 insertions(+), 16 deletions(-) diff --git a/assets/scripts/app/controllers/sidebar.coffee b/assets/scripts/app/controllers/sidebar.coffee index c8a9f644..06bc3166 100644 --- a/assets/scripts/app/controllers/sidebar.coffee +++ b/assets/scripts/app/controllers/sidebar.coffee @@ -7,7 +7,16 @@ Travis.reopen tick: -> tickable.tick() for tickable in @tickables - QueuesController: Em.ArrayController.extend() + QueuesController: Em.ArrayController.extend + init: -> + @_super.apply this, arguments + + queues = for queue in Travis.QUEUES + Travis.LimitedArray.create + content: Travis.Job.queued(queue.name), limit: 20 + id: "queue_#{queue.name}" + name: queue.display + @set 'content', queues WorkersController: Em.ArrayController.extend groups: (-> diff --git a/assets/scripts/app/routes.coffee b/assets/scripts/app/routes.coffee index f513ee31..a26eebff 100644 --- a/assets/scripts/app/routes.coffee +++ b/assets/scripts/app/routes.coffee @@ -452,10 +452,14 @@ Travis.RepoRoute = Ember.Route.extend @render 'repo' setupController: (controller, model) -> + # TODO: if repo is just a data hash with id and slug load it + # as incomplete record + model = Travis.Repo.find(model.id) if model && !model.get controller.set('repo', model) serialize: (repo) -> - [owner, name] = repo.get('slug').split('/') + slug = if repo.get then repo.get('slug') else repo.slug + [owner, name] = slug.split('/') { owner: owner, name: name } deserialize: (params) -> diff --git a/assets/scripts/app/templates/queues/list.hbs b/assets/scripts/app/templates/queues/list.hbs index 2fbbca0b..574f0418 100644 --- a/assets/scripts/app/templates/queues/list.hbs +++ b/assets/scripts/app/templates/queues/list.hbs @@ -6,12 +6,12 @@ {{#each job in queue}} {{#view Travis.QueueItemView jobBinding="job"}} {{#if job.repoSlug}} - + {{#linkTo "job" job.repoData job}} {{job.repoSlug}} #{{job.number}} - + {{/linkTo}} {{/if}} {{/view}} {{else}} diff --git a/assets/scripts/app/templates/workers/list.hbs b/assets/scripts/app/templates/workers/list.hbs index 2096398b..b7ae6ce5 100644 --- a/assets/scripts/app/templates/workers/list.hbs +++ b/assets/scripts/app/templates/workers/list.hbs @@ -17,9 +17,9 @@
{{#if worker.isWorking}} {{#if worker.jobId}} - + {{#linkTo "job" worker.repoData worker.jobId}} {{view.display}} - + {{/linkTo}} {{/if}} {{else}} {{view.display}} diff --git a/assets/scripts/app/views/sidebar.coffee b/assets/scripts/app/views/sidebar.coffee index b8c9b550..9c6518fe 100644 --- a/assets/scripts/app/views/sidebar.coffee +++ b/assets/scripts/app/views/sidebar.coffee @@ -37,21 +37,15 @@ QueuesView: Em.View.extend templateName: 'queues/list' - controller: Em.ArrayController.create() + init: -> + @_super.apply this, arguments + + @set 'controller', @get('controller').container.lookup('controller:queues') showAll: (event) -> queue = event.context queue.showAll() - didInsertElement: -> - queues = for queue in Travis.QUEUES - Travis.LimitedArray.create - content: Travis.Job.queued(queue.name), limit: 20 - id: "queue_#{queue.name}" - name: queue.display - @set 'controller.content', queues - @_super.apply this, arguments - RunningJobsView: Em.View.extend templateName: 'jobs/running' elementId: 'running-jobs'