2016-09-29 17:24:37 -04:00
|
|
|
((global) => {
|
|
|
|
|
|
|
|
class Pipelines {
|
|
|
|
constructor() {
|
2016-10-17 15:06:56 -04:00
|
|
|
this.initGraphToggle();
|
2016-10-06 16:20:25 -04:00
|
|
|
this.addMarginToBuildColumns();
|
2016-09-12 06:19:20 -04:00
|
|
|
}
|
|
|
|
|
2016-10-17 15:06:56 -04:00
|
|
|
initGraphToggle() {
|
|
|
|
this.toggleButton = document.querySelector('.toggle-pipeline-btn');
|
|
|
|
this.toggleButtonText = this.toggleButton.querySelector('.toggle-btn-text');
|
|
|
|
this.pipelineGraph = document.querySelector('.pipeline-graph');
|
|
|
|
this.toggleButton.addEventListener('click', this.toggleGraph.bind(this));
|
|
|
|
}
|
2016-08-16 20:42:05 -04:00
|
|
|
|
2016-10-17 15:06:56 -04:00
|
|
|
toggleGraph() {
|
|
|
|
const graphCollapsed = this.pipelineGraph.classList.contains('graph-collapsed');
|
|
|
|
this.toggleButton.classList.toggle('graph-collapsed');
|
|
|
|
this.pipelineGraph.classList.toggle('graph-collapsed');
|
|
|
|
graphCollapsed ? this.toggleButtonText.textContent = 'Hide' : this.toggleButtonText.textContent = 'Expand';
|
2016-09-29 17:24:37 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
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');
|
|
|
|
});
|
|
|
|
}
|
2016-10-17 15:06:56 -04:00
|
|
|
this.pipelineGraph.classList.remove('hidden');
|
2016-08-23 12:02:52 -04:00
|
|
|
}
|
2016-08-17 17:41:24 -04:00
|
|
|
}
|
2016-08-16 20:42:05 -04:00
|
|
|
|
2016-09-29 17:24:37 -04:00
|
|
|
global.Pipelines = Pipelines;
|
|
|
|
|
|
|
|
})(window.gl || (window.gl = {}));
|