Bump lightbox to 2.11.4
This commit is contained in:
@@ -22,6 +22,7 @@
|
|||||||
4. Copy settings-sample.php to settings.php and populate
|
4. Copy settings-sample.php to settings.php and populate
|
||||||
5. Go to #admin and create a new project, feed & maps
|
5. Go to #admin and create a new project, feed & maps
|
||||||
6. Add a GPX file named <project_codename>.gpx to /geo/
|
6. Add a GPX file named <project_codename>.gpx to /geo/
|
||||||
|
7. Run composer install
|
||||||
## To Do List
|
## To Do List
|
||||||
* ECMA import/export
|
* ECMA import/export
|
||||||
* Add mail frequency slider
|
* Add mail frequency slider
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*!
|
/*!
|
||||||
* Lightbox v2.11.3
|
* Lightbox v2.11.4
|
||||||
* by Lokesh Dhakar
|
* by Lokesh Dhakar
|
||||||
*
|
*
|
||||||
* More info:
|
* More info:
|
||||||
@@ -46,8 +46,6 @@
|
|||||||
fadeDuration: 600,
|
fadeDuration: 600,
|
||||||
fitImagesInViewport: true,
|
fitImagesInViewport: true,
|
||||||
imageFadeDuration: 600,
|
imageFadeDuration: 600,
|
||||||
// maxWidth: 800,
|
|
||||||
// maxHeight: 600,
|
|
||||||
positionFromTop: 50,
|
positionFromTop: 50,
|
||||||
resizeDuration: 700,
|
resizeDuration: 700,
|
||||||
showImageNumberLabel: true,
|
showImageNumberLabel: true,
|
||||||
@@ -62,10 +60,8 @@
|
|||||||
to prevent xss and other injection attacks.
|
to prevent xss and other injection attacks.
|
||||||
*/
|
*/
|
||||||
sanitizeTitle: false
|
sanitizeTitle: false
|
||||||
//ADDED-START
|
, hasVideo: true
|
||||||
, hasVideo: true
|
|
||||||
, onMediaChange: (oMedia) => {}
|
, onMediaChange: (oMedia) => {}
|
||||||
//ADDED-END
|
|
||||||
};
|
};
|
||||||
|
|
||||||
Lightbox.prototype.option = function(options) {
|
Lightbox.prototype.option = function(options) {
|
||||||
@@ -147,7 +143,6 @@
|
|||||||
</div>\
|
</div>\
|
||||||
').appendTo($('body'));
|
').appendTo($('body'));
|
||||||
|
|
||||||
|
|
||||||
// Cache jQuery objects
|
// Cache jQuery objects
|
||||||
this.$lightbox = $('#lightbox');
|
this.$lightbox = $('#lightbox');
|
||||||
this.$overlay = $('#lightboxOverlay');
|
this.$overlay = $('#lightboxOverlay');
|
||||||
@@ -156,7 +151,6 @@
|
|||||||
this.$image = this.$lightbox.find('.lb-image');
|
this.$image = this.$lightbox.find('.lb-image');
|
||||||
this.$nav = this.$lightbox.find('.lb-nav');
|
this.$nav = this.$lightbox.find('.lb-nav');
|
||||||
|
|
||||||
//ADDED-START
|
|
||||||
if(self.options.hasVideo) {
|
if(self.options.hasVideo) {
|
||||||
this.$video = $('<video class="lb-video" controls autoplay></video>');
|
this.$video = $('<video class="lb-video" controls autoplay></video>');
|
||||||
this.$image.after(this.$video);
|
this.$image.after(this.$video);
|
||||||
@@ -166,8 +160,7 @@
|
|||||||
bottom: parseInt(this.$video.css('border-bottom-width'), 10),
|
bottom: parseInt(this.$video.css('border-bottom-width'), 10),
|
||||||
left: parseInt(this.$video.css('border-left-width'), 10)
|
left: parseInt(this.$video.css('border-left-width'), 10)
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
//ADDED-END
|
|
||||||
|
|
||||||
// Store css values for future lookup
|
// Store css values for future lookup
|
||||||
this.containerPadding = {
|
this.containerPadding = {
|
||||||
@@ -185,11 +178,8 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
// Attach event handlers to the newly minted DOM elements
|
// Attach event handlers to the newly minted DOM elements
|
||||||
//ADDED-START
|
this.$overlay.hide().add(this.$lightbox.find('.lb-dataContainer')).on('click', function() {
|
||||||
//this.$overlay.hide().on('click', function() {
|
self.end();
|
||||||
this.$overlay.hide().add(this.$lightbox.find('.lb-dataContainer')).on('click', function() {
|
|
||||||
//ADDED-END
|
|
||||||
self.end();
|
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -250,9 +240,13 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
this.$lightbox.find('.lb-loader, .lb-close').on('click', function() {
|
this.$lightbox.find('.lb-loader, .lb-close').on('click keyup', function(e) {
|
||||||
self.end();
|
// If mouse click OR 'enter' or 'space' keypress, close LB
|
||||||
return false;
|
if (
|
||||||
|
e.type === 'click' || (e.type === 'keyup' && (e.which === 13 || e.which === 32))) {
|
||||||
|
self.end();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -265,7 +259,6 @@
|
|||||||
|
|
||||||
this.sizeOverlay();
|
this.sizeOverlay();
|
||||||
|
|
||||||
//ADDED-START
|
|
||||||
//Manage Zoom Event
|
//Manage Zoom Event
|
||||||
this.$nav.mousewheel((e) => {
|
this.$nav.mousewheel((e) => {
|
||||||
var asImg = self.album[this.currentImageIndex];
|
var asImg = self.album[this.currentImageIndex];
|
||||||
@@ -324,11 +317,25 @@
|
|||||||
self.$image.css('--translate-x', fTransX + 'px');
|
self.$image.css('--translate-x', fTransX + 'px');
|
||||||
self.$image.css('--translate-y', fTransY + 'px');
|
self.$image.css('--translate-y', fTransY + 'px');
|
||||||
}
|
}
|
||||||
//ADDED-END
|
|
||||||
|
|
||||||
this.album = [];
|
this.album = [];
|
||||||
var imageNumber = 0;
|
var imageNumber = 0;
|
||||||
|
|
||||||
|
function addToAlbum($link) {
|
||||||
|
self.album.push({
|
||||||
|
alt: $link.attr('data-alt'),
|
||||||
|
link: $link.attr('href'),
|
||||||
|
title: $link.attr('data-title') || $link.attr('title')
|
||||||
|
, orientation: $link.attr('data-orientation')
|
||||||
|
, type: $link.attr('data-type')
|
||||||
|
, id: $link.attr('data-id')
|
||||||
|
, $Media: $link.attr('data-type')=='video'?self.$video:self.$image
|
||||||
|
, width: $link.find('img').attr('width')
|
||||||
|
, height: $link.find('img').attr('height')
|
||||||
|
, set: $link.attr('data-lightbox') || $link.attr('rel')
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
// Support both data-lightbox attribute and rel attribute implementations
|
// Support both data-lightbox attribute and rel attribute implementations
|
||||||
var dataLightboxValue = $link.attr('data-lightbox');
|
var dataLightboxValue = $link.attr('data-lightbox');
|
||||||
var $links;
|
var $links;
|
||||||
@@ -336,7 +343,7 @@
|
|||||||
if (dataLightboxValue) {
|
if (dataLightboxValue) {
|
||||||
$links = $($link.prop('tagName') + '[data-lightbox="' + dataLightboxValue + '"]');
|
$links = $($link.prop('tagName') + '[data-lightbox="' + dataLightboxValue + '"]');
|
||||||
for (var i = 0; i < $links.length; i = ++i) {
|
for (var i = 0; i < $links.length; i = ++i) {
|
||||||
this.addToAlbum($($links[i]));
|
addToAlbum($($links[i]));
|
||||||
if ($links[i] === $link[0]) {
|
if ($links[i] === $link[0]) {
|
||||||
imageNumber = i;
|
imageNumber = i;
|
||||||
}
|
}
|
||||||
@@ -344,12 +351,12 @@
|
|||||||
} else {
|
} else {
|
||||||
if ($link.attr('rel') === 'lightbox') {
|
if ($link.attr('rel') === 'lightbox') {
|
||||||
// If image is not part of a set
|
// If image is not part of a set
|
||||||
this.addToAlbum($link);
|
addToAlbum($link);
|
||||||
} else {
|
} else {
|
||||||
// If image is part of a set
|
// If image is part of a set
|
||||||
$links = $($link.prop('tagName') + '[rel="' + $link.attr('rel') + '"]');
|
$links = $($link.prop('tagName') + '[rel="' + $link.attr('rel') + '"]');
|
||||||
for (var j = 0; j < $links.length; j = ++j) {
|
for (var j = 0; j < $links.length; j = ++j) {
|
||||||
this.addToAlbum($($links[j]));
|
addToAlbum($($links[j]));
|
||||||
if ($links[j] === $link[0]) {
|
if ($links[j] === $link[0]) {
|
||||||
imageNumber = j;
|
imageNumber = j;
|
||||||
}
|
}
|
||||||
@@ -358,14 +365,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Position Lightbox
|
// Position Lightbox
|
||||||
//ADDED-START
|
this.$lightbox.fadeIn(this.options.fadeDuration);
|
||||||
//var top = $window.scrollTop() + this.options.positionFromTop;
|
|
||||||
//var left = $window.scrollLeft();
|
|
||||||
this.$lightbox/*.css({
|
|
||||||
top: top + 'px',
|
|
||||||
left: left + 'px'
|
|
||||||
})*/.fadeIn(this.options.fadeDuration);
|
|
||||||
//ADDED-END
|
|
||||||
|
|
||||||
// Disable scrolling of the page while open
|
// Disable scrolling of the page while open
|
||||||
if (this.options.disableScrolling) {
|
if (this.options.disableScrolling) {
|
||||||
@@ -375,24 +375,6 @@
|
|||||||
this.changeImage(imageNumber);
|
this.changeImage(imageNumber);
|
||||||
};
|
};
|
||||||
|
|
||||||
Lightbox.prototype.addToAlbum = function($link) {
|
|
||||||
this.album.push({
|
|
||||||
alt: $link.attr('data-alt'),
|
|
||||||
link: $link.attr('href'),
|
|
||||||
title: $link.attr('data-title') || $link.attr('title')
|
|
||||||
//ADDED-START
|
|
||||||
, orientation: $link.attr('data-orientation')
|
|
||||||
, type: $link.attr('data-type')
|
|
||||||
, id: $link.attr('data-id')
|
|
||||||
, $Media: $link.attr('data-type')=='video'?this.$video:this.$image
|
|
||||||
, width: $link.find('img').attr('width')
|
|
||||||
, height: $link.find('img').attr('height')
|
|
||||||
, set: $link.attr('data-lightbox') || $link.attr('rel')
|
|
||||||
//ADDED-END
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
//ADDED-START
|
|
||||||
Lightbox.prototype.getMaxSizes = function(iMediaWidth, iMediaHeight, sMediaType) {
|
Lightbox.prototype.getMaxSizes = function(iMediaWidth, iMediaHeight, sMediaType) {
|
||||||
var iWindowWidth = $(window).width();
|
var iWindowWidth = $(window).width();
|
||||||
var iWindowHeight = $(window).height();
|
var iWindowHeight = $(window).height();
|
||||||
@@ -473,20 +455,20 @@
|
|||||||
|
|
||||||
// Hide most UI elements in preparation for the animated resizing of the lightbox.
|
// Hide most UI elements in preparation for the animated resizing of the lightbox.
|
||||||
Lightbox.prototype.changeImage = function(imageNumber) {
|
Lightbox.prototype.changeImage = function(imageNumber) {
|
||||||
var self = this;
|
var self = this;
|
||||||
var filename = this.album[imageNumber].link;
|
var filename = this.album[imageNumber].link;
|
||||||
|
|
||||||
// Disable keyboard nav during transitions
|
// Disable keyboard nav during transitions
|
||||||
this.disableKeyboardNav();
|
this.disableKeyboardNav();
|
||||||
|
|
||||||
// Show loading state
|
// Show loading state
|
||||||
this.$overlay.fadeIn(this.options.fadeDuration);
|
this.$overlay.fadeIn(this.options.fadeDuration);
|
||||||
$('.lb-loader').fadeIn('slow');
|
$('.lb-loader').fadeIn('slow');
|
||||||
|
|
||||||
this.$lightbox.find('.lb-image, .lb-video, .lb-nav, .lb-prev, .lb-next, .lb-number, .lb-caption, .lb-close').hide();
|
this.$lightbox.find('.lb-image, .lb-video, .lb-nav, .lb-prev, .lb-next, .lb-number, .lb-caption, .lb-close').hide();
|
||||||
this.$image.css({'--scale': '1', '--translate-x': '0', '--translate-y': '0'});
|
this.$image.css({'--scale': '1', '--translate-x': '0', '--translate-y': '0'});
|
||||||
self.$lightbox.find('.lb-dataContainer').css({width:'200px', height:'30px'});
|
self.$lightbox.find('.lb-dataContainer').css({width:'200px', height:'30px'});
|
||||||
this.$outerContainer.addClass('animating');
|
this.$outerContainer.addClass('animating');
|
||||||
this.$container.removeClass('moveable moving');
|
this.$container.removeClass('moveable moving');
|
||||||
|
|
||||||
this.options.onMediaChange(self.album[imageNumber]);
|
this.options.onMediaChange(self.album[imageNumber]);
|
||||||
@@ -534,31 +516,19 @@
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.currentImageIndex = imageNumber;
|
this.currentImageIndex = imageNumber;
|
||||||
};
|
};
|
||||||
//ADDED-END
|
|
||||||
|
|
||||||
// Stretch overlay to fit the viewport
|
// Stretch overlay to fit the viewport
|
||||||
Lightbox.prototype.sizeOverlay = function(e) {
|
Lightbox.prototype.sizeOverlay = function(e) {
|
||||||
//var self = this;
|
/*
|
||||||
|
|
||||||
/*
|
|
||||||
We use a setTimeout 0 to pause JS execution and let the rendering catch-up.
|
We use a setTimeout 0 to pause JS execution and let the rendering catch-up.
|
||||||
Why do this? If the `disableScrolling` option is set to true, a class is added to the body
|
Why do this? If the `disableScrolling` option is set to true, a class is added to the body
|
||||||
tag that disables scrolling and hides the scrollbar. We want to make sure the scrollbar is
|
tag that disables scrolling and hides the scrollbar. We want to make sure the scrollbar is
|
||||||
hidden before we measure the document width, as the presence of the scrollbar will affect the
|
hidden before we measure the document width, as the presence of the scrollbar will affect the
|
||||||
number.
|
number.
|
||||||
*/
|
*/
|
||||||
//ADDED-START
|
if(e) {
|
||||||
/*
|
|
||||||
setTimeout(function() {
|
|
||||||
self.$overlay
|
|
||||||
.width($(document).width())
|
|
||||||
.height($(document).height());
|
|
||||||
|
|
||||||
}, 0);
|
|
||||||
*/
|
|
||||||
if(e) {
|
|
||||||
if(typeof oResizeTimer != 'undefined') clearTimeout(oResizeTimer);
|
if(typeof oResizeTimer != 'undefined') clearTimeout(oResizeTimer);
|
||||||
oResizeTimer = setTimeout(
|
oResizeTimer = setTimeout(
|
||||||
() => {
|
() => {
|
||||||
@@ -573,17 +543,16 @@
|
|||||||
},
|
},
|
||||||
200
|
200
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
//ADDED-END
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// Animate the size of the lightbox to fit the image we are showing
|
// Animate the size of the lightbox to fit the image we are showing
|
||||||
// This method also shows the the image.
|
// This method also shows the the image.
|
||||||
//ADDED-START
|
//ADDED-START
|
||||||
//Lightbox.prototype.sizeContainer = function(imageWidth, imageHeight) {
|
//Lightbox.prototype.sizeContainer = function(imageWidth, imageHeight) {
|
||||||
Lightbox.prototype.sizeContainer = function(imageWidth, imageHeight, media) {
|
Lightbox.prototype.sizeContainer = function(imageWidth, imageHeight, media) {
|
||||||
media = media || 'image';
|
media = media || 'image';
|
||||||
//ADDED-END
|
//ADDED-END
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
var oldWidth = this.$outerContainer.outerWidth();
|
var oldWidth = this.$outerContainer.outerWidth();
|
||||||
@@ -597,19 +566,13 @@
|
|||||||
//ADDED-END
|
//ADDED-END
|
||||||
|
|
||||||
function postResize() {
|
function postResize() {
|
||||||
//ADDED-START
|
|
||||||
//self.$lightbox.find('.lb-dataContainer').width(newWidth);
|
|
||||||
if(self.$lightbox.hasClass('vertical')) self.$lightbox.find('.lb-dataContainer').width(newWidth);
|
if(self.$lightbox.hasClass('vertical')) self.$lightbox.find('.lb-dataContainer').width(newWidth);
|
||||||
else self.$lightbox.find('.lb-dataContainer').height(newHeight);
|
else self.$lightbox.find('.lb-dataContainer').height(newHeight);
|
||||||
//ADDED-END
|
|
||||||
self.$lightbox.find('.lb-prevLink').height(newHeight);
|
self.$lightbox.find('.lb-prevLink').height(newHeight);
|
||||||
self.$lightbox.find('.lb-nextLink').height(newHeight);
|
self.$lightbox.find('.lb-nextLink').height(newHeight);
|
||||||
|
|
||||||
// Set focus on one of the two root nodes so keyboard events are captured.
|
// Set focus on one of the two root nodes so keyboard events are captured.
|
||||||
//ADDED-START
|
self.$overlay.trigger('focus');
|
||||||
//self.$overlay.focus();
|
|
||||||
self.$overlay.trigger( 'focus' );
|
|
||||||
//ADDED-END
|
|
||||||
|
|
||||||
self.showImage();
|
self.showImage();
|
||||||
}
|
}
|
||||||
@@ -630,11 +593,8 @@
|
|||||||
Lightbox.prototype.showImage = function() {
|
Lightbox.prototype.showImage = function() {
|
||||||
this.$lightbox.find('.lb-loader').stop(true).hide();
|
this.$lightbox.find('.lb-loader').stop(true).hide();
|
||||||
|
|
||||||
//ADDED-START
|
|
||||||
//this.$lightbox.find('.lb-image').fadeIn(this.options.imageFadeDuration);
|
|
||||||
if(this.options.hasVideo && this.album[this.currentImageIndex].type == 'video') this.$lightbox.find('.lb-video').fadeIn(this.options.imageFadeDuration);
|
if(this.options.hasVideo && this.album[this.currentImageIndex].type == 'video') this.$lightbox.find('.lb-video').fadeIn(this.options.imageFadeDuration);
|
||||||
else this.$lightbox.find('.lb-image').fadeIn(this.options.imageFadeDuration);
|
else this.$lightbox.find('.lb-image').fadeIn(this.options.imageFadeDuration);
|
||||||
//ADDED-END
|
|
||||||
|
|
||||||
this.updateNav();
|
this.updateNav();
|
||||||
this.updateDetails();
|
this.updateDetails();
|
||||||
@@ -691,29 +651,10 @@
|
|||||||
$caption.text(this.album[this.currentImageIndex].title);
|
$caption.text(this.album[this.currentImageIndex].title);
|
||||||
} else {
|
} else {
|
||||||
$caption.html(this.album[this.currentImageIndex].title);
|
$caption.html(this.album[this.currentImageIndex].title);
|
||||||
}
|
}
|
||||||
//ADDED-START
|
|
||||||
//$caption.fadeIn('fast');
|
|
||||||
$caption.add(this.$lightbox.find('.lb-close')).fadeIn('fast');
|
$caption.add(this.$lightbox.find('.lb-close')).fadeIn('fast');
|
||||||
//ADDED-END
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//ADDED-START
|
|
||||||
/*
|
|
||||||
//ADDED-END
|
|
||||||
if (this.album.length > 1 && this.options.showImageNumberLabel) {
|
|
||||||
var labelText = this.imageCountLabel(this.currentImageIndex + 1, this.album.length);
|
|
||||||
//ADDED-START
|
|
||||||
//this.$lightbox.find('.lb-number').text(labelText).fadeIn('fast');
|
|
||||||
this.$lightbox.find('.lb-number').empty().append(labelText).fadeIn('fast');
|
|
||||||
//ADDED-END
|
|
||||||
} else {
|
|
||||||
this.$lightbox.find('.lb-number').hide();
|
|
||||||
}
|
|
||||||
//ADDED-START
|
|
||||||
*/
|
|
||||||
//ADDED-END
|
|
||||||
|
|
||||||
this.$outerContainer.removeClass('animating');
|
this.$outerContainer.removeClass('animating');
|
||||||
|
|
||||||
this.$lightbox.find('.lb-dataContainer').fadeIn(this.options.resizeDuration, function() {
|
this.$lightbox.find('.lb-dataContainer').fadeIn(this.options.resizeDuration, function() {
|
||||||
@@ -734,9 +675,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
Lightbox.prototype.enableKeyboardNav = function() {
|
Lightbox.prototype.enableKeyboardNav = function() {
|
||||||
//ADDED-START
|
this.disableKeyboardNav();
|
||||||
this.disableKeyboardNav();
|
|
||||||
//ADDED-END
|
|
||||||
this.$lightbox.on('keyup.keyboard', $.proxy(this.keyboardAction, this));
|
this.$lightbox.on('keyup.keyboard', $.proxy(this.keyboardAction, this));
|
||||||
this.$overlay.on('keyup.keyboard', $.proxy(this.keyboardAction, this));
|
this.$overlay.on('keyup.keyboard', $.proxy(this.keyboardAction, this));
|
||||||
};
|
};
|
||||||
@@ -775,19 +714,17 @@
|
|||||||
Lightbox.prototype.end = function() {
|
Lightbox.prototype.end = function() {
|
||||||
this.disableKeyboardNav();
|
this.disableKeyboardNav();
|
||||||
|
|
||||||
//ADDED-START
|
if(this.options.hasVideo) {
|
||||||
if(this.options.hasVideo) {
|
var $lbContainer = this.$lightbox.find('.lb-container');
|
||||||
var $lbContainer = this.$lightbox.find('.lb-container');
|
var $hasVideoNav = $lbContainer.hasClass('lb-video-nav');
|
||||||
var $hasVideoNav = $lbContainer.hasClass('lb-video-nav');
|
this.$video.attr('src', '');
|
||||||
this.$video.attr('src', '');
|
|
||||||
|
|
||||||
if($hasVideoNav) $lbContainer.removeClass('lb-video-nav');
|
if($hasVideoNav) $lbContainer.removeClass('lb-video-nav');
|
||||||
}
|
}
|
||||||
oSpot.flushHash();
|
oSpot.flushHash();
|
||||||
//ADDED-END
|
|
||||||
|
|
||||||
$(window).off('resize', this.sizeOverlay);
|
$(window).off('resize', this.sizeOverlay);
|
||||||
this.$nav.off('mousewheel');
|
this.$nav.off('mousewheel');
|
||||||
this.$lightbox.fadeOut(this.options.fadeDuration);
|
this.$lightbox.fadeOut(this.options.fadeDuration);
|
||||||
this.$overlay.fadeOut(this.options.fadeDuration);
|
this.$overlay.fadeOut(this.options.fadeDuration);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user