%PDF- %PDF-
Direktori : /var/www/html/buggydubrovnik.com/wp-content/plugins/envira-gallery-lite/assets/js/ |
Current File : /var/www/html/buggydubrovnik.com/wp-content/plugins/envira-gallery-lite/assets/js/envira.js |
/** * envira.js is a placeholder, which CodeKit attaches the following JS files to, before compiling as min/envira-min.js: */ import './lib/jquery.justifiedGallery.js'; import './lib/enviraJustifiedGallery-extensions.js'; import './lib/touchsupport.js'; import './lib/touchswipe.js'; import './lib/mousewheel.js'; import './lib/imagesloaded.js'; import './lib/fancybox.js'; import './lib/responsivelyLazy.js'; /** * To load more JS resources: * - Add them to the lib subfolder * - Add the to the imports directive of this file in CodeKit */ /** * If a lightbox caption's link is an anchor, close the lightbox! */ jQuery(document).ready(function ($) { let envira_container; $('body').on( 'click', 'div.envirabox-title a[href*="#"]:not([href="#"])', function (e) { if ( location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') && location.hostname == this.hostname ) { $.envirabox.close(); return false; } }, ); /* setup lazy load event */ $(document).on('envira_image_lazy_load_complete', function (event) { if ( event !== undefined && event.image_id !== undefined && event.image_id !== null ) { // var envira_container = $('div.envira-gallery-public').find('img#' + event.image_id); if ( $('#envira-gallery-wrap-' + event.gallery_id).find( '#' + event.video_id + ' iframe', ).length > 0 ) { envira_container = $( '#envira-gallery-wrap-' + event.gallery_id, ).find('#' + event.video_id + ' iframe'); } else if ( $('#envira-gallery-wrap-' + event.gallery_id).find( '#' + event.video_id + ' video', ).length > 0 ) { envira_container = $( '#envira-gallery-wrap-' + event.gallery_id, ).find('#' + event.video_id + ' video'); } else { envira_container = $( '#envira-gallery-wrap-' + event.gallery_id, ).find('img#' + event.image_id); } if ( $('#envira-gallery-wrap-' + event.gallery_id) .find('div.envira-gallery-public') .hasClass('envira-gallery-0-columns') ) { /* this is an automatic gallery */ $(envira_container) .closest('div.envira-gallery-item-inner') .find('div.envira-gallery-position-overlay') .delay(100) .show(); } else { /* this is a legacy gallery */ $(envira_container) .closest('div.envira-gallery-item-inner') .find('div.envira-gallery-position-overlay') .delay(100) .show(); /* re-do the padding bottom */ /* $padding_bottom = ( $output_height / $output_width ) * 100; */ var envira_lazy_width = $(envira_container) .closest('div.envira-gallery-item-inner') .find('.envira-lazy') .width(); var ratio1 = event.naturalHeight / event.naturalWidth; var ratio2 = event.naturalHeight / envira_lazy_width; if (ratio2 < ratio1) { var ratio = ratio2; } else { var ratio = ratio1; } var padding_bottom = ratio * 100; $(envira_container) .closest('div.envira-gallery-item-inner') .find('.envira-lazy') .css('padding-bottom', padding_bottom + '%'); $(envira_container) .closest('div.envira-gallery-item-inner') .find('.envira-lazy') .data('envira-changed', 'true'); if ( window['envira_container_' + event.gallery_id] !== undefined ) { window['envira_container_' + event.gallery_id].on( 'layoutComplete', function (event, laidOutItems) { $(envira_container) .closest('div.envira-gallery-item-inner') .find('span.envira-title') .delay(1000) .css('visibility', 'visible'); $(envira_container) .closest('div.envira-gallery-item-inner') .find('span.envira-caption') .delay(1000) .css('visibility', 'visible'); }, ); } $('#envira-gallery-' + event.gallery_id).masonry('layout'); } } }); }); function jg_effect_desaturate(src) { var supportsCanvas = !!document.createElement('canvas').getContext; if (supportsCanvas) { var canvas = document.createElement('canvas'), context = canvas.getContext('2d'), imageData, px, length, i = 0, gray, img = new Image(); img.src = src; canvas.width = img.width; canvas.height = img.height; context.drawImage(img, 0, 0); imageData = context.getImageData(0, 0, canvas.width, canvas.height); px = imageData.data; length = px.length; for (; i < length; i += 4) { gray = px[i] * 0.3 + px[i + 1] * 0.59 + px[i + 2] * 0.11; px[i] = px[i + 1] = px[i + 2] = gray; } context.putImageData(imageData, 0, 0); return canvas.toDataURL(); } else { return src; } } function jg_effect_threshold(src) { var supportsCanvas = !!document.createElement('canvas').getContext; if (supportsCanvas) { var canvas = document.createElement('canvas'), context = canvas.getContext('2d'), imageData, px, length, i = 0, gray, img = new Image(); img.src = src; canvas.width = img.width; canvas.height = img.height; context.drawImage(img, 0, 0); imageData = context.getImageData(0, 0, canvas.width, canvas.height); px = imageData.data; length = px.length; threshold = 120; for (var i = 0; i < length; i += 4) { var r = px[i]; var g = px[i + 1]; var b = px[i + 2]; var v = 0.2126 * r + 0.7152 * g + 0.0722 * b >= threshold ? 255 : 0; px[i] = px[i + 1] = px[i + 2] = v; } context.putImageData(imageData, 0, 0); return canvas.toDataURL(); } else { return src; } } function jg_effect_blur(src) { var supportsCanvas = !!document.createElement('canvas').getContext; if (supportsCanvas) { var canvas = document.createElement('canvas'), context = canvas.getContext('2d'), imageData, px, length, i = 0, gray, top_x = 0, top_y = 0, radius = 30, iterations = 1; img = new Image(); img.src = src; canvas.width = img.width; canvas.height = img.height; context.drawImage(img, 0, 0); var imageData; var width = img.width; var height = img.height; imageData = context.getImageData(top_x, top_y, width, height); var pixels = imageData.data; var rsum, gsum, bsum, asum, x, y, i, p, p1, p2, yp, yi, yw, idx; var wm = width - 1; var hm = height - 1; var wh = width * height; var rad1 = radius + 1; var r = []; var g = []; var b = []; var mul_sum = mul_table[radius]; var shg_sum = shg_table[radius]; var vmin = []; var vmax = []; while (iterations-- > 0) { yw = yi = 0; for (y = 0; y < height; y++) { rsum = pixels[yw] * rad1; gsum = pixels[yw + 1] * rad1; bsum = pixels[yw + 2] * rad1; for (i = 1; i <= radius; i++) { p = yw + ((i > wm ? wm : i) << 2); rsum += pixels[p++]; gsum += pixels[p++]; bsum += pixels[p++]; } for (x = 0; x < width; x++) { r[yi] = rsum; g[yi] = gsum; b[yi] = bsum; if (y == 0) { vmin[x] = ((p = x + rad1) < wm ? p : wm) << 2; vmax[x] = (p = x - radius) > 0 ? p << 2 : 0; } p1 = yw + vmin[x]; p2 = yw + vmax[x]; rsum += pixels[p1++] - pixels[p2++]; gsum += pixels[p1++] - pixels[p2++]; bsum += pixels[p1++] - pixels[p2++]; yi++; } yw += width << 2; } for (x = 0; x < width; x++) { yp = x; rsum = r[yp] * rad1; gsum = g[yp] * rad1; bsum = b[yp] * rad1; for (i = 1; i <= radius; i++) { yp += i > hm ? 0 : width; rsum += r[yp]; gsum += g[yp]; bsum += b[yp]; } yi = x << 2; for (y = 0; y < height; y++) { pixels[yi] = (rsum * mul_sum) >>> shg_sum; pixels[yi + 1] = (gsum * mul_sum) >>> shg_sum; pixels[yi + 2] = (bsum * mul_sum) >>> shg_sum; if (x == 0) { vmin[y] = ((p = y + rad1) < hm ? p : hm) * width; vmax[y] = (p = y - radius) > 0 ? p * width : 0; } p1 = x + vmin[y]; p2 = x + vmax[y]; rsum += r[p1] - r[p2]; gsum += g[p1] - g[p2]; bsum += b[p1] - b[p2]; yi += width << 2; } } } context.putImageData(imageData, top_x, top_y); return canvas.toDataURL(); } else { return src; } } function jg_effect_vintage(img) { var options = { onError: function () { alert('ERROR'); }, }; var effect = { vignette: 1, sepia: true, noise: 50, desaturate: 0.2, lighten: 0.1, }; new VintageJS(img, options, effect); }