PluginProbe
WPBot – AI ChatBot for Live Support, Lead Generation, WordPress Automation, AI Services / 8.7.5
WPBot – AI ChatBot for Live Support, Lead Generation, WordPress Automation, AI Services v8.7.5
8.7.8 8.7.7 8.7.6 8.7.5 8.7.4 8.7.3 8.7.2 8.7.1 8.7.0 8.6.9 8.6.8 8.6.7 8.6.6 8.6.5 8.6.4 8.6.2 8.6.1 8.6.0 8.5.9 8.5.8 8.5.7 8.5.6 8.5.5 8.5.4 8.5.3 All 534 releases
chatbot / js / qcld-wp-chatbot-front.js

qcld-wp-chatbot-front.js in WPBot – AI ChatBot for Live Support, Lead Generation, WordPress Automation, AI Services 8.7.5, at js/qcld-wp-chatbot-front.js

980 lines 51.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 jQuery(function ($) {
2 //Global object passed by admin
3 var wpChatBotVar = wp_chatbot_obj;
4
5 var LoadwpwBotPlugin = 0;
6 var textEditorHandler = 0;
7 if( typeof(openingHourIsFn) !='undefined'){
8 var openingHourIs = openingHourIsFn;
9 }else{
10 var openingHourIs = 0;
11 }
12
13 /**
14 * Hide slimScroll bar when content fits; otherwise pin bar to the bottom correctly.
15 * slimScroll shows the bar when scrollHeight < clientHeight due to its size math.
16 */
17 window.wpbotSyncSlimScrollBar = function ($inner) {
18 $inner = ($inner && $inner.jquery) ? $inner : $('.wp-chatbot-ball-inner');
19 $inner.each(function () {
20 var el = this;
21 var $el = $(el);
22 var $wrap = $el.parent();
23 if (!$wrap.hasClass('slimScrollDiv')) {
24 return;
25 }
26 var $bar = $wrap.children('.slimScrollBar');
27 var $rail = $wrap.children('.slimScrollRail');
28 if (!$bar.length) {
29 return;
30 }
31 if (el.scrollHeight <= el.clientHeight + 2) {
32 $wrap.addClass('wpbot-no-scroll');
33 $bar.stop(true, true).hide().css({ opacity: 0 });
34 $rail.stop(true, true).hide();
35 return;
36 }
37 $wrap.removeClass('wpbot-no-scroll');
38 var barH = Math.max(($el.outerHeight() / el.scrollHeight) * $el.outerHeight(), 30);
39 barH = Math.min(barH, $el.outerHeight());
40 var maxTop = Math.max(0, $el.outerHeight() - barH);
41 var ratio = el.scrollHeight > el.clientHeight
42 ? el.scrollTop / (el.scrollHeight - el.clientHeight)
43 : 1;
44 $bar.css({
45 height: barH + 'px',
46 top: (ratio * maxTop) + 'px',
47 display: 'block',
48 opacity: 0.4
49 });
50 clearTimeout($bar.data('wpbotBarHideTimer'));
51 $bar.data('wpbotBarHideTimer', setTimeout(function () {
52 if (!$bar.is(':hover')) {
53 $bar.fadeOut('slow');
54 }
55 }, 1000));
56 });
57 };
58
59 wpChatBotVar.exit_intent_handler = 0;
60 wpChatBotVar.scroll_open_handler = 0;
61 wpChatBotVar.auto_open_handler = 0;
62 wpChatBotVar.re_target_handler = 0;
63
64 $(document).ready(function () {
65 if(typeof(wpbot_clear_cache) !=="undefined" && wpbot_clear_cache !=''){
66 wpwKits.reset();
67 LoadwpwBotPlugin = 0;
68 }
69 var botimage = jQuery('#wp-chatbot-ball').find('img').attr('qcld_agent');
70
71 // Custom Icon Video / YouTube: start playback after configured delay
72 var wpbotIconVideo = wpChatBotVar.icon_video || '';
73 var wpbotVideoDelay = parseInt(wpChatBotVar.icon_video_delay, 10) || 0;
74 if (wpbotIconVideo !== '') {
75 var $wpbotVidEl = $('#wp-chatbot-ball-icon-video');
76 if ($wpbotVidEl.length) {
77 if (wpbotVideoDelay > 0) {
78 $wpbotVidEl.hide();
79 setTimeout(function () {
80 $wpbotVidEl.show();
81 if ($wpbotVidEl.is('video')) {
82 try { $wpbotVidEl[0].play(); } catch(e){}
83 }
84 }, wpbotVideoDelay * 1000);
85 } else {
86 if ($wpbotVidEl.is('video')) {
87 try { $wpbotVidEl[0].play(); } catch(e){}
88 }
89 }
90 }
91 }
92
93 if ($('#wp-chatbot-shortcode-template-container').length == 0 && $('#wp-chatbot-chat-app-shortcode-container').length == 0) {
94 //Main wpwbot area.
95 //show it
96 $('#wp-chatbot-ball-wrapper').css({
97 'display': 'block',
98 });
99 //wpChatBot icon position.
100 $('#wp-chatbot-chat-container').css({
101 'right': wpChatBotVar.wp_chatbot_position_x + 'px',
102 'bottom': wpChatBotVar.wp_chatbot_position_y + 'px'
103 })
104 //Facebook Messenger desktop
105 setTimeout(function () {
106 $('.fb_dialog').css({
107 'right': parseInt(55 + parseInt(wpChatBotVar.wp_chatbot_position_x)) + 'px',
108 'bottom': parseInt(17 + parseInt(wpChatBotVar.wp_chatbot_position_y)) + 'px',
109 'visibility': 'visible'
110 });
111 }, 3000);
112
113 //wpchatbot icon animation disable or enable
114 //Disable wpwBot icon Animation
115 if (wpChatBotVar.disable_icon_animation == 1) {
116 $('.wp-chatbot-ball').addClass('wp-chatbot-animation-deactive');
117 } else {
118 $('.wp-chatbot-ball').addClass('wp-chatbot-animation-active');
119
120 //wpchatbot icon animation timing
121 //var itemHide = function(){
122 // $('.wp-chatbot-animation-active .wp-chatbot-ball-animation-switch').css({
123 // "opacity": 0,
124 // })
125 //};
126 var itemHide = function () {
127 $('.wp-chatbot-animation-active .wp-chatbot-ball-animation-switch').fadeOut(1000);
128 };
129 setTimeout(function () {
130 itemHide()
131 }, 1000);
132
133 //Click Animation
134 $('.wp-chatbot-animation-active').click(function () {
135 $('.wp-chatbot-animation-active .wp-chatbot-ball-animation-switch').fadeIn(100);
136 setTimeout(function () {
137 itemHide()
138 }, 1000);
139 });
140 }
141
142 //window resize.
143 var widowH = $(window).height();
144 var widowW = $(window).width();
145 if (widowW > 767) {
146 var ballConH = parseInt(widowH * 0.5)+ parseInt(114);
147 //$('.wp-chatbot-ball-inner').css({'height': ballConH + 'px'})
148
149 $(window).resize(function () {
150 var widowH = $(window).height();
151 var ballConH = parseInt(widowH * 0.5)+ parseInt(114);
152 //$('.wp-chatbot-ball-inner').css({'height': ballConH + 'px'})
153 });
154 };
155
156 $(document).on('click', '#wp-chatbot-ball', function (event) {
157
158 if($('.active-chat-board').length>0){
159 if(wpChatBotVar.template=='template-06' || wpChatBotVar.template=='template-07'){
160 $('#wp-chatbot-ball').show();
161 }
162 $('#wp-chatbot-ball').removeClass('wpbot_chatopen_iconanimation');
163 $('#wp-chatbot-ball').addClass('wpbot_chatclose_iconanimation');
164 // Restore: hide close icon, show video OR image
165 $('#wp-chatbot-ball').find('img#wp-chatbot-ball-icon-img').attr('src', botimage);
166 if (wpbotIconVideo !== '') {
167 $('#wp-chatbot-ball-icon-video').show();
168 $('#wp-chatbot-ball').find('img#wp-chatbot-ball-icon-img').hide();
169 $('#wp-chatbot-ball').find('img.wpbot-close-icon-overlay').hide();
170 } else {
171 $('#wp-chatbot-ball').find('img#wp-chatbot-ball-icon-img').show();
172 }
173 $('.wp-chatbot-ball').css('background', '#ffffff');
174
175
176 }else{
177
178 $('#wp-chatbot-ball').removeClass('wpbot_chatclose_iconanimation');
179 $('#wp-chatbot-ball').addClass('wpbot_chatopen_iconanimation');
180 // Show close icon; hide video OR image
181 if (wpbotIconVideo !== '') {
182 $('#wp-chatbot-ball-icon-video').hide();
183 $('#wp-chatbot-ball').find('img#wp-chatbot-ball-icon-img').attr('src', wpChatBotVar.imgurl+'wpbot-close-icon.png').show();
184 } else {
185 $('#wp-chatbot-ball').find('img').attr('src', wpChatBotVar.imgurl+'wpbot-close-icon.png');
186 }
187 //$('.wp-chatbot-ball').css('background', 'unset');
188
189
190 }
191
192 var $boardContainer = $("#wp-chatbot-board-container");
193 var animationDuration = 280;
194 var isOpening = !$boardContainer.hasClass('active-chat-board');
195 $boardContainer.removeClass('wp-chatbot-open-anim wp-chatbot-close-anim');
196 if (isOpening) {
197 $boardContainer.addClass('active-chat-board');
198 void $boardContainer[0].offsetWidth;
199 $boardContainer.addClass('wp-chatbot-open-anim');
200 wpwbot_board_action();
201 setTimeout(function () {
202 $boardContainer.removeClass('wp-chatbot-open-anim');
203 }, 360);
204 } else {
205 void $boardContainer[0].offsetWidth;
206 $boardContainer.addClass('wp-chatbot-close-anim');
207 setTimeout(function () {
208 $boardContainer.removeClass('active-chat-board wp-chatbot-close-anim');
209 wpwbot_board_action();
210 }, animationDuration);
211 }
212
213 });
214 //wpwBot proActive start
215 //Attention on
216 if(wpChatBotVar.enable_meta_title==1 && wpChatBotVar.meta_label!="") {
217 var MetaTitleInterval;
218 var orginalTitle = document.title;
219 $(document).on("mouseover", 'body', function (e) {
220 document.title = orginalTitle;
221 clearInterval(MetaTitleInterval);
222 });
223 }
224 //Exit Intent
225 if(wpChatBotVar.enable_exit_intent == 1){
226 window.addEventListener("mouseout", function (e) {
227 e = e ? e : window.event;
228
229 // If this is an autocomplete element.
230 if (e.target.tagName.toLowerCase() == "input")
231 return;
232
233 // Get the current viewport width.
234 var vpWidth = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);
235
236 // If the current mouse X position is within 50px of the right edge
237 // of the viewport, return.
238 if (e.clientX >= (vpWidth - 50))
239 return;
240
241 // If the current mouse Y position is not within 50px of the top
242 // edge of the viewport, return.
243 if (e.clientY >= 50)
244 return;
245
246 // Reliable, works on mouse exiting window and
247 // user switching active program
248 var from = e.relatedTarget || e.toElement;
249 if (!from)
250 //if will open once if setup from backend.
251 var exitIntentOpen=true;
252 if($.cookie('exit_intent')=='yes' && wpChatBotVar.exit_intent_once==1) {
253 exitIntentOpen=false;
254 }
255 if ($('.active-chat-board').length == 0 && exitIntentOpen==true) {
256 if (wpChatBotVar.exit_intent_handler == 0) {
257 $("#wp-chatbot-board-container").addClass('active-chat-board');
258 wpChatBotVar.exit_intent_handler++;
259 wpChatBotVar.re_target_handler = 1;
260 wpwbot_board_action();
261 //Shopper Name
262 if(localStorage.getItem('shopper')){
263 var shopper=localStorage.getItem('shopper');
264 }else{
265 var shopper=wpChatBotVar.shopper_demo_name;
266 }
267 setTimeout(function () {
268 if (localStorage.getItem("wpwHitory")) {
269 showing_proactive_msg( wpChatBotVar.ret_greet+' '+shopper +', '+wpChatBotVar.exit_intent_msg);
270 } else {
271 showing_proactive_double_msg(wpChatBotVar.ret_greet+' '+shopper+', '+wpChatBotVar.exit_intent_msg)
272 }
273 $.cookie('exit_intent','yes');
274 //pro active sound
275 proactive_retargeting_sound();
276 //Window foucus meta title change.
277 window_focus_change_meta_title();
278 }, 1000)
279 }
280 }
281 });
282 }
283 if(wpChatBotVar.enable_scroll_open==1){
284
285 $(document).on('scroll', function (event) {
286 var OpenScroll=true;
287 //if will open once if setup from backend.
288 if( $.cookie('scroll_open')=='yes' && wpChatBotVar.scroll_open_once==1) {
289 OpenScroll=false;
290 }
291 //it will be open only for single time.
292 if ($('.active-chat-board').length ==0 && OpenScroll==true) {
293 if (wpChatBotVar.scroll_open_handler == 0) {
294 var scrollOpenVal = parseInt(($(document).height() * wpChatBotVar.scroll_open_percent) / 100);
295 if ($(window).scrollTop() + $(window).height() > scrollOpenVal) {
296 $("#wp-chatbot-board-container").addClass('active-chat-board');
297 wpChatBotVar.scroll_open_handler++;
298 wpChatBotVar.re_target_handler = 2;
299 wpwbot_board_action();
300 //Shopper Name
301 if(localStorage.getItem('shopper')){
302 var shopper=localStorage.getItem('shopper');
303 }else{
304 var shopper=wpChatBotVar.shopper_demo_name;
305 }
306 setTimeout(function () {
307 if (localStorage.getItem("wpwHitory")) {
308 showing_proactive_msg(wpChatBotVar.ret_greet+' '+ shopper+', '+wpChatBotVar.scroll_open_msg);
309 } else {
310 showing_proactive_double_msg(wpChatBotVar.ret_greet+' '+ shopper+', '+wpChatBotVar.scroll_open_msg)
311 }
312 $.cookie('scroll_open','yes');
313 //pro active sound
314 proactive_retargeting_sound();
315 //Window foucus meta title change.
316 window_focus_change_meta_title();
317 }, 1000)
318 }
319 }
320 }
321
322 });
323 }
324 if(wpChatBotVar.enable_auto_open==1 ){
325 //if will open once if setup from backend.
326 var autoOpen=true;
327 if($.cookie('auto_open')=='yes' && wpChatBotVar.auto_open_once==1) {
328 autoOpen=false;
329 }
330 if( wpChatBotVar.auto_open_handler == 0 && autoOpen==true) {
331 setTimeout(function (e) {
332 if ($('.active-chat-board').length == 0) {
333 $("#wp-chatbot-board-container").addClass('active-chat-board');
334 wpChatBotVar.auto_open_handler++;
335 wpChatBotVar.re_target_handler = 3;
336 wpwbot_board_action();
337 //Shopper Name
338 if(localStorage.getItem('shopper')){
339 var shopper=localStorage.getItem('shopper');
340 }else{
341 var shopper=wpChatBotVar.shopper_demo_name;
342 }
343 setTimeout(function () {
344 if (localStorage.getItem("wpwHitory")) {
345 showing_proactive_msg(wpChatBotVar.ret_greet+' '+ shopper+', '+wpChatBotVar.auto_open_msg);
346 } else {
347 showing_proactive_double_msg(wpChatBotVar.ret_greet+' '+shopper+', '+wpChatBotVar.auto_open_msg)
348 }
349 $.cookie('auto_open','yes');
350 //pro active sound
351 proactive_retargeting_sound();
352 //Window foucus meta title change.
353 window_focus_change_meta_title();
354 }, 1000)
355 }
356 }, parseInt(wpChatBotVar.auto_open_time * 1000));
357 }
358 }
359 //Retargeting for Cart to complete checkout.
360 if(wpChatBotVar.enable_ret_user_show==1 && localStorage.getItem("wpwHitory") && $.cookie('return_user')!='yes') {
361
362 $.cookie('return_user','yes');
363 var data = {'action': 'qcld_wb_chatbot_only_cart'};
364 jQuery.post(wpChatBotVar.ajax_url, data, function (response) {
365 if (response.items > 0) {
366 if ($('.active-chat-board').length == 0) {
367 setTimeout(function () {
368 $("#wp-chatbot-board-container").addClass('active-chat-board');
369 wpwbot_board_action();
370 showing_proactive_msg(wpChatBotVar.checkout_msg);
371 setTimeout(function () {
372 showing_proactive_msg(response.html);
373 //Window foucus meta title change.
374 window_focus_change_meta_title();
375 }, 2000);
376 }, 1000);
377 }
378 }
379 });
380 }else{
381 $.cookie('return_user','yes');
382 }
383
384 if(wpChatBotVar.enable_inactive_time_show==1 && localStorage.getItem("wpwHitory") ) {
385 var timeoutID;
386
387 function setup() {
388 this.addEventListener("mousemove", resetTimer, false);
389 this.addEventListener("mousedown", resetTimer, false);
390 this.addEventListener("keypress", resetTimer, false);
391 this.addEventListener("DOMMouseScroll", resetTimer, false);
392 this.addEventListener("mousewheel", resetTimer, false);
393 this.addEventListener("touchmove", resetTimer, false);
394 this.addEventListener("MSPointerMove", resetTimer, false);
395
396 startTimer();
397 }
398 setup();
399
400 function startTimer() {
401 // wait as set from admin seconds before calling goInactive
402 timeoutID = window.setTimeout(goInactive, parseInt(wpChatBotVar.inactive_time*1000));
403 }
404
405 function resetTimer(e) {
406 window.clearTimeout(timeoutID);
407
408 goActive();
409 }
410
411 function goInactive() {
412 if(wpChatBotVar.ret_inactive_user_once==1 && $.cookie('return_inactive_user')!='yes') {
413 $.cookie('return_inactive_user','yes');
414 var data = {'action': 'qcld_wb_chatbot_only_cart'};
415 jQuery.post(wpChatBotVar.ajax_url, data, function (response) {
416 if (response.items > 0) {
417 if ($('.active-chat-board').length == 0) {
418 setTimeout(function () {
419 $('#wp-chatbot-ball').removeClass('wpbot_chatclose_iconanimation');
420 $('#wp-chatbot-ball').addClass('wpbot_chatopen_iconanimation');
421 if (wpbotIconVideo !== '') {
422 $('#wp-chatbot-ball-icon-video').hide();
423 $('#wp-chatbot-ball').find('img#wp-chatbot-ball-icon-img').attr('src', wpChatBotVar.imgurl+'wpbot-close-icon.png').show();
424 } else {
425 $('#wp-chatbot-ball').find('img').attr('src', wpChatBotVar.imgurl+'wpbot-close-icon.png');
426 }
427 $("#wp-chatbot-board-container").addClass('active-chat-board');
428 wpwbot_board_action();
429 showing_proactive_msg(wpChatBotVar.checkout_msg);
430 setTimeout(function () {
431 showing_proactive_msg(response.html);
432 //Window foucus meta title change.
433 window_focus_change_meta_title();
434 }, 2000);
435 }, 2000);
436 }
437 }
438 });
439 }else{
440 $.cookie('return_inactive_user','yes');
441 }
442 }
443
444 function goActive() {
445 // do something
446
447 startTimer();
448 }
449 }
450 //Proactive retargeting sound for auto open. scroll open and
451 function proactive_retargeting_sound() {
452 if(wpChatBotVar.enable_ret_sound==1){
453 var promise = document.querySelector('#wp-chatbot-proactive-audio').play();
454 if (promise !== undefined) {
455 promise.then(function (success) {
456 //success to play
457 }).catch(function (error) {
458 //some error
459 //console.log(error);
460 });
461 }
462 }
463 }
464
465 //When user will be out of window and news retargetting will be shown. where opening hour, title and meta need to be set.
466 function window_focus_change_meta_title() {
467 if(wpChatBotVar.enable_meta_title==1 && wpChatBotVar.meta_label!="" && openingHourIs==0) {
468 var showInactive = 0;
469 MetaTitleInterval = setInterval(function () {
470 if (showInactive == 0) {
471 document.title = wpChatBotVar.meta_label;
472 showInactive = 1;
473 } else {
474 document.title = orginalTitle;
475 showInactive = 0;
476 }
477 }, 1000);
478 }
479 }
480
481 //wpwBot proActive end
482 function wpwbot_board_action() {
483 var currentW = $(window).width();
484 var isBoardOpen = $('#wp-chatbot-board-container').hasClass('active-chat-board');
485 if (currentW <= 480 && wpChatBotVar.mobile_full_screen==1 && isBoardOpen) {//For mobile
486 if ($('#wp-chatbot-mobile-close').length <= 0) {
487 $('.wp-chatbot-board-container').append('<div id="wp-chatbot-mobile-close">X</div>');
488 }
489 $('.wp-chatbot-ball-inner').slimScroll({
490 height: '100hv',
491 start: 'bottom'
492 });
493 wpbotSyncSlimScrollBar($('.wp-chatbot-ball-inner'));
494 $('#wp-chatbot-chat-container').addClass('wp-chatbot-mobile-fs-open').css({
495 'bottom': '0',
496 'left': '0',
497 'right': '0',
498 'width': '100%',
499 'max-width': '100%'
500 });
501 $('#wp-chatbot-board-container').css({'width': '100%', 'max-width': '100%'});
502 $('#wp-chatbot-ball').hide();
503 //Maintain inner chat box height
504 var widowH = $(window).height();
505 var headerH = $('.wp-chatbot-header').outerHeight();
506 var footerH = $('.wp-chatbot-footer').outerHeight();
507 var AppContentInner = widowH - footerH - headerH;
508 //alert(footerH);
509 $('.wp-chatbot-ball-inner').css({'height': AppContentInner + 'px'})
510 $('.wp-chatbot-ball-inner').css({'max-height': AppContentInner + 'px'})
511 $(this).hide();
512 } else {
513 if (!isBoardOpen) {
514 $('#wp-chatbot-chat-container').removeClass('wp-chatbot-mobile-fs-open');
515 }
516 // $('.wp-chatbot-header').append('<div id="wp-chatbot-desktop-close"><span class="dashicons dashicons-no"></span></div>');
517 $('.wp-chatbot-ball-inner').slimScroll({
518 height: '55hv',
519 start: 'bottom'
520 });
521 wpbotSyncSlimScrollBar($('.wp-chatbot-ball-inner'));
522 }
523
524
525 //Here is the Plugin to be load only for once.
526 if (LoadwpwBotPlugin == 0) {
527 $.wpwbot({obj: wpChatBotVar, editor_handler: textEditorHandler, preLoadingTime: wpChatBotVar.botpreloadingtime});
528 LoadwpwBotPlugin++;
529 var data = {'action': 'qcld_wb_chatbot_session_count', 'nonce': wpChatBotVar.session_nonce};
530 jQuery.post(wpChatBotVar.ajax_url, data, function (response) {
531 //
532 });
533 }
534 //If product detials is open then it will be closed.
535 $('.wp-chatbot-product-container').removeClass('active-chatbot-product-details');
536 //Show and close notification message on ball click
537 if ($('.active-chat-board').length != 0) {
538 $('#wp-chatbot-notification-container').removeClass('wp-chatbot-notification-container-sliding');
539 //chatbox will be open and notificaion will be closed
540 $('#wp-chatbot-notification-container').addClass('wp-chatbot-notification-container-disable');
541 //clearInterval(notificationInterval);
542 } else {
543 if (!sessionStorage.getItem('wpChatbotNotification')) {
544 $('#wp-chatbot-notification-container').removeClass('wp-chatbot-notification-container-disable');
545 $('#wp-chatbot-notification-container').addClass('wp-chatbot-notification-container-sliding');
546
547 }
548 /// clearInterval(notificationInterval);
549 }
550 //Messenger handling.
551 if ($('.active-chat-board').length > 0) {
552 $('#wp-chatbot-integration-container').show();
553 } else {
554 $('#wp-chatbot-integration-container').hide();
555 }
556 }
557 function showing_proactive_msg(msg){
558 var enableleReactions = globalwpw.settings.obj.skip_chat_reactions_menu;
559 var eanleeReport = globalwpw.settings.obj.enable_chat_report_menu;
560 var enableshare = globalwpw.settings.obj.enable_chat_share_menu;
561 var likeTxt = globalwpw.settings.obj.qlcd_wp_chatbot_like_text;
562 var disLikeTxt = globalwpw.settings.obj.qlcd_wp_chatbot_dislike_text;
563 var reportTxt = globalwpw.settings.obj.qlcd_wp_chatbot_report_text;
564 var sharetTxt = globalwpw.settings.obj.qlcd_wp_chatbot_share_text;
565 console.log(globalwpw.settings);
566 console.log(enableleReactions);
567 //first open then chatboard
568 if(localStorage.getItem("wpwHitory") && ! $('.wp-chatbot-operation-option[data-option="chat"]').parent().hasClass('wp-chatbot-operation-active')){
569 $('.wp-chatbot-messages-wrapper').html(localStorage.getItem("wpwHitory"));
570 $('.wp-chatbot-operation-option').each(function(){
571 if($(this).attr('data-option')=='chat'){
572 $(this).parent().addClass('wp-chatbot-operation-active');
573 }else{
574 $(this).parent().removeClass('wp-chatbot-operation-active');
575 }
576 });
577 }
578 var msgContent='<li class="wp-chatbot-msg">' +
579 '<div class="wp-chatbot-avatar">'+
580 '<img src="'+wpChatBotVar.agent_image_path+'" alt="">'+
581 '</div>'+
582 '<div class="wp-chatbot-agent">'+ wpChatBotVar.agent+'</div>'
583 +'<div class="wp-chatbot-paragraph"><img class="wp-chatbot-comment-loader" src="'+wpChatBotVar.image_path+'comment.gif" alt="Typing..." /></div>'+
584 '<div class="qcld-like-dislike-icon">' +
585 (enableleReactions == 1
586 ? '<a href="#" title="' + (disLikeTxt?.en_US || 'Dislike') + '"><i class="dashicons dashicons-thumbs-down"></i></a>' +
587 '<a href="#" title="' + (likeTxt?.en_US || 'Like') + '"><i class="dashicons dashicons-thumbs-up" ></i></a>'
588 : '') +
589
590 (eanleeReport == 1
591 ? '<a href="#" title="' + (reportTxt?.en_US || 'Report') + '"><i class="dashicons dashicons-admin-comments"></i></a>'
592 : '') +
593
594 (enableshare == 1
595 ? '<div class="qcld-share">' +
596 '<a href="#" class="share-toggle" title="' + (sharetTxt?.en_US || 'Share') + '"><i class="dashicons dashicons-share" aria-hidden="true"></i></a>' +
597 '<div class="share-menu" style="display:none;">' +
598 '<a href="#" class="share-fb"><i class="dashicons dashicons-facebook"></i></a>' +
599 '<a href="#" class="share-wa"><i class="dashicons dashicons-whatsapp"></i></a>' +
600 '<a href="#" class="share-x"><i class="dashicons dashicons-twitter"></i></a>' +
601 '<a href="#" class="share-email"><i class="dashicons dashicons-email-alt"></i></a>' +
602 '</div>' +
603 '</div>'
604 : '') +
605 '</div>' +
606 '</li>';
607
608 $('#wp-chatbot-messages-container').append(msgContent);
609 //Scroll to the last message
610 $('.wp-chatbot-ball-inner').animate({ scrollTop: $('.wp-chatbot-messages-wrapper').prop("scrollHeight")}, 'slow', function () { wpbotSyncSlimScrollBar($('.wp-chatbot-ball-inner')); });
611 setTimeout(function(){
612 $('#wp-chatbot-messages-container li:last .wp-chatbot-paragraph').html(msg).css({'background-color':wpChatBotVar.proactive_bg_color});
613 //scroll to the last message
614 $('.wp-chatbot-ball-inner').animate({ scrollTop: $('.wp-chatbot-messages-wrapper').prop("scrollHeight")}, 'slow', function () { wpbotSyncSlimScrollBar($('.wp-chatbot-ball-inner')); });
615 }, 2000);
616 }
617 function showing_proactive_double_msg(secondMsg) {
618 var enableleReactions = globalwpw.settings.obj.skip_chat_reactions_menu;
619 var eanleeReport = globalwpw.settings.obj.enable_chat_report_menu;
620 var enableshare = globalwpw.settings.obj.enable_chat_share_menu;
621 var likeTxt = globalwpw.settings.obj.qlcd_wp_chatbot_like_text;
622 var disLikeTxt = globalwpw.settings.obj.qlcd_wp_chatbot_dislike_text;
623 var reportTxt = globalwpw.settings.obj.qlcd_wp_chatbot_report_text;
624 var sharetTxt = globalwpw.settings.obj.qlcd_wp_chatbot_share_text;
625 console.log(globalwpw.settings);
626 console.log(enableleReactions);
627 //first open then chatboard
628 if(localStorage.getItem("wpwHitory")){
629 $('.wp-chatbot-messages-wrapper').html(localStorage.getItem("wpwHitory"));
630 $('.wp-chatbot-operation-option').each(function(){
631 if($(this).attr('data-option')=='chat'){
632 $(this).parent().addClass('wp-chatbot-operation-active');
633 }else{
634 $(this).parent().removeClass('wp-chatbot-operation-active');
635 }
636 });
637 }
638 var fristMsg="<strong>"+wpChatBotVar.agent+" </strong> "+wpChatBotVar.agent_join[0];
639 var msgContent='<li class="wp-chatbot-msg">' +
640 '<div class="wp-chatbot-avatar">'+
641 '<img src="'+wpChatBotVar.agent_image_path+'" alt="">'+
642 '</div>'+
643 '<div class="wp-chatbot-agent">'+ wpChatBotVar.agent+'</div>'
644 +'<div class="wp-chatbot-paragraph"><img class="wp-chatbot-comment-loader" src="'+wpChatBotVar.image_path+'comment.gif" alt="Typing..." /></div>'+
645 '<div class="qcld-like-dislike-icon">' +
646 (enableleReactions == 1
647 ? '<a href="#" title="' + (disLikeTxt?.en_US || 'Dislike') + '"><i class="dashicons dashicons-thumbs-down"></i></a>' +
648 '<a href="#" title="' + (likeTxt?.en_US || 'Like') + '"><i class="dashicons dashicons-thumbs-up"></i></a>'
649 : '') +
650
651 (eanleeReport == 1
652 ? '<a href="#" title="' + (reportTxt?.en_US || 'Report') + '"><i class="dashicons dashicons-admin-comments"></i></a>'
653 : '') +
654
655 (enableshare == 1
656 ? '<div class="qcld-share">' +
657 '<a href="#" class="share-toggle" title="' + (sharetTxt?.en_US || 'Share') + '"><i class="dashicons dashicons-share"></i></a>' +
658 '<div class="share-menu" style="display:none;">' +
659 '<a href="#" class="share-fb"><i class="dashicons dashicons-facebook"></i></a>' +
660 '<a href="#" class="share-wa"><i class="dashicons dashicons-whatsapp"></i></a>' +
661 '<a href="#" class="share-x"><i class="dashicons dashicons-twitter"></i></a>' +
662 '<a href="#" class="share-email"><i class="dashicons dashicons-email-alt"></i></a>' +
663 '</div>' +
664 '</div>'
665 : '') +
666 '</div>' +
667 '</li>';
668 $('#wp-chatbot-messages-container').append(msgContent);
669 //Scroll to the last message
670 $('.wp-chatbot-ball-inner').animate({ scrollTop: $('.wp-chatbot-messages-wrapper').prop("scrollHeight")}, 'slow', function () { wpbotSyncSlimScrollBar($('.wp-chatbot-ball-inner')); });
671
672 setTimeout(function(){
673 $('#wp-chatbot-messages-container li:last .wp-chatbot-paragraph').html(fristMsg);
674 //Second Message with interval
675 $('#wp-chatbot-messages-container').append(msgContent);
676 //Scroll to the last message
677 $('.wp-chatbot-ball-inner').animate({ scrollTop: $('.wp-chatbot-messages-wrapper').prop("scrollHeight")}, 'slow', function () { wpbotSyncSlimScrollBar($('.wp-chatbot-ball-inner')); });
678 setTimeout(function(){
679 $('#wp-chatbot-messages-container li:last .wp-chatbot-paragraph').html(secondMsg).css({'background-color':wpChatBotVar.proactive_bg_color});
680 //Scroll to the last message
681 $('.wp-chatbot-ball-inner').animate({ scrollTop: $('.wp-chatbot-messages-wrapper').prop("scrollHeight")}, 'slow', function () { wpbotSyncSlimScrollBar($('.wp-chatbot-ball-inner')); });
682
683 }, 2000);
684
685 }, 2000);
686 }
687 $(document).on('click', '#wp-chatbot-mobile-close, #wp-chatbot-desktop-close', function (event) {
688 var $boardContainer = $("#wp-chatbot-board-container");
689 if ($boardContainer.hasClass('active-chat-board')) {
690 $boardContainer.removeClass('wp-chatbot-open-anim wp-chatbot-expand-anim wp-chatbot-collapse-anim');
691 void $boardContainer[0].offsetWidth;
692 $boardContainer.addClass('wp-chatbot-close-anim');
693 setTimeout(function () {
694 $boardContainer.removeClass('active-chat-board wp-chatbot-close-anim');
695 }, 280);
696 }
697 $("#wp-chatbot-notification-container").removeClass('wp-chatbot-notification-container-disable').addClass('wp-chatbot-notification-container-sliding');
698 $('#wp-chatbot-chat-container').removeClass('wp-chatbot-mobile-fs-open').css({
699 'right': wpChatBotVar.wp_chatbot_position_x + 'px',
700 'bottom': wpChatBotVar.wp_chatbot_position_y + 'px',
701 'top': 'auto', 'left': 'auto',
702 'width': '', 'max-width': ''
703 });
704 $('#wp-chatbot-board-container').css({'width': '', 'max-width': ''});
705 // Restore icon: show video OR image when chat is closed via X button
706 if (wpbotIconVideo !== '') {
707 $('#wp-chatbot-ball').find('img#wp-chatbot-ball-icon-img').attr('src', botimage).hide();
708 $('#wp-chatbot-ball-icon-video').show();
709 } else {
710 $('#wp-chatbot-ball').find('img').attr('src', botimage);
711 }
712 $('.wp-chatbot-ball').css('background', '#ffffff');
713 $('#wp-chatbot-ball').show();
714 //Facebook Messenger.
715 if ($('.active-chat-board').length > 0) {
716 $('#wp-chatbot-integration-container').show();
717 } else {
718 $('#wp-chatbot-integration-container').hide();
719 }
720 });
721 function wpbotSyncExpandIconState() {
722 var $boardContainer = $('#wp-chatbot-board-container');
723 var isExpanded = $boardContainer.hasClass('wp-chatbot-expanded');
724 $('#wp-chatbot-desktop-expand').attr('title', isExpanded ? 'Collapse' : 'Expand').find('span')
725 .removeClass('dashicons dashicons-fullscreen-exit-alt')
726 .addClass('dashicons ' + (isExpanded ? 'dashicons-editor-contract' : 'dashicons-editor-expand'));
727 }
728
729 wpbotSyncExpandIconState();
730
731 $(document).on('click', '#wp-chatbot-desktop-expand', function (event) {
732 event.preventDefault();
733 var $boardContainer = $('#wp-chatbot-board-container');
734 // Size toggle only — CSS width/height transition. No opacity/scale anims (they flash white).
735 $boardContainer.removeClass('wp-chatbot-open-anim wp-chatbot-expand-anim wp-chatbot-collapse-anim wp-chatbot-close-anim');
736 $boardContainer.toggleClass('wp-chatbot-expanded');
737 wpbotSyncExpandIconState();
738 // Keep slimScroll in sync after height change
739 setTimeout(function () {
740 var $inner = $boardContainer.find('.wp-chatbot-ball-inner');
741 if (!$inner.length || !$inner[0]) {
742 return;
743 }
744 var computedH = window.getComputedStyle($inner[0]).height;
745 if (computedH) {
746 $inner.slimScroll({ height: computedH, start: 'bottom' });
747 wpbotSyncSlimScrollBar($inner);
748 }
749 }, 40);
750 });
751
752
753 $("#qcld-wp-chatbot-shortcode-style-css").attr("disabled", "disabled");
754 /***
755 * Notification Message
756 */
757 if ($('#wp-chatbot-notification-container').length > 0) {
758 if (sessionStorage.getItem('wpChatbotNotification') && sessionStorage.getItem('wpChatbotNotification') == 'removed') {
759 //if remove on the session.
760 $('#wp-chatbot-notification-container').addClass('wp-chatbot-notification-container-disable');
761 } else {
762 //Notification comes with slideIn effect
763 $('#wp-chatbot-notification-container').addClass('wp-chatbot-notification-container-sliding');
764 //handling welcome & return user welcome msg.
765 if ($.cookie("shopper")) {
766 var shopper = $.cookie("shopper");
767 var welcomeMsg = wpChatBotVar.welcome_back[0] + ' <strong>' + shopper + '!</strong>';
768 } else {
769 var welcomeMsg = wpChatBotVar.welcome[0] + ' <strong>' + wpChatBotVar.host + '!</strong>';
770
771 }
772 $('.wp-chatbot-notification-welcome').html(welcomeMsg);
773 //Notifications msgs handling.
774 var notifications = wpChatBotVar.notifications;
775 if (notifications.length > 1) {
776 var totalNotMsg = wpChatBotVar.notifications.length;
777 var notMsgIndex = 0;
778 var intervalTime = parseInt(wpChatBotVar.notification_interval) * 1000;
779 var notificationInterval = setInterval(function (e) {
780 notMsgIndex++;
781 if (totalNotMsg <= notMsgIndex) {
782 notMsgIndex = 0;
783 }
784 //show new notification time after every intervalTime
785 $('.wp-chatbot-notification-message').css({'opacity': 1}).html(notifications[notMsgIndex]);
786 }, intervalTime);
787 }
788
789 $(".wp-chatbot-notification-close").click(function () {
790 $('#wp-chatbot-notification-container').addClass('wp-chatbot-notification-container-disable');
791 //clearInterval(notificationInterval);
792 sessionStorage.setItem('wpChatbotNotification', 'removed');
793 });
794 }
795 }
796 }
797 else if ($('#wp-chatbot-shortcode-template-container').length > 0) { //Page shortcode area.
798 $('#wp-chatbot-chat-container').css({'display': 'none'});
799 $('#wp-chatbot-ball').hide();
800 //Add Scroll to chat ui
801 $('.wp-chatbot-ball-inner').slimScroll({
802 height: '60hv',
803 start: 'bottom'
804 });
805 wpbotSyncSlimScrollBar($('.wp-chatbot-ball-inner'));
806 //Add scroll to cart part
807 var recentViewHeight = $('.wp-chatbot-container').outerHeight();
808 if ($('.chatbot-shortcode-template-02').length == 0) {
809 $('.wp-chatbot-cart-body').slimScroll({height: '200px', start: 'top'});
810 $('.wp-chatbot-widget .wp-chatbot-products').slimScroll({height: '435px', start: 'top'});
811 }
812
813 //Remove style of template
814 $("#qcld-wp-chatbot-style-css").attr("disabled", "disabled");
815 //Here is the Plugin to be load only for once.
816 if (LoadwpwBotPlugin == 0) {
817 $.wpwbot({obj: wpChatBotVar, editor_handler: textEditorHandler});
818 LoadwpwBotPlugin++;
819 var data = {'action': 'qcld_wb_chatbot_session_count', 'nonce': wpChatBotVar.session_nonce};
820 jQuery.post(wpChatBotVar.ajax_url, data, function (response) {
821 //
822 });
823 }
824
825
826 }
827 else if ($('#wp-chatbot-chat-app-shortcode-container').length > 0) { //App shortcode area.
828
829 textEditorHandler = 1;
830 //App UI (ball inner)
831 setTimeout(function () {
832 var widowH = $(window).height();
833 //var headerH = $('.wp-chatbot-header').outerHeight();
834 var footerH = $('.wp-chatbot-footer').outerHeight();
835
836 var AppContentInner = widowH - footerH;
837 //alert(footerH);
838 $('#wp-chatbot-chat-app-shortcode-container .wp-chatbot-ball-inner').css({'height': AppContentInner + 'px'})
839 }, 300);
840 $(window).resize(function () {
841 setTimeout(function () {
842 var widowH = $(window).height();
843 //var headerH = $('.wp-chatbot-header').outerHeight();
844 var footerH = $('.wp-chatbot-footer').outerHeight();
845 var AppContentInner = widowH - footerH;
846 //alert(footerH);
847 $('#wp-chatbot-chat-app-shortcode-container .wp-chatbot-ball-inner').css({'height': AppContentInner + 'px'})
848 }, 300)
849 });
850
851 $('#wp-chatbot-ball').hide();
852 //Add Scroll to chat ui
853 $("#qcld-wp-chatbot-shortcode-style-css").attr("disabled", "disabled");
854 $("#wp-chatbot-board-container").addClass('active-chat-board');
855 $('.wp-chatbot-ball-inner').slimScroll({
856 height: '55hv',
857 start: 'bottom'
858 }).parent();
859 wpbotSyncSlimScrollBar($('.wp-chatbot-ball-inner'));
860 if (LoadwpwBotPlugin == 0) {
861 $.wpwbot({obj: wpChatBotVar, editor_handler: textEditorHandler});
862 LoadwpwBotPlugin++;
863 var data = {'action': 'qcld_wb_chatbot_session_count', 'nonce': wpChatBotVar.session_nonce};
864 jQuery.post(wpChatBotVar.ajax_url, data, function (response) {
865 //
866 });
867 }
868 //Handling app cart and checkout
869 $('#wp-chatbot-cart-short-code').hide();
870 $('#wp-chatbot-checkout-short-code').hide();
871 $(document).on('click', '.wp-chatbot-cart-link', function (event) {
872 $('.wp-chatbot-messages-wrapper').hide();
873 $('#wp-chatbot-checkout-short-code').hide();
874 $('#wp-chatbot-cart-short-code').show();
875 event.preventDefault();
876 $('#wp-chatbot-cart-short-code').html('<img class="wp-chatbot-comment-loader" src="' + wpChatBotVar.image_path + 'comment.gif" alt="..." />');
877 var data = {'action': 'qcld_wb_chatbot_cart_page'};
878 jQuery.post(wpChatBotVar.ajax_url, data, function (response) {
879 $("#wp-chatbot-cart-short-code").html(response);
880 });
881 });
882 $(document).on('click', '.wp-chatbot-checkout-link, .checkout-button', function (event) {
883 event.preventDefault();
884 $('.wp-chatbot-messages-wrapper').hide();
885 $('#wp-chatbot-cart-short-code').hide();
886 $('#wp-chatbot-checkout-short-code').show();
887
888
889 $('#wp-chatbot-checkout-short-code').html('<img class="wp-chatbot-comment-loader" src="' + wpChatBotVar.image_path + 'comment.gif" alt="..." />');
890 var data = {'action': 'qcld_wb_chatbot_checkout_page'};
891 jQuery.post(wpChatBotVar.ajax_url, data, function (response) {
892 if (response.status == 'yes') {
893 window.location.href = response.html;
894 } else {
895 $("#wp-chatbot-checkout-short-code").html(response.html);
896 }
897
898 });
899 });
900 //Preventing url redirect from cart page.
901 $(document).on('click', '#wp-chatbot-chat-app-shortcode-container .wpcommerce-cart-form a', function (e) {
902 e.preventDefault();
903 });
904 }
905 //For variable product configuration
906 $(document).on('change', "#wp-chatbot-product-variable select ", function () {
907 var variations = JSON.parse($("#wp-chatbot-variation-data").attr('data-product-variation'));
908 var item_conditions = [];
909
910 var totalAttr = $("#wp-chatbot-product-variable select").length;
911 var i = 1;
912 $("#wp-chatbot-product-variable select").each(function (index, element) {
913 var myVal = $(this).find('option:selected').val();
914 if (myVal != "") {
915 item_conditions.push({
916 'left': 'item["variation_data"]["' + $(this).attr('name') + '"][0]',
917 'right': myVal
918 })
919 }
920 });
921 var newVariation = [];
922 for (var a = 0; variations.length > a; a++) {
923 var item = variations[a];
924 var item_condition = "";
925 for (var i = 0; item_conditions.length > i; i++) {
926
927 if (i > 0) {
928 item_condition += ' && ' + '"' + eval(item_conditions[i].left).toLowerCase() + '"' + '==' + '"' + item_conditions[i].right.toLowerCase() + '"';
929 } else {
930 item_condition += '"' + eval(item_conditions[i].left).toLowerCase() + '"' + '==' + '"' + item_conditions[i].right.toLowerCase() + '"';
931 }
932 }
933 if (eval(item_condition)) {
934 newVariation[0] = item;
935 }
936 }
937 if (newVariation.length > 0) {
938 $('#wp-chatbot-variation-add-to-cart').attr('variation_id', newVariation[0]['variation_id']);
939 var priceSets = "";
940 if (newVariation[0]['variation_data']['_sale_price'][0] != "") {
941 priceSets += '<strike>' + wpChatBotVar.currency_symbol + newVariation[0]['variation_data']['_regular_price'][0] + '</strike> <strong>' + wpChatBotVar.currency_symbol + newVariation[0]['variation_data']['_sale_price'][0] + '</strong>'
942 } else {
943 priceSets += '<strong>' + wpChatBotVar.currency_symbol + newVariation[0]['variation_data']['_regular_price'][0] + '</strong>';
944 }
945 $('#wp-chatbot-product-price').html(priceSets);
946 }
947 });
948
949 if ($('.active-chat-board').length > 0) {
950 $('#wp-chatbot-integration-container').show();
951 } else {
952 $('#wp-chatbot-integration-container').hide();
953 }
954 //Facebook Messenger Integration
955 /* if(wpChatBotVar.enable_messenger == 1){
956 $(document).on('click','.fb_dialog',function (e) {
957 $('#wp-chatbot-board-container').removeClass('active-chat-board');
958 $('.fb_dialog').css({'display': 'inline'});
959 setTimeout(function (e) {
960 $('.fb-customerchat >span').css({'display': 'inline'});
961 $('.fb_dialog').trigger('click'); //.css({'display': 'none'});
962 },300);
963 $('#wp-chatbot-integration-container').hide();
964 });
965 }*/
966 //skype
967 if (wpChatBotVar.enable_skype == 1) {
968 $(document).on('click', '.inetegration-skype-btn', function (e) {
969 $('#wp-chatbot-board-container').removeClass('active-chat-board');
970 // $('.lwc-button-icon').trigger('click');
971 $('#wp-chatbot-integration-container').hide();
972 });
973
974 }
975
976
977 });
978
979 });
980