Fix filtering for queue and running jobs
This commit is contained in:
parent
08d17fdf2b
commit
34ae33f087
|
@ -104,8 +104,7 @@ require 'travis/model'
|
|||
|
||||
@Travis.Job.reopenClass
|
||||
queued: (queue) ->
|
||||
@find()
|
||||
Ember.FilteredRecordArray.create(
|
||||
filtered = Ember.FilteredRecordArray.create(
|
||||
modelClass: Travis.Job
|
||||
filterFunction: (job) ->
|
||||
queued = ['created', 'queued'].indexOf(job.get('state')) != -1
|
||||
|
@ -115,13 +114,24 @@ require 'travis/model'
|
|||
filterProperties: ['state', 'queue']
|
||||
)
|
||||
|
||||
@fetch(state: 'started').then (array) ->
|
||||
filtered.updateFilter()
|
||||
filtered.set('isLoaded', true)
|
||||
|
||||
filtered
|
||||
|
||||
running: ->
|
||||
@find(state: 'started')
|
||||
Ember.FilteredRecordArray.create(
|
||||
filtered = Ember.FilteredRecordArray.create(
|
||||
modelClass: Travis.Job
|
||||
filterFunction: (job) ->
|
||||
job.get('state') == 'started'
|
||||
filterProperties: ['state']
|
||||
)
|
||||
|
||||
@fetch(state: 'started').then (array) ->
|
||||
filtered.updateFilter()
|
||||
filtered.set('isLoaded', true)
|
||||
|
||||
filtered
|
||||
|
||||
|
||||
|
|
8
assets/scripts/vendor/ember-model.js
vendored
8
assets/scripts/vendor/ember-model.js
vendored
|
@ -186,6 +186,8 @@ Ember.FilteredRecordArray = Ember.RecordArray.extend({
|
|||
get(this, 'modelClass').forEachCachedRecord(function(record) {
|
||||
if (self.filterFunction(record)) {
|
||||
results.push(record);
|
||||
} else {
|
||||
results.removeObject(record);
|
||||
}
|
||||
});
|
||||
this.set('content', Ember.A(results));
|
||||
|
@ -193,9 +195,13 @@ Ember.FilteredRecordArray = Ember.RecordArray.extend({
|
|||
|
||||
updateFilterForRecord: function(record) {
|
||||
var results = get(this, 'content');
|
||||
if (this.filterFunction(record) && !results.contains(record)) {
|
||||
if (this.filterFunction(record)) {
|
||||
if(!results.contains(record)) {
|
||||
results.pushObject(record);
|
||||
}
|
||||
} else {
|
||||
results.removeObject(record);
|
||||
}
|
||||
},
|
||||
|
||||
registerObservers: function() {
|
||||
|
|
Loading…
Reference in New Issue
Block a user