56 lines
2.0 KiB
Vue
56 lines
2.0 KiB
Vue
<template>
|
|
<div aria-hidden="true" class="pswp" role="dialog" tabindex="-1">
|
|
<div class="pswp__bg"></div>
|
|
<div class="pswp__scroll-wrap">
|
|
<div class="pswp__container">
|
|
<div class="pswp__item"></div>
|
|
<div class="pswp__item"></div>
|
|
<div class="pswp__item"></div>
|
|
</div>
|
|
<div class="pswp__ui pswp__ui--hidden">
|
|
<div class="pswp__top-bar">
|
|
<div class="pswp__counter"></div>
|
|
<button class="pswp__button pswp__button--close" title="Close (Esc)"></button>
|
|
<button class="pswp__button pswp__button--fs" title="Toggle fullscreen"></button>
|
|
<button class="pswp__button pswp__button--zoom" title="Zoom in/out"></button>
|
|
<div class="pswp__preloader">
|
|
<div class="pswp__preloader__icn">
|
|
<div class="pswp__preloader__cut">
|
|
<div class="pswp__preloader__donut"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="pswp__share-modal pswp__share-modal--hidden pswp__single-tap">
|
|
<div class="pswp__share-tooltip"></div>
|
|
</div>
|
|
<button class="pswp__button pswp__button--arrow--left" title="Previous (arrow left)"></button>
|
|
<button class="pswp__button pswp__button--arrow--right" title="Next (arrow right)"></button>
|
|
<div class="pswp__caption">
|
|
<div class="pswp__caption__center"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
<script>
|
|
import 'photoswipe/dist/photoswipe.css';
|
|
import 'photoswipe/dist/default-skin/default-skin.css';
|
|
import PhotoSwipe from 'photoswipe';
|
|
import PhotoSwipeUI_Default from 'photoswipe/dist/photoswipe-ui-default';
|
|
|
|
const defaultOptions = {
|
|
index: 0,
|
|
bgOpacity: 0.75,
|
|
};
|
|
|
|
export default {
|
|
methods: {
|
|
initPhotoSwipe(items = [], options) {
|
|
const pswpElement = this.$el;
|
|
const gallery = new PhotoSwipe(pswpElement, PhotoSwipeUI_Default, items, Object.assign(defaultOptions, options));
|
|
gallery.init();
|
|
},
|
|
},
|
|
};
|
|
</script> |