diff options
author | Luke "Jared" Bennett <lbennett@gitlab.com> | 2016-10-14 17:12:50 +0000 |
---|---|---|
committer | Luke "Jared" Bennett <lbennett@gitlab.com> | 2016-10-14 17:12:50 +0000 |
commit | b9f351e8798529f09316c0d8ab77a01c6a18f7bf (patch) | |
tree | 3f1ba6150f5b3228821c8f81a585c5c9af1852c0 /app/assets/javascripts/pipelines.js.es6 | |
parent | 3f683038294887b25a87d075905cb4944c2ed595 (diff) | |
download | gitlab-ce-b9f351e8798529f09316c0d8ab77a01c6a18f7bf.tar.gz |
Rename pipeline.js.es6 to pipelines.js.es6rename-pipeline-to-pipelines
Diffstat (limited to 'app/assets/javascripts/pipelines.js.es6')
-rw-r--r-- | app/assets/javascripts/pipelines.js.es6 | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/app/assets/javascripts/pipelines.js.es6 b/app/assets/javascripts/pipelines.js.es6 new file mode 100644 index 00000000000..6bf63ee6979 --- /dev/null +++ b/app/assets/javascripts/pipelines.js.es6 @@ -0,0 +1,40 @@ +((global) => { + + class Pipelines { + constructor() { + $(document).off('click', '.toggle-pipeline-btn').on('click', '.toggle-pipeline-btn', this.toggleGraph); + this.addMarginToBuildColumns(); + } + + toggleGraph() { + const $pipelineBtn = $(this).closest('.toggle-pipeline-btn'); + const $pipelineGraph = $(this).closest('.row-content-block').next('.pipeline-graph'); + const $btnText = $(this).find('.toggle-btn-text'); + const graphCollapsed = $pipelineGraph.hasClass('graph-collapsed'); + + $($pipelineBtn).add($pipelineGraph).toggleClass('graph-collapsed'); + + + graphCollapsed ? $btnText.text('Expand') : $btnText.text('Hide') + } + + addMarginToBuildColumns() { + const $secondChildBuildNode = $('.build:nth-child(2)'); + if ($secondChildBuildNode.length) { + const $firstChildBuildNode = $secondChildBuildNode.prev('.build'); + const $multiBuildColumn = $secondChildBuildNode.closest('.stage-column'); + const $previousColumn = $multiBuildColumn.prev('.stage-column'); + $multiBuildColumn.addClass('left-margin'); + $firstChildBuildNode.addClass('left-connector'); + $previousColumn.each(function() { + $this = $(this); + if ($('.build', $this).length === 1) $this.addClass('no-margin'); + }); + } + $('.pipeline-graph').removeClass('hidden'); + } + } + + global.Pipelines = Pipelines; + +})(window.gl || (window.gl = {})); |