Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app/assets/javascripts/merge_request_widget.js.coffee')
-rw-r--r--app/assets/javascripts/merge_request_widget.js.coffee143
1 files changed, 0 insertions, 143 deletions
diff --git a/app/assets/javascripts/merge_request_widget.js.coffee b/app/assets/javascripts/merge_request_widget.js.coffee
deleted file mode 100644
index 963a0550c35..00000000000
--- a/app/assets/javascripts/merge_request_widget.js.coffee
+++ /dev/null
@@ -1,143 +0,0 @@
-class @MergeRequestWidget
- # Initialize MergeRequestWidget behavior
- #
- # check_enable - Boolean, whether to check automerge status
- # merge_check_url - String, URL to use to check automerge status
- # ci_status_url - String, URL to use to check CI status
- #
-
- constructor: (@opts) ->
- $('#modal_merge_info').modal(show: false)
- @firstCICheck = true
- @readyForCICheck = false
- @cancel = false
- clearInterval @fetchBuildStatusInterval
-
- @clearEventListeners()
- @addEventListeners()
- @getCIStatus(false)
- @pollCIStatus()
- notifyPermissions()
-
- clearEventListeners: ->
- $(document).off 'page:change.merge_request'
-
- cancelPolling: ->
- @cancel = true
-
- addEventListeners: ->
- allowedPages = ['show', 'commits', 'builds', 'changes']
- $(document).on 'page:change.merge_request', =>
- page = $('body').data('page').split(':').last()
- if allowedPages.indexOf(page) < 0
- clearInterval @fetchBuildStatusInterval
- @cancelPolling()
- @clearEventListeners()
-
- mergeInProgress: (deleteSourceBranch = false)->
- $.ajax
- type: 'GET'
- url: $('.merge-request').data('url')
- success: (data) =>
- if data.state == "merged"
- urlSuffix = if deleteSourceBranch then '?delete_source=true' else ''
-
- window.location.href = window.location.pathname + urlSuffix
- else if data.merge_error
- $('.mr-widget-body').html("<h4>" + data.merge_error + "</h4>")
- else
- callback = -> merge_request_widget.mergeInProgress(deleteSourceBranch)
- setTimeout(callback, 2000)
- dataType: 'json'
-
- getMergeStatus: ->
- $.get @opts.merge_check_url, (data) ->
- $('.mr-state-widget').replaceWith(data)
-
- ciLabelForStatus: (status) ->
- switch status
- when 'success'
- 'passed'
- when 'success_with_warnings'
- 'passed with warnings'
- else
- status
-
- pollCIStatus: ->
- @fetchBuildStatusInterval = setInterval ( =>
- return if not @readyForCICheck
-
- @getCIStatus(true)
-
- @readyForCICheck = false
- ), 10000
-
- getCIStatus: (showNotification) ->
- _this = @
- $('.ci-widget-fetching').show()
-
- $.getJSON @opts.ci_status_url, (data) =>
- return if @cancel
- @readyForCICheck = true
-
- if data.status is ''
- return
-
- if @firstCICheck || data.status isnt @opts.ci_status and data.status?
- @opts.ci_status = data.status
- @showCIStatus data.status
- if data.coverage
- @showCICoverage data.coverage
-
- # The first check should only update the UI, a notification
- # should only be displayed on status changes
- if showNotification and not @firstCICheck
- status = @ciLabelForStatus(data.status)
-
- if status is "preparing"
- title = @opts.ci_title.preparing
- status = status.charAt(0).toUpperCase() + status.slice(1);
- message = @opts.ci_message.preparing.replace('{{status}}', status)
- else
- title = @opts.ci_title.normal
- message = @opts.ci_message.normal.replace('{{status}}', status)
-
- title = title.replace('{{status}}', status)
- message = message.replace('{{sha}}', data.sha)
- message = message.replace('{{title}}', data.title)
-
- notify(
- title,
- message,
- @opts.gitlab_icon,
- ->
- @close()
- Turbolinks.visit _this.opts.builds_path
- )
- @firstCICheck = false
-
- showCIStatus: (state) ->
- return if not state?
- $('.ci_widget').hide()
- allowed_states = ["failed", "canceled", "running", "pending", "success", "success_with_warnings", "skipped", "not_found"]
- if state in allowed_states
- $('.ci_widget.ci-' + state).show()
- switch state
- when "failed", "canceled", "not_found"
- @setMergeButtonClass('btn-danger')
- when "running"
- @setMergeButtonClass('btn-warning')
- when "success", "success_with_warnings"
- @setMergeButtonClass('btn-create')
- else
- $('.ci_widget.ci-error').show()
- @setMergeButtonClass('btn-danger')
-
- showCICoverage: (coverage) ->
- text = 'Coverage ' + coverage + '%'
- $('.ci_widget:visible .ci-coverage').text(text)
-
- setMergeButtonClass: (css_class) ->
- $('.js-merge-button,.accept-action .dropdown-toggle')
- .removeClass('btn-danger btn-warning btn-create')
- .addClass(css_class)