lib/perkins/assets/javascripts/perkins/v/repo.js.coffee in perkins-0.0.3 vs lib/perkins/assets/javascripts/perkins/v/repo.js.coffee in perkins-0.0.5
- old
+ new
@@ -9,23 +9,28 @@
'click .run-commit': "runCommit"
initialize: (opts)->
@model = opts.model
+ window.current_view = @
+
if opts.build_id
@build = new Perkins.Models.BuildReport({id: opts.build_id, repo: @model})
else if @model.get('last_report_id')
@build = new Perkins.Models.BuildReport({id: @model.get('last_report_id'), repo: @model})
@listenTo(@build, "change", @renderBuildReport) if @build
+ @listenTo(@build, "change:build_status", @pulseReport) if @build
+
@listenTo(@model, "change:build_status", @handleSpinnerBtn)
+ @listenTo(@model, "change:response", @renderLogView)
template: ()->
JST["repo"](@model.toJSON())
replaceUri: (ev)->
- console.log ev
+ #console.log ev
t = ev.currentTarget
num = $(t.parentNode).prevAll('p').length + 1
url = window.location + ''
$(t).attr('href', url.replace(/#L\d+|(?=\?)|$/, '#L' + num))
@@ -47,10 +52,13 @@
if @build
@build_detail = new Perkins.Views.BuildDetail( repo: @model, build: @build )
@build.fetch()
@displayBadge()
+ renderLogView: ->
+ @build_detail.render()
+
displayBadge: ->
name = @model.get('name')
url = "#{window.location.origin}/badge?repo=#{name}"
badge = "<a href='#{url}' target='blank'><img src='#{url}' alt='badge'></a>"
$('#badge-placeholder').html(badge)
@@ -60,12 +68,15 @@
restartBuild: (ev)->
return if $(ev.currentTarget).find("i").hasClass("fa-spin")
@build_detail.restart()
+ pulseReport: ->
+ @build_detail.pulse()
+
runCommit: ->
- url = "/repos/#{@model.get('name')}/run_commit"
+ url = "/repos/#{@model.get('name')}/run_commit.json"
$.ajax
url: url
beforeSend: ->
$(".no-build").text("running build")
$(".run-commit").addClass("hide")
@@ -111,12 +122,19 @@
#$("#restart-build-btn").find("a").attr("href", url )
restart: ->
$("#restart-build-btn").find("i").addClass("fa-spin")
@build.restart()
+ @pulse
false
+ pulse: ->
+ setTimeout ()=>
+ @build.fetch()
+ @pulse() unless @build.isStopped()
+ , 700
+
close: ()->
$(@el).html("")
console.log "CLOSED VIEW CALLED"
@.stopListening()
@.undelegateEvents()
@@ -159,28 +177,43 @@
el: "#repo-builds"
#REPO CONFIG
class Perkins.Views.RepoConfig extends Backbone.View
+
+ el: "#main-content"
+
+ events:
+ "submit #add-hook" : "submitForm"
+
initialize: (opts={})->
@repo = opts.model
window.current_repo = @repo
@hook = new Perkins.Models.RepoHook(repo: @repo)
@listenTo(@hook, "error", @defaultErrorHandler)
- el: "#main-content"
-
template: ->
JST["repos/config"]({repo: @model.toJSON(), hook: @hook.toJSON() })
render: ->
console.log("render repo builds")
@hook.fetch
- success: =>
+ success: (res)=>
$(@el).html(@template())
+
+ submitForm: (e)->
+ target = $(e.currentTarget)
+
+ $.ajax
+ url: target.attr("action")
+ method: "POST"
+ .success ()=>
+ Backbone.history.navigate("#{@repo.get('name')}/config")
+
+ false
close: ()->
$(@el).html("")
console.log "CLOSED VIEW CALLED"
@.stopListening()
@.undelegateEvents()