MediaWiki:Common.js: Difference between revisions

From Mor Afgin Website
No edit summary
No edit summary
 
(21 intermediate revisions by the same user not shown)
Line 1: Line 1:
/* Any JavaScript here will be loaded for all users on every page load. */
// Initialize PhotoSwipe
 
mw.loader.using(['ext.photoSwipe'], function() {
// Load Fancybox CSS
    var config = mw.config.get('wgPhotoSwipeConfig');
$('<link>')
    if (!config) {
  .appendTo('head')
        // Default configuration if none exists
  .attr({
        config = {
    type: 'text/css',
            mode: 'recommended',
    rel: 'stylesheet',
            options: {
    href: 'https://cdn.jsdelivr.net/npm/@fancyapps/fancybox@3.5.7/dist/jquery.fancybox.min.css'
                gallery: 'table.gallery',
  });
                children: 'a.img',
 
                thumbSelector: 'a.img',
// Load Fancybox JS
                allowPanToNext: false,
$.getScript('https://cdn.jsdelivr.net/npm/@fancyapps/fancybox@3.5.7/dist/jquery.fancybox.min.js', function() {
                wheelToZoom: true
    // Apply Fancybox to all images inside the gallery
            }
    $('.fancybox-gallery img').each(function() {
         };
         var $image = $(this);
         mw.config.set('wgPhotoSwipeConfig', config);
         var src = $image.attr('src');  // Get image source
     }
        $image.wrap('<a data-fancybox="gallery" href="' + src + '"></a>'); // Wrap each image in a Fancybox-enabled link
     });
});
});

Latest revision as of 19:05, 28 October 2024

// Initialize PhotoSwipe
mw.loader.using(['ext.photoSwipe'], function() {
    var config = mw.config.get('wgPhotoSwipeConfig');
    if (!config) {
        // Default configuration if none exists
        config = {
            mode: 'recommended',
            options: {
                gallery: 'table.gallery',
                children: 'a.img',
                thumbSelector: 'a.img',
                allowPanToNext: false,
                wheelToZoom: true
            }
        };
        mw.config.set('wgPhotoSwipeConfig', config);
    }
});