PageSourceSearch

https://www.inprogroup.com.my/wp-content/plugins/wp-booklet/assets/js/jquery.wpbooklet-extended.js?ver=7.1.2

js inprogroup.com.my collected 2026-10-06 13:15:27 UTC 7,305 bytes, 256 lines download raw bytes

1( function($) {
2	
3	$.fn.wpBookletExtended = function(settings) {
4		
5		$(this).each( function(i,v) {
6			
7			new wpbookletExtended(jQuery(v),settings); 
8			
9		});
10		
11	}
12	
13	function wpbookletExtended(container,opts) {
14		
15		var settings = opts;
16		var booklet = container.find(".wp-booklet");
17		var bookletThumbsContainer = container.find(".wp-booklet-thumbs");
18		
19		function _construct() {
20			
21			prepareSettings();
22			setUpBooklet();
23			setUpCarousel();
24			resizeBooklet();
25			initializePopups();
26			
27		}
28		
29		function prepareSettings() {
30			
31			var defaults = {
32				width:600,
33				height:400,
34				speed:1000,
35				delay:5000,
36				arrowsEnabled:false,
37				pageNumbersEnabled:true,
38				coverBehavior:'open',
39				padding:10,
40				thumbnailsEnabled:false,
41				popupsEnabled:false,
42				bookletMargin:45,
43				direction:'LTR',
44				thumbnailsContainerMargin:11
45			}
46			
47			settings = $.extend(defaults,settings);
48		
49			settings.bookletWidth = settings.width + ( 4 * settings.padding);
50			settings.bookletHeight = settings.height + ( 2 * settings.padding);
51			settings.containerWidth = settings.bookletWidth + settings.bookletMargin * 2;
52			settings.bookletThumbsContainerWidth = settings.bookletWidth - settings.thumbnailsContainerMargin * 2;
53		
54			
55		}
56		
57		function setUpBooklet() {
58			
59		var bookletSettings = {
60			width:settings.bookletWidth,
61			height:settings.bookletHeight,
62			speed:settings.speed,
63			create: function(event, data) {
64				
65				if ( settings.thumbnailsEnabled ) {
66					bookletThumbsContainer.find(' .wp-booklet-carousel li:eq(0) a').addClass('selected');
67				}
68				
69			},
70			direction:settings.direction,
71			arrows: settings.arrowsEnabled,
72			pageNumbers: settings.pageNumbersEnabled,
73			start: function(event, data) { 
74				
75				if ( settings.thumbnailsEnabled ) {
76
77					var index = data.index;
78					
79					if ( settings.coverBehavior != 'open' ) {
80						index--;
81					}
82					
83					if ( index < 0 ) {
84						index = 0;
85					}
86					
87					var carouselPage = booklet.find(".page").eq(index).attr("data-page");
88					
89					bookletThumbsContainer.find(' .wp-booklet-carousel li a').removeClass('selected');
90					bookletThumbsContainer.find(' .wp-booklet-carousel li:eq('+carouselPage+') a').addClass('selected');
91					bookletThumbsContainer.find(" .wp-booklet-carousel").wpbookletcarousel('scroll', carouselPage);
92					
93				}
94				
95			},
96			pagePadding:settings.padding
97		};
98		
99		if ( settings.delay > 0 ) {
100			bookletSettings.auto = true;
101			bookletSettings.delay =  settings.delay;
102		}
103		
104		if ( settings.coverBehavior == 'center-closed' ) {
105			bookletSettings.autoCenter = true;
106		}
107		
108		if ( settings.coverBehavior != 'open' ) {
109			bookletSettings.closed = true;
110		}
111		else {
112			bookletSettings.closed = ( ( settings.coverBehavior == 'center-closed' || settings.coverBehavior == 'closed' ) ? true : false );
113		}
114		
115		booklet.wpbooklet(bookletSettings);
116		
117		booklet.find(".page").css("padding",settings.padding);
118		
119		booklet.find(".page img").each( function(i,v) {
120			var img = jQuery(v);
121			var src = img.attr("src");
122			var preloader = jQuery("<div class='wp-booklet-image-loader' data-src='"+src+"'></div>");
123			img.after(preloader);
124			img.remove();
125		});
126		
127		loadImages([
128			booklet.find(".b-p0 .wp-booklet-image-loader"),
129			booklet.find(".b-p1 .wp-booklet-image-loader"),
130			booklet.find(".b-p2 .wp-booklet-image-loader")
131		]);
132		booklet.bind('bookletchange', function(event,data) {
133			var pages = [
134							booklet.find(".wp-booklet-image-loader").eq(data.index-1),
135							booklet.find(".wp-booklet-image-loader").eq(data.index),
136							booklet.find(".wp-booklet-image-loader").eq((data.index+1))
137						];
138			loadImages(pages);
139		});
140			
141		}
142		
143		function setUpCarousel() {
144			
145			if ( settings.thumbnailsEnabled ) {
146				bookletThumbsContainer.find('.wp-booklet-carousel').wpbookletcarousel({
147					rtl: ( settings.direction=='LTR' ? false : true )
148				});
149				bookletThumbsContainer.find('.wp-booklet-carousel-prev').wpbookletcarouselControl({ target: '-=1' });
150				bookletThumbsContainer.find('.wp-booklet-carousel-next').wpbookletcarouselControl({ target: '+=1' }); 
151				jQuery('.wp-booklet-carousel-next, .wp-booklet-carousel-prev').on('wpbookletcarouselcontrol:active', function(e) {
152					jQuery(e.currentTarget).removeClass('inactive');
153				});
154				jQuery('.wp-booklet-carousel-next, .wp-booklet-carousel-prev').on('wpbookletcarouselcontrol:inactive', function(e) {
155					jQuery(e.currentTarget).addClass('inactive');
156				});
157				bookletThumbsContainer.find('.wp-booklet-carousel a').on('click', function(e) {
158					bookletThumbsContainer.find(' .wp-booklet-carousel li a').removeClass('selected');
159					jQuery(e.currentTarget).addClass('selected');
160					
161					if ( settings.coverBehavior == 'open' ) {
162						var index = jQuery(e.currentTarget).parent().parent().find("li").index( jQuery(e.currentTarget).parent() );
163						if ( index == 0 ) { index = 'start' }
164					}
165					else {
166						var index = jQuery(e.currentTarget).parent().parent().find("li").index( jQuery(e.currentTarget).parent() ) + 1;
167						if ( index == 1 ) { index = 'start' }
168					}
169					booklet.wpbooklet('gotopage',index);
170				});
171
172				
173			}
174			
175		}
176		 
177		function resizeBooklet() {
178			 
179			resizeBooklet();
180			jQuery(window).resize(resizeBooklet);
181			function resizeBooklet() {
182			
183				jQuery(booklet).each( function(i,v) {
184					var allowedWidth = jQuery(v).parent().parent().width();
185				
186					jQuery(v).wpbooklet("option","width",allowedWidth - settings.bookletMargin * 2);
187					jQuery(v).wpbooklet("option","height",((allowedWidth - settings.bookletMargin * 2) / 2) * settings.height / settings.width);
188					jQuery(v).parent().find(".wp-booklet-thumbs-light").width( allowedWidth - settings.bookletMargin * 2 );
189				});
190			}
191			
192		}
193		 
194		function initializePopups() {
195			 
196			 if ( settings.popupsEnabled ) {
197			
198			booklet.find(".wp-booklet-popup-trigger").wpbookletImagePopup({
199				overlayClass:'wpbooklet-image-popup-overlay-light',
200				beforeOpen: function(popup, link) {
201					
202					booklet.wpbooklet( "option", "auto", false );
203					
204					if ( typeof link.attr("data-link") !== "undefined" ) {
205					
206						popup.find("img").wrap("<a>");
207						popup.find("a").attr("href", link.attr("data-link"));
208					
209					}					
210						
211				},
212				afterClose: function(popup, link) {
213					
214					if ( settings.delay ) {
215						booklet.wpbooklet( "option", "auto", true );
216					}
217					else {
218						booklet.wpbooklet( "option", "auto", false );
219					}
220					
221				}
222			});
223			
224		}
225			
226		}
227		
228		function loadImages(pages) {
229			jQuery.each(pages, function(i,v) {
230				var imageLoader = v;
231				var src = imageLoader.attr("data-src");
232				var img = jQuery("<img/>");
233				
234				if ( imageLoader.siblings("img").length == 0 ) {
235					img.attr("src",src);
236					img.one("load", function(e) {
237						if ( imageLoader.is(":visible") ) {
238							imageLoader.after(jQuery(e.currentTarget));
239							imageLoader.hide();
240						}	
241					}).each( function(i,v) {
242						if(jQuery(v).complete) {
243							jQuery(v).load();
244						}
245					});
246				}
247				
248			});
249			
250		}
251		
252		_construct();
253		
254	}
255
256})(jQuery);

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.