From 6877c3afc130925e663294b8ea22bda4b25a58a2 Mon Sep 17 00:00:00 2001 From: Piotr Sarnacki Date: Fri, 6 Feb 2015 18:33:10 +0100 Subject: [PATCH] Properly add new builds to builds lists --- app/models/repo.coffee | 14 ++++++++------ app/utils/expandable-record-array.coffee | 5 ++--- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/app/models/repo.coffee b/app/models/repo.coffee index 955d1ab2..b0e18f01 100644 --- a/app/models/repo.coffee +++ b/app/models/repo.coffee @@ -49,7 +49,9 @@ Repo = Model.extend builds: (-> id = @get('id') - builds = @store.find('build', event_type: 'push', repository_id: id) + builds = @store.filter('build', event_type: 'push', repository_id: id, (b) -> + b.get('repo.id') == id && b.get('eventType') == 'push' + ) # TODO: move to controller array = ExpandableRecordArray.create @@ -57,16 +59,16 @@ Repo = Model.extend content: Ember.A([]) array.load(builds) - - id = @get('id') - array.observe(@store.all('build'), (build) -> build.get('isLoaded') && build.get('repo.id') == id && !build.get('isPullRequest') ) + array.observe(builds) array ).property() pullRequests: (-> id = @get('id') - builds = @store.find('build', event_type: 'pull_request', repository_id: id) + builds = @store.filter('build', event_type: 'pull_request', repository_id: id, (b) -> + b.get('repo.id') == id && b.get('eventType') == 'pull_request' + ) # TODO: move to controller array = ExpandableRecordArray.create @@ -76,7 +78,7 @@ Repo = Model.extend array.load(builds) id = @get('id') - array.observe(@store.all('build'), (build) -> build.get('isLoaded') && build.get('repo.id') == id && build.get('isPullRequest') ) + array.observe(builds) array ).property() diff --git a/app/utils/expandable-record-array.coffee b/app/utils/expandable-record-array.coffee index 2c39195b..9689a391 100644 --- a/app/utils/expandable-record-array.coffee +++ b/app/utils/expandable-record-array.coffee @@ -26,8 +26,7 @@ ExpandableRecordArray = Ember.ArrayProxy.extend @set 'isLoading', false @set 'isLoaded', true - observe: (collection, filterWith) -> - @set 'filterWith', filterWith + observe: (collection) -> collection.addArrayObserver this, willChange: 'observedArrayWillChange' didChange: 'observedArraydidChange' @@ -42,7 +41,7 @@ ExpandableRecordArray = Ember.ArrayProxy.extend for object in addedObjects # TODO: I'm not sure why deleted objects get here, but I'll just filter them # for now - if !object.get('isDeleted') && @get('filterWith').call(this, object) + if !object.get('isDeleted') @pushObject(object) unless @contains(object) pushObject: (record) ->