travis-web/app/components/branch-row.coffee
2015-09-14 14:56:02 +02:00

64 lines
1.8 KiB
CoffeeScript

`import Ember from 'ember'`
`import { gravatarImage } from 'travis/utils/urls'`
`import { githubCommit as githubCommitUrl } from 'travis/utils/urls'`
`import TravisRoute from 'travis/routes/basic'`
`import config from 'travis/config/environment'`
BranchRowComponent = Ember.Component.extend
tagName: 'li'
classNameBindings: ['build.last_build.state']
classNames: ['branch-row']
isLoading: false
urlGithubCommit: (->
githubCommitUrl(@get('build.repository.slug'), @get('build.last_build.commit.sha'))
).property('build.last_build')
getLast5Builds: (->
lastBuilds = Ember.ArrayProxy.create(
content: [{}, {}, {}, {}, {}]
isLoading: true,
count: 0
)
if !@get('build.last_build')
lastBuilds.set('isLoading', false)
else
apiEndpoint = config.apiEndpoint
repoId = @get('build.repository.id')
branchName = @get('build.name')
options = {}
if @get('auth.signedIn')
options.headers = { Authorization: "token #{@auth.token()}" }
$.ajax("#{apiEndpoint}/v3/repo/#{repoId}/builds?branch.name=#{branchName}&limit=5&offset=1", options).then (response) ->
array = response.builds.map( (build) ->
Ember.Object.create(build)
)
if array.length < 5
for i in [1..5 - array.length] by 1
array.push({})
lastBuilds.set('count', response['@pagination'].count)
lastBuilds.set('content', array)
lastBuilds.set('isLoading', false)
lastBuilds
).property()
actions:
tiggerBuild: (branch) ->
console.log('trigger build')
viewAllBuilds: (branch) ->
console.log('view all builds')
@transitionToRoute('builds')
# updateFilter: (value) ->
# @set('_lastFilterValue', value)
# Ember.run.throttle this, @updateFilter, [], 200, false
`export default BranchRowComponent`