diff --git a/assets/scripts/app/controllers.coffee b/assets/scripts/app/controllers.coffee index 85a32233..f1b4f520 100644 --- a/assets/scripts/app/controllers.coffee +++ b/assets/scripts/app/controllers.coffee @@ -57,8 +57,6 @@ require 'controllers/job' require 'controllers/profile' require 'controllers/repos' require 'controllers/repo' -#require 'controllers/running_jobs' -#require 'controllers/sidebar' require 'controllers/stats' require 'controllers/current_user' require 'controllers/account_index' diff --git a/assets/scripts/app/controllers/running_jobs.coffee b/assets/scripts/app/controllers/running_jobs.coffee deleted file mode 100644 index 4d81a0e8..00000000 --- a/assets/scripts/app/controllers/running_jobs.coffee +++ /dev/null @@ -1,103 +0,0 @@ -Travis.RunningJobsController = Em.ArrayProxy.extend - Group: Em.Object.extend - slug: (-> @get('jobs.firstObject.repoSlug') ).property('jobs.firstObject.repoSlug') - - init: -> - @_super.apply this, arguments - @set 'jobs', [] - - @set 'sortedJobs', Em.ArrayProxy.extend(Em.SortableMixin, - sortProperties: ['number'] - ).create(content: @get('jobs')) - - willDestroy: -> - @get('sortedJobs').destroy() - - add: (job) -> - @get('jobs').pushObject(job) unless @get('jobs').contains job - @attach() - - remove: (job) -> - @get('jobs').removeObject(job) - @clean() - - attach: -> - @get('parent').addGroup(this) - - clean: -> - @get('parent').removeGroup(this) if @get('isEmpty') - - isEmpty: (-> - @get('jobs.length') == 0 - ).property('jobs.length') - - groups: [] - sortedGroups: (-> - Em.ArrayProxy.extend(Em.SortableMixin, - sortProperties: ['slug'] - ).create(content: @get('groups')) - ).property() - - groupsBySlug: {} - - init: -> - @_super.apply this, arguments - - jobs = Travis.Job.running() - @set 'content', jobs - @addedJobs jobs - - contentArrayWillChange: (array, index, removedCount, addedCount) -> - @_super.apply this, arguments - - if removedCount - @removedJobs array.slice(index, index + removedCount) - - contentArrayDidChange: (array, index, removedCount, addedCount) -> - @_super.apply this, arguments - - if addedCount - @addedJobs array.slice(index, index + addedCount) - - addedJobs: (jobs) -> - self = this - jobs.forEach (job) -> - self.waitForSlug(job, 'addJob') - - removedJobs: (jobs) -> - self = this - jobs.forEach (job) -> - self.waitForSlug(job, 'removeJob') - - addJob: (job) -> - slug = job.get('repoSlug') - group = @groupForSlug(slug) - group.add(job) - - removeJob: (job) -> - slug = job.get('repoSlug') - group = @groupForSlug(slug) - group.remove(job) - - waitForSlug: (job, callbackName) -> - callback = @[callbackName] - self = this - if job.get('repoSlug')? - callback.call self, job - else - observer = -> - if job.get('repoSlug')? - callback.call self, job - job.removeObserver 'repoSlug', observer - job.addObserver 'repoSlug', observer - - groupForSlug: (slug) -> - @groupsBySlug[slug] ||= @Group.create(slug: slug, parent: this) - - addGroup: (group) -> - @get('groups').pushObject group unless @get('groups').contains group - - removeGroup: (group) -> - @get('groups').removeObject group - delete @groupsBySlug[group.get('slug')] - group.destroy() diff --git a/assets/scripts/app/controllers/sidebar.coffee b/assets/scripts/app/controllers/sidebar.coffee deleted file mode 100644 index 4673e14c..00000000 --- a/assets/scripts/app/controllers/sidebar.coffee +++ /dev/null @@ -1,41 +0,0 @@ -Travis.reopen - SidebarController: Em.ArrayController.extend - needs: ['runningJobs'] - jobsBinding: 'controllers.runningJobs' - - init: -> - @_super.apply this, arguments - - 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 - - showAll: (queue) -> - queue.showAll() - - WorkersController: Em.ArrayController.extend - init: -> - @_super.apply this, arguments - @set 'content', Travis.Worker.find() - - groups: (-> - if content = @get 'arrangedContent' - groups = {} - for worker in content.toArray() - host = worker.get('host') - unless groups[host] - groups[host] = Em.ArrayProxy.extend(Em.SortableMixin, - content: [], - sortProperties: ['nameForSort'] - ).create() - groups[host].pushObject(worker) - - $.values(groups) - ).property('length') diff --git a/assets/scripts/app/models/job.coffee b/assets/scripts/app/models/job.coffee index fc7df98a..cbda6284 100644 --- a/assets/scripts/app/models/job.coffee +++ b/assets/scripts/app/models/job.coffee @@ -103,18 +103,15 @@ require 'travis/model' ).property('state') @Travis.Job.reopenClass - queued: (queue) -> + queued: -> filtered = Ember.FilteredRecordArray.create( modelClass: Travis.Job filterFunction: (job) -> - queued = ['created', 'queued'].indexOf(job.get('state')) != -1 - # TODO: why queue is sometimes just common instead of build.common? - queued && (!queue || job.get('queue') == "builds.#{queue}" || job.get('queue') == queue) - + ['created', 'queued'].indexOf(job.get('state')) != -1 filterProperties: ['state', 'queue'] ) - @fetch(state: 'started').then (array) -> + @fetch().then (array) -> filtered.updateFilter() filtered.set('isLoaded', true) diff --git a/assets/scripts/app/templates/jobs/running.hbs b/assets/scripts/app/templates/jobs/running.hbs deleted file mode 100644 index 6be98a9a..00000000 --- a/assets/scripts/app/templates/jobs/running.hbs +++ /dev/null @@ -1,7 +0,0 @@ -