1var frontendAddonDirectcontact = new frontendAddonDirectconctactClass(); 2 3function frontendAddonDirectconctactClass() 4{ 5 let addon; 6 let title; 7 8 this.init = function() 9 { 10 addon = $('.addon_directcontact'); 11 title = addon.find('.title'); 12 13 setTimeout(function() { 14 title.addClass('visible'); 15 }, 4000); 16 17 setTimeout(function() { 18 title.removeClass('visible'); 19 }, 10000); 20 21 title.on('click', function(e) { 22 title.removeClass('visible'); 23 }); 24 25 addon.css('right', ''); 26 27 if(this.getPosition() == 'right') 28 { 29 addon.attr('data-right', addon.css('right')); 30 31 _APP.events.on('scrollToTopShown', function() { 32 addon.css('right', 100); 33 }); 34 35 _APP.events.on('scrollToTopHidden', function() { 36 addon.css('right', addon.attr('data-right')); 37 }); 38 } 39 40 _APP.events.fire('addons.directcontact.loaded'); 41 } 42 43 this.enable = function() 44 { 45 this.reloadWidget(); 46 } 47 48 this.disable = function() 49 { 50 _APP.events.fire('addons.directcontact.disable'); 51 52 addon.remove(); 53 } 54 55 this.reloadWidget = function() 56 { 57 addon.remove(); 58 59 $.post('/addons/directcontact/reload', { 60 token: _APP.frontend.token, 61 lang: _APP.frontend.language, 62 p: _APP.frontend.p, 63 }, function(response) { 64 65 $('body').append(response); 66 67 frontendAddonDirectcontact.init(); 68 }); 69 } 70 71 this.getPosition = function() 72 { 73 return (addon.hasClass('block-pos-right') ? 'right' : 'left'); 74 } 75 76 this.getAddon = function() 77 { 78 return addon; 79 } 80} 81 82$(document).ready(function() { 83 frontendAddonDirectcontact.init(); 84});
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.