PageSourceSearch

https://rwandabar.rw/wp-content/themes/wiselogix/assets/js/custom.js?ver=1791565633

js rwandabar.rw collected 2026-10-09 17:08:13 UTC 9,971 bytes, 317 lines download raw bytes

1/* Custom JavaScript/jQuery */
2jQuery(document).ready($ => {
3	// Use these ajax url and nonce for custom ajax requests
4	const ajaxUrl = ajax.url;
5	const ajaxNonce = ajax.nonce;
6
7	// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8	// FIXED HEADER js start
9	// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10	$(window).scroll(function() {    
11		var scroll = $(window).scrollTop();
12
13		if (scroll >= 250) {
14			$(".ast-primary-header-bar").addClass("fixed-header");
15		} else {
16			$(".ast-primary-header-bar").removeClass("fixed-header");
17		}
18	});
19	// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
20
21	// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
22	// WISE-SLIDER - initialization start
23	// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
24	try{
25		let wiseSliders = $(`.wise-slider`);
26		if(wiseSliders.length){
27			wiseSliders.each((i, e) => {
28				let sliderContainer = $(e),
29					autoplay = sliderContainer.hasClass(`wise-slider--autoplay`),
30					infinite = sliderContainer.hasClass(`wise-slider--infinite`),
31					dots = sliderContainer.hasClass(`wise-slider--dots`),
32					arrows = sliderContainer.hasClass(`wise-slider--arrows`),
33					currentElementType = sliderContainer.data(`element_type`),
34					elementTypes = ['section', 'container', 'column'],
35					slider = null;
36				// ELEMENT TYPE				|	WRAPPER
37				// column    				-> .elementor-widget-wrap
38				// section   				-> .elementor-container
39				// container 				-> .e-con-inner
40				// inner section(section) 	-> .elementor-container
41				if(elementTypes.includes(currentElementType)){
42					slider = sliderContainer.children().eq(0); // 1st child
43				}else{
44					slider = sliderContainer;
45				}
46				const sliderSettings = {
47					autoplay: autoplay,
48					dots: dots,
49					arrows: arrows,
50					infinite: infinite,
51					responsive: [
52						{
53							breakpoint: 479,
54							settings: {
55								slidesToShow: 1,
56							}
57						},{
58							breakpoint: 767,
59							settings: {
60								slidesToShow: 2,
61							}
62						}
63					]
64				};
65
66				// SlidesToShow
67				let slidesToShowClass = sliderContainer.attr("class").split(/\s+/).find(c => c.startsWith("wise-slider--slidesToShow:"));
68				let slidesToShow = 1; // Set to 1 (one) by default
69				if (slidesToShowClass) {
70					let parts = slidesToShowClass.split(":");
71					if (parts[1]) {
72						slidesToShow = parseInt(parts[1], 10);
73					}
74				}
75				if(slidesToShow){
76					sliderSettings.slidesToShow = slidesToShow;
77				}
78
79				// SlidesToScroll
80				let slidesToScrollClass = sliderContainer.attr("class").split(/\s+/).find(c => c.startsWith("wise-slider--slidesToScroll:"));
81				let slidesToScroll = 1; // Set to 1 (one) by default
82				if (slidesToScrollClass) {
83					let parts = slidesToScrollClass.split(":");
84					if (parts[1]) {
85						slidesToScroll = parseInt(parts[1], 10);
86					}
87				}
88				if(slidesToScroll){
89					sliderSettings.slidesToScroll = slidesToScroll;
90				}
91
92				// Center Padding
93				let centerPaddingClass = sliderContainer.attr("class").split(/\s+/).find(c => c.startsWith("wise-slider--centerPadding:"));
94				let centerPadding = 0;
95				if (centerPaddingClass) {
96					let parts = centerPaddingClass.split(":");
97					if (parts[1]) {
98						centerPadding = parseInt(parts[1], 10);
99					}
100				}
101				if(centerPadding){
102					sliderSettings.centerMode = true;
103					sliderSettings.centerPadding = `${centerPadding}px`;
104				}
105				if(slider.length){
106					slider.slick(sliderSettings);
107				}
108			});
109		}
110	}catch(error){
111		console.log(`Error: ${error.message}`);
112	}
113	// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
114
115	// %%%%%%%%%%%%%% CPT %%%%%%%%%%%%%%%%%%%%% \\
116	$('#wiselogix_module_cpt_name').keypress(function(e){
117		if(e.which === 13){
118			$('#wiselogix_module_cpt_create_btn').click();
119		}
120	});
121	const createCPT_btn = $('#wiselogix_module_cpt_create_btn');
122	createCPT_btn.click(function(e){
123		e.preventDefault();
124		let cptName = $('#wiselogix_module_cpt_name').val();
125		let cptNameLength = cptName.length;
126		if(cptNameLength >= 20){
127			$('#wiselogix-message').html(`<div class="notice notice-error">Post type name should be less than 20 characters.</div>`);
128		}else{
129			$.post(
130				ajaxUrl, 
131				{
132					action: 'wiselogix_module_create_cpt',
133					cpt_name: cptName,
134					cpt_nonce: ajaxNonce,
135				},
136				response => {
137					if(response.success){
138						$('#wiselogix-message').html(`<div class="notice notice-success">${response.data.message}</div>`);
139						if(response.data.reload){
140							setTimeout(() => window.location.reload(), 1000);
141						}
142					}else{
143						$('#wiselogix-message').html(`<div class="notice notice-error">${response.data.message}</div>`);
144					}
145				}
146			);
147		}
148
149	});
150
151	$('.cpt_delete_btn').click(function(){
152		if(confirm('Do you really want to delete this post type?')){
153			let cptId = $(this).data('cpt_id');
154			let cptSlug = $(this).data('cpt_slug');
155			if(cptId != '' && cptSlug != ''){
156				$.post(
157					ajaxUrl, 
158					{
159						action: 'delete_cpt_callback', 
160						cpt_id: cptId,
161						cpt_slug: cptSlug, 
162						cpt_nonce: ajaxNonce
163					}, 
164					res => {
165						if(res.success){
166							$('.wiselogix_cpt_table_message').html(`<div class="notice notice-success">${res.data}</div>`);
167							setTimeout(() => window.location.reload(), 1000);
168						}else{
169							$('.wiselogix_cpt_table_message').html(`<div class="notice notice-error">${res.data}</div>`);
170						}
171					}
172				);
173			}else{
174				$('.wiselogix_cpt_table_message').html(`<div class="notice notice-error">Error: id or slug is empty.</div>`);
175			}
176		}else{
177			return;
178		}
179	});
180
181
182	$(document).on('click', '#cpt_restore_btn', function(){
183		let cptId = $(this).data('cpt_id');
184		if(cptId != ''){
185			$.post(
186				ajaxUrl, 
187				{
188					action: 'restore_cpt_callback', 
189					cpt_id: cptId,
190					cpt_nonce: ajaxNonce
191				}, 
192				res => {
193					if(res.success){
194						$('.wiselogix-message').html(`<div class="notice notice-success">${res.data}</div>`);
195						setTimeout(() => window.location.reload(), 1000);
196					}else{
197						$('.wiselogix-message').html(`<div class="notice notice-error">${res.data}</div>`);
198					}
199				}
200			);
201		}else{
202			$('.wiselogix-message').html(`<div class="notice notice-error">Error: id is empty.</div>`);
203		}
204	});
205
206	// %%%%%%%%%%%%%% CPT %%%%%%%%%%%%%%%%%%%%% \\
207
208
209	// Initializing Filter gallery on portfolio
210	$('.layout_grid .filter-button').on('click', function() {
211		$('.filter-button').removeClass('active');
212		$(this).addClass('active');
213		var filterValue = $(this).attr('data-filter');
214		if (filterValue == 'all') {
215			$('.portfolio-item').css('width', 'calc(25% - 10px)').addClass('active');
216		} else {
217			$('.portfolio-item').css('width', '0').removeClass('active');
218			$(filterValue).css('width', 'calc(25% - 10px)').addClass('active');
219		}
220	});
221	// For Masonry Mixitup
222	jQuery('.layout_masonry .portfolio-items').mixItUp({  
223		selectors: {
224			target: '.portfolio-item',
225			filter: '.filter-button',
226			sort: '.sort-btn',
227		},
228		animation: {
229			animateResizeContainer: false,
230			effects: 'fade scale'
231		},
232		classNames: {
233			active: 'fbm_active'
234		}
235	});
236	// akram js 
237
238	// 	let councilContent = document.querySelectorAll(".gorverning-council-wrapper .wpr-member-content");
239
240	// 	if(councilContent){
241	// 		let spanEle = document.createElement("span");
242	// 		spanEle.innerHTML = "X";
243	// 		spanEle.className = "close-des";
244	// 		councilContent.forEach(function(v, i){	
245	// 			let memberBtn = v.querySelector(".wpr-member-btn");
246	// 			memberBtn.removeAttribute("href");
247	// 			memberBtn.addEventListener("click", function() {
248	// 				let desBox = this.offsetParent.querySelector(".wpr-member-description");
249	// 				desBox.prepend(spanEle);
250	// 				let allDesBox = document.querySelectorAll(".gorverning-council-wrapper .wpr-member-description");
251	// 				allDesBox.forEach(function(x){
252	// 					x.classList.remove("show-description");
253	// 				});
254	// 				desBox.classList.add("show-description");
255	// 				spanEle.addEventListener("click", function(e) {
256	// 					desBox.classList.remove("show-description");
257	// 				});
258	// 			})
259	// 		});
260	// 	   }
261
262	let councilContent = document.querySelectorAll(".gorverning-council-wrapper .wpr-member-content");
263
264	if(councilContent){
265		let popUpBox = document.querySelector(".gorg-council-popUp");
266		let closePopUpBtn = document.querySelector(".close-popUp-btn");
267		let memberImg = document.querySelector(".member-img img");
268		let memberName = document.querySelector(".member-name");
269		let memberJob = document.querySelector(".member-job");
270		let memberDes = document.querySelector(".member-des");
271		councilContent.forEach(function(v){	
272			let memberBtn = v.querySelector(".wpr-member-btn");
273			memberBtn.removeAttribute("href");
274			memberBtn.addEventListener("click", function() {
275				let targetBox = this.closest(".wpr-team-member");
276				let targetImgSrc = targetBox.querySelector("img");
277				let targetName = targetBox.querySelector(".wpr-member-name");
278				let targetJob = targetBox.querySelector(".wpr-member-job");
279				let targetDes = targetBox.querySelector(".wpr-member-description");
280				
281				memberImg.src = (targetImgSrc) ? targetImgSrc.src : "There is no Image";
282				memberImg.alt = (targetName) ? targetName.innerText : "There is no Text";
283				memberName.innerText = (targetName) ? targetName.innerText : "There is no Text";
284				memberJob.innerText = (targetJob) ? targetJob.innerText : "There is no Text";
285				memberDes.innerText = (targetDes) ? targetDes.innerText : "There is no Text";
286		
287				popUpBox.style.display = "flex";
288
289				popUpBox.addEventListener("click", function(e) {
290					(e.target.className == "gorg-council-popUp") ? popUpBox.style.display = "none" : "";
291				})
292				closePopUpBtn.addEventListener("click", function() {
293					popUpBox.style.display = "none";
294				});
295			})
296		});
297	}
298
299
300	let serviceBox = document.querySelectorAll(".service_box .elementor-image-box-img a");
301
302	if(serviceBox.length){
303		serviceBox.forEach(function(v, i){
304			let btn = document.createElement("a");
305			btn.className = "service-btn";
306			btn.innerText = "Read More";
307			v.appendChild(btn);
308			// 			console.log(serviceBox);
309		});
310	}
311
312
313	// akram js
314
315});
316
317

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.