PageSourceSearch

https://noretafamilymed.com/wp-content/plugins/diviflash/public/js/justifyGallery.js?ver=5.3.1

js noretafamilymed.com collected 2026-10-04 20:51:10 UTC 12,871 bytes, 267 lines download raw bytes

1(function($){
2    if (jQuery().justifiedGallery) {
3        jQuery('.df_jsg_container').each(function(index, element) {
4
5            var settings = JSON.parse(element.dataset.settings);
6            var _this = jQuery(this);
7            var image_obj = settings.gallery.split(",");
8            var image_count = parseInt(settings.image_count);
9            var target = settings.url_target;
10            var lg_options = {
11                use_lightbox: settings.use_lightbox,
12                download: settings.use_lightbox_download === 'on' ? true : false
13            }
14
15            if (typeof imagesLoaded === "function") {
16                // js gallery
17                df_init_jsgallery(
18                    _this.find('.justified-gallery'), 
19                    settings
20                );
21
22                // load more functionality
23                _this.find('.jsg-more-image-btn')
24                .on('click', function(event) {
25                    event.preventDefault();
26                    event.target.classList.add('loading')
27
28                    var pageCount = parseInt(event.target.dataset.page);
29                    var loaded = parseInt(event.target.dataset.loaded);
30
31                    fetch(window.et_pb_custom.ajaxurl, {
32                        method: 'POST',
33                        credentials: 'same-origin',
34                        headers: {
35                            'Content-Type': 'application/x-www-form-urlencoded',
36                            'Cache-Control': 'no-cache',
37                        },
38                        body: new URLSearchParams({
39                            et_frontend_nonce: window.et_pb_custom.et_frontend_nonce,
40                            action: 'df_jsg_fetch',
41                            gallery: settings.gallery,
42                            image_count: image_count,
43                            show_caption: settings.show_caption,
44                            ini_count: settings.ini_count,
45                            show_content_lg: settings.show_content_lg,
46                            loaded: loaded,
47                            options: JSON.stringify(settings)
48                        })
49                    })
50                    .then(function (response) { return response.json()})
51                    .then(function (response) {
52                        let parsedHtml = jQuery.parseHTML(response.data);
53
54
55                        if ( loaded >= image_obj.length) {
56                            event.target.style.display = "none";
57                        } else {
58                            _this
59                            .find('.justified-gallery')
60                            .append(parsedHtml)
61                            loaded = loaded + image_count;
62                            event.target.setAttribute("data-loaded", loaded);
63                            if(loaded >= image_obj.length){event.target.style.display = "none";}
64                        }
65                        event.target.classList.remove('loading')
66                        df_jsg_use_lightbox(
67                            element
68                            .querySelector('.justified-gallery'),
69                            lg_options
70                        )
71                    })
72                    .then(function() {
73                        df_init_jsgallery(
74                            _this.find('.justified-gallery'), 
75                            settings
76                        );
77                    })
78                })
79
80                // pagination functionality start
81                const pageElem = element.querySelector('.df-jsg-pagination');
82                if (pageElem !== null) {
83                    const pageTags = pageElem.querySelectorAll('a');
84
85                    pageElem.addEventListener( 'click', function( event ) {
86                        event.preventDefault();
87                        window.scrollTo({ top: $(element).offset().top-150, behavior: 'smooth' });
88                        // Ditect mouse click outside button
89                        if( !event.target.classList.contains('page-numbers')){
90                            return;
91                        }
92                        let firstPage,lastPage;
93                        for ( var i=0, len = pageTags.length; i < len; i++ ) {
94                            var pageTag = pageTags[i];
95                            pageTag.classList.remove('current');
96                        }
97
98                        // only work with buttons
99						if ( ! event.target.classList.contains( 'page-numbers' ) ) {
100							return;
101						}
102
103                        let pageNumber = '';
104                        const imgCount = event.target.getAttribute('data-count');
105                        if('on' === settings.use_number_pagination){
106                            if(event.target.classList.contains('prev')){
107                                const currentPage = event.target.getAttribute('data-current');
108                                if(currentPage === pageTags[1].getAttribute('data-page')){
109                                    pageTags[1].classList.add('current');
110                                    return;
111                                }
112                                pageNumber = parseInt(currentPage)-1;
113                                pageTags[pageNumber].classList.add('current');
114                                pageTags[0].setAttribute('data-current', pageNumber);
115                                pageTags[pageTags.length-1].setAttribute('data-current', pageNumber);
116                            }
117                            else if(event.target.classList.contains('next')){
118                                const currentPage = event.target.getAttribute('data-current');
119                                if(currentPage === pageTags[(parseInt(pageTags.length)-2)].getAttribute('data-page')){
120                                    pageTags[pageTags.length-2].classList.add('current');
121                                    return;
122                                }
123                                pageNumber = parseInt(currentPage)+1;
124                                pageTags[pageNumber].classList.add('current');
125                                pageTags[0].setAttribute('data-current', pageNumber);
126                                pageTags[pageTags.length-1].setAttribute('data-current', pageNumber);
127                            }
128                            else{
129                                pageNumber = event.target.getAttribute('data-page');
130                                event.target.classList.add('current');
131                                pageTags[0].setAttribute('data-current', pageNumber);
132                                pageTags[pageTags.length-1].setAttribute('data-current', pageNumber);
133                            }
134                            (parseInt(pageNumber) > 1)?pageTags[0].style.display = 'flex':pageTags[0].style.display = 'none';
135                            (parseInt(pageNumber) === pageTags.length-2)?pageTags[pageTags.length-1].style.display = 'none':pageTags[pageTags.length-1].style.display = 'flex';
136                        }
137                        else{
138                            if(event.target.classList.contains('prev')){
139                                const currentPage = event.target.getAttribute('data-current');
140                                pageNumber = parseInt(currentPage)-1;
141                                pageTags[0].setAttribute('data-current', pageNumber);
142                                pageTags[pageTags.length-1].setAttribute('data-current', pageNumber);
143                            }
144                            else if(event.target.classList.contains('next')){
145                                const currentPage = event.target.getAttribute('data-current');
146                                pageNumber = parseInt(currentPage)+1;
147                                pageTags[0].setAttribute('data-current', pageNumber);
148                                pageTags[pageTags.length-1].setAttribute('data-current', pageNumber);
149                            }
150                            (parseInt(pageNumber) > 1)?pageTags[0].style.display = 'block':pageTags[0].style.display = 'none';
151                            (parseInt(pageNumber) === Math.ceil(settings.gallery.split(",").length/parseInt(imgCount)))?pageTags[pageTags.length-1].style.display = 'none':pageTags[pageTags.length-1].style.display = 'block';
152
153                        }
154
155                        const ajaxurl = window.et_pb_custom.ajaxurl;
156                        fetch(ajaxurl, {
157                            method: 'POST',
158                            credentials: 'same-origin',
159                            headers: {
160                                'Content-Type': 'application/x-www-form-urlencoded',
161                                'Cache-Control': 'no-cache',
162                            },
163                            body: new URLSearchParams({
164                                et_frontend_nonce: window.et_pb_custom.et_frontend_nonce,
165                                action: 'df_jsg_fetch_page_data',
166                                gallery: settings.gallery,
167                                page: parseInt(pageNumber),
168                                image_count: parseInt(settings.image_count),
169                                options: JSON.stringify(settings)
170                            })
171                        })
172                            .then(function(response) { return response.json()})
173                            .then(function(response) {
174                                let parsedHtml = jQuery.parseHTML(response.data);
175                                if ( parseInt(imgCount) >= image_obj.length) {
176                                    event.target.style.display = "none";
177                                } else {
178                                    _this
179                                        .find('.justified-gallery')
180                                        .empty()
181                                        .append(parsedHtml)
182                                    if(parseInt(imgCount) >= image_obj.length){event.target.style.display = "none";}
183                                }
184                                df_jsg_use_lightbox(
185                                    element
186                                        .querySelector('.justified-gallery'),
187                                    lg_options
188                                );
189                            })
190                            .then(function() {
191                                df_init_jsgallery(
192                                    _this.find('.justified-gallery'),
193                                    settings
194                                );
195                            })
196                    });
197                }
198                // pagination functionality end
199
200                // lightbox functionality
201                df_jsg_use_lightbox(
202                    element
203                    .querySelector('.justified-gallery'),
204                    lg_options
205                ); 
206            }
207            
208            
209        })
210    }
211    jQuery(document.body).on('click','.df_jsg_image', function(event) {
212        if(jQuery(this).data('customurl')) {
213            var url = jQuery(this).data('customurl');
214            var target = jQuery(this).data('target')
215            if (url !== '') {
216                if (target === 'same_window') {
217                    window.location = url;
218                } else {
219                    window.open(url)
220                }
221            }
222        } 
223    })
224})(jQuery)
225
226function df_init_jsgallery(selector, settings) {
227    selector.imagesLoaded()
228    .done(function(){
229        selector.justifiedGallery({
230            rowHeight : parseInt(settings.rowHeight),
231            margins : parseInt(settings.margin),
232            selector : 'figure, div:not(.spinner)',
233            captions: false,
234            imagesAnimationDuration: 500,
235            waitThumbnailsLoad: false
236        }).on('jg.complete', function(e){
237            
238            jQuery(this).find('img')
239                .css('transition', 'all 600ms ease')
240    
241            jQuery(this).find('.df_jsg_image')
242                .fadeIn("slow")
243                .removeClass('image_loading');
244
245            // support for lazy load for smush
246
247            const lazyImages = [].slice.call( document.querySelectorAll( '.df_jsg_container img.lazyloaded' ) );
248            lazyImages.forEach( function ( image ) {
249                image.src = image.dataset.src;
250            } )
251        })
252    })
253    
254}
255
256function df_jsg_use_lightbox(selector, options) {
257    if (options.use_lightbox === 'on') {
258        var settings = {
259            subHtmlSelectorRelative: true,
260            addClass: 'df_jsg_lightbox', 
261            counter: false,
262            download: options.download
263        };
264        lightGallery(selector,settings);
265    }
266}
267

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.