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()