summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/pipelines.js.es6
diff options
context:
space:
mode:
authorLuke "Jared" Bennett <lbennett@gitlab.com>2016-10-14 17:12:50 +0000
committerLuke "Jared" Bennett <lbennett@gitlab.com>2016-10-14 17:12:50 +0000
commitb9f351e8798529f09316c0d8ab77a01c6a18f7bf (patch)
tree3f1ba6150f5b3228821c8f81a585c5c9af1852c0 /app/assets/javascripts/pipelines.js.es6
parent3f683038294887b25a87d075905cb4944c2ed595 (diff)
downloadgitlab-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.es640
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 = {}));