Fix build lists to not interfere with each other
This commit is contained in:
parent
1f3f0559bc
commit
a47147ed82
|
@ -2,6 +2,15 @@ Travis.BuildsController = Em.ArrayController.extend
|
|||
# sortAscending: false
|
||||
needs: ['repo']
|
||||
|
||||
repoBinding: 'controllers.repo'
|
||||
buildsBinding: 'repo.builds'
|
||||
repoBinding: 'controllers.repo.repo'
|
||||
buildsBinding: 'controllers.repo.builds'
|
||||
tabBinding: 'controllers.repo.tab'
|
||||
|
||||
showMore: ->
|
||||
id = @get('repo.id')
|
||||
number = @get('builds.lastObject.number')
|
||||
@get('builds').load Travis.Build.olderThanNumber(id, number, @get('tab'))
|
||||
|
||||
displayShowMoreButton: (->
|
||||
@get('tab') != 'branches'
|
||||
).property('tab')
|
||||
|
|
|
@ -86,4 +86,4 @@ Travis.RepoController = Travis.Controller.extend
|
|||
|
||||
urlGithub: (->
|
||||
Travis.Urls.githubRepo(@get('repo.slug'))
|
||||
).property('repo.slug'),
|
||||
).property('repo.slug')
|
||||
|
|
|
@ -75,6 +75,11 @@ require 'travis/model'
|
|||
branches: (options) ->
|
||||
@find repository_id: options.repoId, branches: true
|
||||
|
||||
olderThanNumber: (id, build_number) ->
|
||||
olderThanNumber: (id, build_number, type) ->
|
||||
console.log type
|
||||
# TODO fix this api and use some kind of pagination scheme
|
||||
@find(url: "/builds", repository_id: id, after_number: build_number)
|
||||
options = { repository_id: id, after_number: build_number }
|
||||
if type?
|
||||
options.event_type = type.replace(/s$/, '') # poor man's singularize
|
||||
|
||||
@find(options)
|
||||
|
|
|
@ -22,12 +22,7 @@ require 'travis/model'
|
|||
).property('lastBuildId', 'lastBuildNumber')
|
||||
|
||||
allBuilds: (->
|
||||
allBuilds = DS.RecordArray.create
|
||||
type: Travis.Build
|
||||
content: Ember.A([])
|
||||
store: @get('store')
|
||||
@get('store').registerRecordArray(allBuilds, Travis.Build);
|
||||
allBuilds
|
||||
Travis.Build.find()
|
||||
).property()
|
||||
|
||||
builds: (->
|
||||
|
@ -42,7 +37,7 @@ require 'travis/model'
|
|||
array.load(builds)
|
||||
|
||||
id = @get('id')
|
||||
array.observe(@get('allBuilds'), (build) -> build.get('repo.id') == id && !build.get('isPullRequest') )
|
||||
array.observe(@get('allBuilds'), (build) -> build.get('isLoaded') && build.get('eventType') && build.get('repo.id') == id && !build.get('isPullRequest') )
|
||||
|
||||
array
|
||||
).property()
|
||||
|
@ -58,7 +53,7 @@ require 'travis/model'
|
|||
array.load(builds)
|
||||
|
||||
id = @get('id')
|
||||
array.observe(@get('allBuilds'), (build) -> @get('repositoryId') == id && build.get('isPullRequest') )
|
||||
array.observe(@get('allBuilds'), (build) -> build.get('isLoaded') && build.get('eventType') && build.get('repo.id') == id && build.get('isPullRequest') )
|
||||
|
||||
array
|
||||
).property()
|
||||
|
|
|
@ -66,16 +66,16 @@ Travis.IndexCurrentRoute = Ember.Route.extend
|
|||
setupController: ->
|
||||
@container.lookup('controller:repo').activate('index')
|
||||
|
||||
Travis.AbstractBuidsRoute = Ember.Route.extend
|
||||
Travis.AbstractBuildsRoute = Ember.Route.extend
|
||||
renderTemplate: ->
|
||||
@render 'builds', outlet: 'pane', into: 'repo'
|
||||
|
||||
setupController: ->
|
||||
@container.lookup('controller:repo').activate(@get('contentType'))
|
||||
|
||||
Travis.BuildsRoute = Travis.AbstractBuidsRoute.extend(contentType: 'builds')
|
||||
Travis.PullRequestsRoute = Travis.AbstractBuidsRoute.extend(contentType: 'pull_requests')
|
||||
Travis.BranchesRoute = Travis.AbstractBuidsRoute.extend(contentType: 'branches')
|
||||
Travis.BuildsRoute = Travis.AbstractBuildsRoute.extend(contentType: 'builds')
|
||||
Travis.PullRequestsRoute = Travis.AbstractBuildsRoute.extend(contentType: 'pull_requests')
|
||||
Travis.BranchesRoute = Travis.AbstractBuildsRoute.extend(contentType: 'branches')
|
||||
|
||||
Travis.BuildRoute = Ember.Route.extend Travis.LineNumberParser,
|
||||
renderTemplate: ->
|
||||
|
|
|
@ -59,9 +59,11 @@
|
|||
{{/each}}
|
||||
</tbody>
|
||||
</table>
|
||||
<p>
|
||||
{{view view.ShowMoreButton}}
|
||||
</p>
|
||||
{{#if displayShowMoreButton}}
|
||||
<p>
|
||||
{{view view.ShowMoreButton}}
|
||||
</p>
|
||||
{{/if}}
|
||||
{{else}}
|
||||
<div class="loading"><span>Loading</span></div>
|
||||
{{/if}}
|
||||
|
|
|
@ -7,11 +7,6 @@ Travis.reopen
|
|||
@get('controller.tab') == 'pull_requests'
|
||||
).property('controller.tab')
|
||||
|
||||
showMore: ->
|
||||
id = @get('controller.repo.id')
|
||||
number = @get('builds.lastObject.number')
|
||||
@get('builds').load Travis.Build.olderThanNumber(id, number)
|
||||
|
||||
ShowMoreButton: Em.View.extend
|
||||
tagName: 'button'
|
||||
classNameBindings: ['isLoading']
|
||||
|
@ -26,7 +21,7 @@ Travis.reopen
|
|||
).property('isLoading')
|
||||
|
||||
click: ->
|
||||
@get('parentView').showMore()
|
||||
@get('controller').showMore()
|
||||
|
||||
BuildsItemView: Travis.View.extend
|
||||
tagName: 'tr'
|
||||
|
|
Loading…
Reference in New Issue
Block a user