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:
authorKushal Pandya <kushal@gitlab.com>2016-12-09 15:26:25 +0300
committerKushal Pandya <kushal@gitlab.com>2016-12-21 10:46:17 +0300
commitc02945ac95ee3374007249f07211cbf6002a2fa2 (patch)
tree5ca26ba22492897b76d82295fa4349d14c208fa7 /app/assets/javascripts/build.js
parenta8fa87ce9d0dea1baed7c40e10a6b19da99ec6e4 (diff)
Cache commonly referenced DOM elements, cleaning up
Diffstat (limited to 'app/assets/javascripts/build.js')
-rw-r--r--app/assets/javascripts/build.js69
1 files changed, 29 insertions, 40 deletions
diff --git a/app/assets/javascripts/build.js b/app/assets/javascripts/build.js
index 51ac8d7970b..5983bd86e8e 100644
--- a/app/assets/javascripts/build.js
+++ b/app/assets/javascripts/build.js
@@ -31,6 +31,15 @@
this.buildStage = options.buildStage;
this.updateDropdown = bind(this.updateDropdown, this);
this.$document = $(document);
+ this.$body = $('body');
+ this.$buildTrace = $('#build-trace');
+ this.$autoScrollContainer = $('.autoscroll-container');
+ this.$autoScrollStatus = $('#autoscroll-status');
+ this.$upBuildTrace = $('#up-build-trace');
+ this.$downBuildTrace = $('#down-build-trace');
+ this.$scrollTopBtn = $('#scroll-top');
+ this.$scrollBottomBtn = $('#scroll-bottom');
+
clearInterval(Build.interval);
// Init breakpoint checker
this.bp = Breakpoints.get();
@@ -123,24 +132,15 @@
};
Build.prototype.checkAutoscroll = function() {
- if ("enabled" === $("#autoscroll-status").data("state")) {
+ if ($("#autoscroll-status").data("state") === "enabled") {
return $("html,body").scrollTop($("#build-trace").height());
}
};
Build.prototype.initScrollButtonAffix = function() {
- var $body = $('body');
- var $buildTrace = $('#build-trace');
- var $scrollTopBtn = $('#scroll-top');
- var $scrollBottomBtn = $('#scroll-bottom');
- var $autoScrollContainer = $('.autoscroll-container');
-
- $scrollTopBtn.hide().removeClass('sticky');
- $scrollBottomBtn.show().addClass('sticky');
-
- if ($autoScrollContainer.length) {
- $autoScrollContainer.hide();
- }
+ this.$scrollTopBtn.hide().removeClass('sticky');
+ this.$scrollBottomBtn.show().addClass('sticky');
+ this.$autoScrollContainer.hide();
}
// Page scroll listener to detect if user has scrolling page
@@ -158,43 +158,32 @@
// - Show Bottom Arrow button
// - Disable Autoscroll and hide indicator (when build is running)
Build.prototype.initScrollMonitor = function() {
- var $body = $('body');
- var $buildTrace = $('#build-trace');
- var $autoScrollContainer = $('.autoscroll-container');
- var $autoScrollStatus = $('#autoscroll-status');
- var $upBuildTrace = $('#up-build-trace');
- var $downBuildTrace = $('#down-build-trace');
- var $scrollTopBtn = $('#scroll-top');
- var $scrollBottomBtn = $('#scroll-bottom');
-
- if (isInViewport($upBuildTrace)) { // User is at Top of Build Log
- $scrollTopBtn.hide().removeClass('sticky');
- $scrollBottomBtn.show().addClass('sticky');
+ if (isInViewport(this.$upBuildTrace)) { // User is at Top of Build Log
+ this.$scrollTopBtn.hide().removeClass('sticky');
+ this.$scrollBottomBtn.show().addClass('sticky');
}
- if (isInViewport($downBuildTrace)) { // User is at Bottom of Build Log
- $scrollTopBtn.show().addClass('sticky');
- $scrollBottomBtn.hide().removeClass('sticky');
+ if (isInViewport(this.$downBuildTrace)) { // User is at Bottom of Build Log
+ this.$scrollTopBtn.show().addClass('sticky');
+ this.$scrollBottomBtn.hide().removeClass('sticky');
- if ($autoScrollContainer.length) { // Show and Reposition Autoscroll Status Message
- $autoScrollContainer.show().css({ top: $body.outerHeight() - 75 });
- $autoScrollStatus.find('.status-text').addClass('animate');
- }
+ // Show and Reposition Autoscroll Status Indicator
+ this.$autoScrollContainer.css({ top: this.$body.outerHeight() - 75 }).fadeIn(100);
+ this.$autoScrollStatus.find('.status-text').addClass('animate');
}
- if (!isInViewport($upBuildTrace) && !isInViewport($downBuildTrace)) { // User is somewhere in middle of Build Log
- $scrollTopBtn.show().addClass('sticky');
- $scrollBottomBtn.show().addClass('sticky');
+ if (!isInViewport(this.$upBuildTrace) && !isInViewport(this.$downBuildTrace)) { // User is somewhere in middle of Build Log
+ this.$scrollTopBtn.show().addClass('sticky');
+ this.$scrollBottomBtn.show().addClass('sticky');
- if ($autoScrollContainer.length) {
- $autoScrollContainer.hide();
- $autoScrollStatus.find('.status-text').removeClass('animate');
- }
+ // Hide Autoscroll Status Indicator
+ this.$autoScrollContainer.hide();
+ this.$autoScrollStatus.find('.status-text').removeClass('animate');
}
if (this.buildStatus === "running" || this.buildStatus === "pending") {
// Check if Refresh Animation is in Viewport and enable Autoscroll, disable otherwise.
- $autoScrollStatus.data("state", isInViewport($('.js-build-refresh')) ? 'enabled' : 'disabled');
+ this.$autoScrollStatus.data("state", isInViewport($('.js-build-refresh')) ? 'enabled' : 'disabled');
}
};