Don't require loading repos when dislaying queues and workers
This commit is contained in:
parent
df69a4a221
commit
834e45ceb5
|
@ -14,11 +14,21 @@ require 'travis/model'
|
|||
finishedAt: DS.attr('string')
|
||||
allowFailure: DS.attr('boolean', key: 'allow_failure')
|
||||
|
||||
repositorySlug: DS.attr('string')
|
||||
|
||||
repo: DS.belongsTo('Travis.Repo', key: 'repository_id')
|
||||
build: DS.belongsTo('Travis.Build', key: 'build_id')
|
||||
commit: DS.belongsTo('Travis.Commit', key: 'commit_id')
|
||||
log: DS.belongsTo('Travis.Artifact', key: 'log_id')
|
||||
|
||||
repoSlug: (->
|
||||
@get('repositorySlug')
|
||||
).property('repositorySlug')
|
||||
|
||||
repoData: (->
|
||||
{ id: @get('repoId'), slug: @get('repoSlug') }
|
||||
).property('repoSlug', 'repoId')
|
||||
|
||||
config: (->
|
||||
Travis.Helpers.compact(@get('data.config'))
|
||||
).property('data.config')
|
||||
|
|
|
@ -84,11 +84,12 @@ require 'travis/model'
|
|||
).property('lastBuildFinishedAt', 'lastBuildId')
|
||||
|
||||
stats: (->
|
||||
@get('_stats') || $.get("https://api.github.com/repos/#{@get('slug')}", (data) =>
|
||||
@set('_stats', data)
|
||||
@notifyPropertyChange 'stats'
|
||||
) && {}
|
||||
).property()
|
||||
if @get('slug')
|
||||
@get('_stats') || $.get("https://api.github.com/repos/#{@get('slug')}", (data) =>
|
||||
@set('_stats', data)
|
||||
@notifyPropertyChange 'stats'
|
||||
) && {}
|
||||
).property('slug')
|
||||
|
||||
updateTimes: ->
|
||||
@notifyPropertyChange 'lastBuildDuration'
|
||||
|
|
|
@ -26,6 +26,10 @@ require 'travis/model'
|
|||
Travis.Job.find @get('job_id')
|
||||
).property('jobId')
|
||||
|
||||
repoData: (->
|
||||
{ id: @get('repoId'), slug: @get('repoSlug') }
|
||||
).property('repoSlug', 'repoId')
|
||||
|
||||
repo: (->
|
||||
Travis.Repo.find(@get('payload.repository.id') || @get('payload.repo.id'))
|
||||
).property('payload.repository.id', 'payload.repo.id')
|
||||
|
@ -34,6 +38,10 @@ require 'travis/model'
|
|||
@get('payload.repo.slug') || @get('payload.repository.slug')
|
||||
).property('payload.repo.slug', 'payload.repository.slug')
|
||||
|
||||
repoId: (->
|
||||
@get('payload.repo.id') || @get('payload.repository.id')
|
||||
).property('payload.repo.id', 'payload.repository.id')
|
||||
|
||||
nameForSort: (->
|
||||
if name = @get('name')
|
||||
match = name.match /(.*?)-(\d+)/
|
||||
|
|
|
@ -202,6 +202,8 @@ Travis.Router = Ember.Router.extend
|
|||
dynamicSegmentPattern: "([^/#]+)"
|
||||
|
||||
connectOutlets: (router, repo) ->
|
||||
unless repo.constructor == Travis.Repo
|
||||
repo = Travis.Repo.find(repo.id)
|
||||
router.get('repoController').set 'repo', repo
|
||||
|
||||
deserialize: (router, params) ->
|
||||
|
@ -225,8 +227,11 @@ Travis.Router = Ember.Router.extend
|
|||
if typeof repo == 'string'
|
||||
[owner, name] = repo.split '/'
|
||||
{ owner: owner, name: name }
|
||||
else if repo
|
||||
else if repo && repo.constructor == Travis.Repo
|
||||
{ owner: repo.get('owner'), name: repo.get('name') }
|
||||
else if repo && repo.id && repo.slug
|
||||
[owner, name] = repo.slug.split '/'
|
||||
{ owner: owner, name: name }
|
||||
else
|
||||
# TODO: it would be nice to handle 404 somehow
|
||||
{}
|
||||
|
|
|
@ -5,11 +5,10 @@
|
|||
<ul {{bindAttr id="queue.id"}}>
|
||||
{{#each job in queue}}
|
||||
{{#view Travis.QueueItemView jobBinding="job"}}
|
||||
|
||||
{{#if job.repo.slug}}
|
||||
<a {{action showJob job.repo job target="Travis.app.router" href=true}}>
|
||||
{{#if job.repoSlug}}
|
||||
<a {{action showJob job.repoData job target="Travis.app.router" href=true}}>
|
||||
<span class="slug">
|
||||
{{job.repo.slug}}
|
||||
{{job.repoSlug}}
|
||||
</span>
|
||||
#{{job.number}}
|
||||
</a>
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
<div class="status"></div>
|
||||
{{#if worker.isWorking}}
|
||||
{{#if worker.jobId}}
|
||||
<a {{action showJob worker.repo worker.jobId target="Travis.app.router" href=true}} {{bindAttr title="worker.lastSeenAt"}}>
|
||||
<a {{action showJob worker.repoData worker.jobId target="Travis.app.router" href=true}} {{bindAttr title="worker.lastSeenAt"}}>
|
||||
{{view.display}}
|
||||
</a>
|
||||
{{/if}}
|
||||
|
|
Loading…
Reference in New Issue
Block a user