lightgallery
Version:
lightGallery is a feature-rich, modular JavaScript gallery plugin for building beautiful image and video galleries for the web and the mobile
2 lines (1 loc) • 1.42 kB
JavaScript
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).lgVimeoThumbnail=e()}(this,function(){"use strict";const t="lgInit",e={showVimeoThumbnails:!0,showThumbnailWithPlayButton:!1};var i=Object.defineProperty,o=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,s=Object.prototype.propertyIsEnumerable,l=(t,e,o)=>e in t?i(t,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[e]=o,r=(t,e)=>{for(var i in e||(e={}))n.call(e,i)&&l(t,i,e[i]);if(o)for(var i of o(e))s.call(e,i)&&l(t,i,e[i]);return t};return class{constructor(t){return this.core=t,this.settings=r(r({},e),this.core.settings),this}init(){this.settings.showVimeoThumbnails&&this.core.LGel.on(`${t}.vimeothumbnails`,t=>{const e=t.detail.instance;e.$container.find(".lg-thumb-outer").get()&&this.setVimeoThumbnails(e)})}async setVimeoThumbnails(t){for(let e=0;e<t.galleryItems.length;e++){const i=t.galleryItems[e];if((i.__slideVideoInfo||{}).vimeo){const o=await fetch("https://vimeo.com/api/oembed.json?url="+encodeURIComponent(i.src)),n=await o.json();t.$container.find(".lg-thumb-item").eq(e).find("img").attr("src",this.settings.showThumbnailWithPlayButton?n.thumbnail_url_with_play_button:n.thumbnail_url)}}}destroy(){this.core.LGel.off(".lg.vimeothumbnails"),this.core.LGel.off(".vimeothumbnails")}}});