Commit 599f1cb0 authored by Luke Bennett's avatar Luke Bennett

converted last method to jQuery

parent c1be12d0
Element.prototype.matches = Element.prototype.matches || Element.prototype.msMatches;
Element.prototype.closest = function closest(selector, selectedElement = this) {
if (!selectedElement) return;
return selectedElement.matches(selector) ? selectedElement : Element.prototype.closest(selector, selectedElement.parentElement);
};
...@@ -7,9 +7,9 @@ ...@@ -7,9 +7,9 @@
} }
initGraphToggle() { initGraphToggle() {
this.pipelineGraph = document.querySelector('.pipeline-graph');
this.toggleButton = document.querySelector('.toggle-pipeline-btn'); this.toggleButton = document.querySelector('.toggle-pipeline-btn');
this.toggleButtonText = this.toggleButton.querySelector('.toggle-btn-text'); this.toggleButtonText = this.toggleButton.querySelector('.toggle-btn-text');
this.pipelineGraph = document.querySelector('.pipeline-graph');
this.toggleButton.addEventListener('click', this.toggleGraph.bind(this)); this.toggleButton.addEventListener('click', this.toggleGraph.bind(this));
} }
...@@ -17,21 +17,22 @@ ...@@ -17,21 +17,22 @@
const graphCollapsed = this.pipelineGraph.classList.contains('graph-collapsed'); const graphCollapsed = this.pipelineGraph.classList.contains('graph-collapsed');
this.toggleButton.classList.toggle('graph-collapsed'); this.toggleButton.classList.toggle('graph-collapsed');
this.pipelineGraph.classList.toggle('graph-collapsed'); this.pipelineGraph.classList.toggle('graph-collapsed');
graphCollapsed ? this.toggleButtonText.textContent = 'Hide' : this.toggleButtonText.textContent = 'Expand'; this.toggleButtonText.textContent = graphCollapsed ? 'Hide' : 'Expand';
} }
addMarginToBuildColumns() { addMarginToBuildColumns() {
const $secondChildBuildNode = $('.build:nth-child(2)'); const secondChildBuildNodes = this.pipelineGraph.querySelectorAll('.build:nth-child(2)');
if ($secondChildBuildNode.length) { for (buildNodeIndex in secondChildBuildNodes) {
const $firstChildBuildNode = $secondChildBuildNode.prev('.build'); const buildNode = secondChildBuildNodes[buildNodeIndex];
const $multiBuildColumn = $secondChildBuildNode.closest('.stage-column'); const firstChildBuildNode = buildNode.previousElementSibling;
const $previousColumn = $multiBuildColumn.prev('.stage-column'); if (!firstChildBuildNode || !firstChildBuildNode.matches('.build')) continue;
$multiBuildColumn.addClass('left-margin'); const multiBuildColumn = buildNode.closest('.stage-column');
$firstChildBuildNode.addClass('left-connector'); const previousColumn = multiBuildColumn.previousElementSibling;
$previousColumn.each(function() { if (!previousColumn || !previousColumn.matches('.stage-column')) continue;
$this = $(this); multiBuildColumn.classList.add('left-margin');
if ($('.build', $this).length === 1) $this.addClass('no-margin'); firstChildBuildNode.classList.add('left-connector');
}); const columnBuilds = previousColumn.querySelectorAll('.build');
if (columnBuilds.length === 1) previousColumn.classList.add('no-margin');
} }
this.pipelineGraph.classList.remove('hidden'); this.pipelineGraph.classList.remove('hidden');
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment