1;(function($) { 2 $(function(){ 3 var body = $('body'), 4 chatbot = '#chatbot', 5 cbClose = '#chatbot-close', 6 cbButtonContainer = '.js-chatbot', 7 cbOpen = '.js-chatbot-open', 8 cbMinimize = '.js-chatbot-minimized', 9 cbTab = '.js-chatbot-tab', 10 minimizeClass = 'is-minimized', 11 minimizeButtonClass = 'is-button-minimized', 12 closeClass = 'is-closed', 13 openClass = 'is-opened', 14 openTabClass = 'is-tab-opened'; 15 16 let ua = navigator.userAgent; 17 if (ua.indexOf('iPhone') > 0 || ua.indexOf('Android') > 0 && ua.indexOf('Mobile') > 0 || !AttendWidgetConfig.view.widget.popup) { 18 body.on('click', cbOpen, function(e) { 19 var href = $(chatbot).data('href'); 20 window.open(href, '_blank'); 21 }); 22 body.on('click', cbClose, function(e) { 23 e.stopPropagation(); 24 $(chatbot).removeClass(openClass); 25 $(chatbot).removeClass(closeClass); 26 $(cbButtonContainer).attr('aria-expanded','false'); 27 }); 28 body.on('click', cbMinimize, function(e) { 29 e.stopPropagation(); 30 $(this).blur(); 31 $(cbButtonContainer).addClass(minimizeButtonClass); 32 $(cbButtonContainer).attr('aria-expanded','false'); 33 }); 34 } else { 35 const iactParamRegex = /^cogmo-|_/ 36 body.on('click', cbOpen, function(e) { 37 let iframe = "<iframe src='" + widgetPath + "ui/index.html' frameborder='0' scrolling='auto'></iframe>"; 38 if(window.iframePath){ 39 iframe = "<iframe src='" + iframePath + "' frameborder='0' scrolling='auto'></iframe>"; 40 } 41 if (!$(this).hasClass('first-click')) { 42 $("#chatbot-body").append(iframe); 43 $(this).addClass('first-click'); 44 $(chatbot).removeClass(minimizeClass); 45 $(cbButtonContainer).attr('aria-expanded','true'); 46 } 47 48 $(cbButtonContainer).addClass(openClass); 49 $(cbButtonContainer).attr('aria-expanded','true'); 50 $(chatbot).addClass(openClass); 51 $(chatbot).removeClass(closeClass); 52 }); 53 body.on('click', cbClose, function(e) { 54 e.stopPropagation(); 55 $(cbButtonContainer).removeClass(openClass); 56 57 if ($(cbOpen).hasClass('js-btn-chatbot')) { 58 $(cbButtonContainer).attr('aria-expanded','true'); 59 } else { 60 $(cbButtonContainer).attr('aria-expanded','false'); 61 } 62 63 $(chatbot).removeClass(openClass); 64 $(chatbot).addClass(closeClass); 65 $(cbOpen).focus(); 66 }); 67 body.on('click', cbMinimize, function(e) { 68 e.stopPropagation(); 69 $(this).blur(); 70 $(cbButtonContainer).addClass(minimizeButtonClass); 71 $(cbButtonContainer).attr('aria-expanded','false'); 72 }); 73 } 74 75 body.on('click keydown', cbTab, function(e) { 76 var tabIndex ='.js-btn-chatbot'; 77 78 if (e.type === 'keydown' && e.key !== 'Enter') { 79 return; 80 } 81 82 $(this).toggleClass(openTabClass); 83 $(cbButtonContainer).toggleClass(openTabClass); 84 $(this).blur(); 85 86 if ($(cbButtonContainer).hasClass(openTabClass)) { 87 $(cbButtonContainer).attr('aria-expanded','true'); 88 $(tabIndex).attr('tabindex','0'); 89 } else { 90 $(cbButtonContainer).attr('aria-expanded','false'); 91 $(tabIndex).attr('tabindex','-1'); 92 } 93 }); 94 }) 95})(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.