PageSourceSearch

https://www.photo-mosaic.co.uk/wp-content/plugins/xxlpix-app-config/includes/assets/js/help-widget.js

js photo-mosaic.co.uk collected 2026-09-26 05:36:35 UTC 5,347 bytes, 162 lines download raw bytes

1function Plugin_Help_Widget() {
2	jQuery(document).ready(function($){
3	    $('.js-help-widget .boxes li').on('click', function(){
4	    	var el = $(this);
5	    	el.toggleClass('active').siblings('li').removeClass('active');
6	    	var parent = el.parents('.js-help-widget');
7	    	var id = el.attr('data-target');
8	    	parent.find('.accordion-new').remove();
9	    	if (!el.hasClass('active')) {
10				id = null;
11	    	}
12			var params = {
13				'cat': id,
14				'language': xLanguage,
15				'ref': xRef,
16				'mode': el.parents('.js-help-widget').attr('data-mode')
17			};
18			$.ajax({
19			    type: 'POST',
20			    data: { params: params },
21				url: functions_url+'?func=getFaqWidgetData',
22			    success: function (data) {
23			        data = jQuery.parseJSON(data);
24			        if (data.result.length > 0) {
25						var output = '<ul class="accordion-new">';
26				        jQuery.each(data.result, function(index, value){
27							output += '<li data-id="'+value['question']+'"><h3>'+value['question_text']+'</h3><div class="wrap">'+value['answer']+'</div></li>';
28						});
29						output += '</ul>';
30						parent.append(output);
31			        }
32			    }
33			});
34	    });
35	    
36	    $('.js-search-contact').on('click', '.wrap', function(){
37	    	var el = $(this);
38	    	el.toggleClass('active');
39			el.siblings('div').toggleClass('active');
40			if (el.hasClass('active')) {
41				el.find('.icon').removeClass('icon-down-dir').addClass('icon-up-dir');
42			} else {
43				el.find('.icon').removeClass('icon-up-dir').addClass('icon-down-dir');
44			}
45			
46	    });
47	    
48	    $('.help-widget-form').on('submit', function(e){
49			e.preventDefault();
50			var el = $(this);
51			
52			var parser = new UAParser();
53			var detection = parser.getResult();
54			var country = navigator.language || navigator.userLanguage;
55			if (typeof Cookies.get('ip_country') !== 'undefined') {
56				country = Cookies.get('ip_country');
57			}
58
59      var captchaToken = el.find('input[name="cf-turnstile-response"]').val();
60      if (!captchaToken) {
61        //alert('Bitte Captcha bestätigen.');
62        return;
63      }
64      
65			var params = {
66				'vlog': xVlog,
67				'step': window.location.href,
68				'message': el.find('textarea').val(),
69				'email': el.find('input[name="email"]').val(),
70				'name': el.find('input[name="name"]').val(),
71				'phone': el.find('input[name="phone"]').val(),
72				'file': el.find('input[name="file"]').val(),
73				'browser': detection.browser.name+' '+detection.browser.version,
74				'os': detection.os.name+' '+detection.os.version,
75				'country': country,
76				'language': xLanguage,
77				'ref': xRef,
78				'new_version': true,
79				'copy': 1,
80        'captcha_token': captchaToken,
81			}
82			$.ajax({
83			    type: 'POST',
84			    data: { params: params },
85			    url: functions_url+'?func=contact',
86          success: function (data) {
87            data = jQuery.parseJSON(data);
88            if (data.result == false) {
89              // void
90            } else {
91			        el.find('.btn').replaceWith('<span class="js-response green">'+xxlpix_app_plugin_help_widget.translate.response+'</span>');
92            }
93          }
94			});
95	    });
96	    
97	    $('body').on('click', '.js-help-widget a[data-jump], .js-service-search-result a[data-jump]', function(){
98			var target = $(this).attr('data-jump');
99			var params = {
100				'jump': target,
101			};
102			$.ajax({
103			    type: 'POST',
104			    data: { params: params },
105				url: functions_url+'?func=getFaqWidgetData',
106			    success: function (data) {
107			        data = jQuery.parseJSON(data);
108			        if (data.result.length > 0) {
109						var output = '<ul class="accordion-new">';
110				        jQuery.each(data.result, function(index, value){
111							output += '<li class="active"><h3>'+value['question_text']+'</h3><div class="wrap">'+value['answer']+'</div></li>';
112						});
113						output += '</ul>';
114						$('.js-service-search-result').remove();
115						$('.js-service-search').after('<div class="js-service-search-result">'+output+'</div>');
116						
117						var pos = jQuery('.js-service-search-result').position();
118						window.scrollTo({
119							top: pos.top,
120							behavior: 'smooth'
121						});
122			        }
123			    }
124			});
125	    });
126	    
127	    $('body').on('click', '.js-help-widget .accordion-new > li:not(.active)', function(){
128			var params = {
129				url: window.location.href,
130				id: $(this).attr('data-id'),
131				question: $(this).find('h3').text(),
132				vlog: xVlog,
133				ref: xRef,
134				language: xLanguage,
135			};
136			$.ajax({
137			    type: 'POST',
138			    data: { params: params },
139				url: functions_url+'?func=logHelpFAQ',
140			});
141	    });
142
143			$('.help-widget-form-switch > .wrap button').on('click', function(){
144				let target = $(this).attr('data-target');
145				if (target == 'form') {
146					$('.help-widget-form-switch > .wrap').addClass('hidden');
147					$('.help-widget-form-switch .help-widget-form').removeClass('hidden');
148					$(window).scrollTop($('.help-widget-form').offset().top - 80);
149				} else {
150					$('#support-chat')[0].contentWindow.postMessage('trigger-chat', '*');
151				}
152			});
153
154			$('.help-widget-form-switch .js-back').on('click', function(){
155				$('.help-widget-form-switch > .wrap').removeClass('hidden');
156				$('.help-widget-form-switch .help-widget-form').addClass('hidden');
157				$(window).scrollTop($('.help-widget-form-switch').offset().top - 80);
158			});
159	});
160	
161}
162var xxlpix_app_plugin_help_widget = new Plugin_Help_Widget();

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.