summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/ci/build.coffee
diff options
context:
space:
mode:
Diffstat (limited to 'app/assets/javascripts/ci/build.coffee')
-rw-r--r--app/assets/javascripts/ci/build.coffee116
1 files changed, 0 insertions, 116 deletions
diff --git a/app/assets/javascripts/ci/build.coffee b/app/assets/javascripts/ci/build.coffee
deleted file mode 100644
index 26b8686dee8..00000000000
--- a/app/assets/javascripts/ci/build.coffee
+++ /dev/null
@@ -1,116 +0,0 @@
-class @CiBuild
- @interval: null
- @state: null
-
- constructor: (@page_url, @build_url, @build_status, @state) ->
- clearInterval(CiBuild.interval)
-
- # Init breakpoint checker
- @bp = Breakpoints.get()
- @hideSidebar()
- $('.js-build-sidebar').niceScroll()
- $(document)
- .off 'click', '.js-sidebar-build-toggle'
- .on 'click', '.js-sidebar-build-toggle', @toggleSidebar
-
- $(window)
- .off 'resize.build'
- .on 'resize.build', @hideSidebar
-
- @updateArtifactRemoveDate()
-
- if $('#build-trace').length
- @getInitialBuildTrace()
- @initScrollButtonAffix()
-
- if @build_status is "running" or @build_status is "pending"
- #
- # Bind autoscroll button to follow build output
- #
- $('#autoscroll-button').on 'click', ->
- state = $(this).data("state")
- if "enabled" is state
- $(this).data "state", "disabled"
- $(this).text "enable autoscroll"
- else
- $(this).data "state", "enabled"
- $(this).text "disable autoscroll"
-
- #
- # Check for new build output if user still watching build page
- # Only valid for runnig build when output changes during time
- #
- CiBuild.interval = setInterval =>
- if window.location.href.split("#").first() is @page_url
- @getBuildTrace()
- , 4000
-
- getInitialBuildTrace: ->
- removeRefreshStatuses = ['success', 'failed', 'canceled']
-
- $.ajax
- url: @build_url
- dataType: 'json'
- success: (build_data) ->
- $('.js-build-output').html build_data.trace_html
-
- if removeRefreshStatuses.indexOf(build_data.status) >= 0
- $('.js-build-refresh').remove()
-
- getBuildTrace: ->
- $.ajax
- url: "#{@page_url}/trace.json?state=#{encodeURIComponent(@state)}"
- dataType: "json"
- success: (log) =>
- if log.state
- @state = log.state
-
- if log.status is "running"
- if log.append
- $('.js-build-output').append log.html
- else
- $('.js-build-output').html log.html
- @checkAutoscroll()
- else if log.status isnt @build_status
- Turbolinks.visit @page_url
-
- checkAutoscroll: ->
- $("html,body").scrollTop $("#build-trace").height() if "enabled" is $("#autoscroll-button").data("state")
-
- initScrollButtonAffix: ->
- $buildScroll = $('#js-build-scroll')
- $body = $('body')
- $buildTrace = $('#build-trace')
-
- $buildScroll.affix(
- offset:
- bottom: ->
- $body.outerHeight() - ($buildTrace.outerHeight() + $buildTrace.offset().top)
- )
-
- shouldHideSidebar: ->
- bootstrapBreakpoint = @bp.getBreakpointSize()
-
- bootstrapBreakpoint is 'xs' or bootstrapBreakpoint is 'sm'
-
- toggleSidebar: =>
- if @shouldHideSidebar()
- $('.js-build-sidebar')
- .toggleClass 'right-sidebar-expanded right-sidebar-collapsed'
-
- hideSidebar: =>
- if @shouldHideSidebar()
- $('.js-build-sidebar')
- .removeClass 'right-sidebar-expanded'
- .addClass 'right-sidebar-collapsed'
- else
- $('.js-build-sidebar')
- .removeClass 'right-sidebar-collapsed'
- .addClass 'right-sidebar-expanded'
-
- updateArtifactRemoveDate: ->
- $date = $('.js-artifacts-remove')
-
- if $date.length
- date = $date.text()
- $date.text $.timefor(new Date(date), ' ')