1(function($, Drupal){ 2 Drupal.behaviors.wb_revive_server_ads = { 3 attach: function(context,settings) { 4 //General 5 if($('.add-revive-ads').length > 0 ) { 6 $('.add-revive-ads').each(function(){ 7 if($(window).width() > 1024) { 8 $(this).html('<ins data-revive-zoneid="13068" data-revive-id="727bec5e09208690b050ccfc6a45d384"></ins><script async src="//servedby.revive-adserver.net/asyncjs.php"></script>'); 9 } else { 10 $(this).html('<ins data-revive-zoneid="13069" data-revive-id="727bec5e09208690b050ccfc6a45d384"></ins><script async src="//servedby.revive-adserver.net/asyncjs.php"></script>'); 11 } 12 }); 13 } 14 //Community - Boats For Sale 15 if($('.add-revive-com-bfs').length > 0 ) { 16 $('.add-revive-com-bfs').each(function(){ 17 if($(window).width() > 1024) { 18 $(this).html('<ins data-revive-zoneid="17703" data-revive-id="727bec5e09208690b050ccfc6a45d384"></ins><script async src="//servedby.revive-adserver.net/asyncjs.php"></script>'); 19 } else { 20 $(this).html('<ins data-revive-zoneid="17699" data-revive-id="727bec5e09208690b050ccfc6a45d384"></ins><script async src="//servedby.revive-adserver.net/asyncjs.php"></script>'); 21 } 22 }); 23 } 24 //Community - Events 25 if($('.add-revive-com-event').length > 0 ) { 26 $('.add-revive-com-event').each(function(){ 27 if($(window).width() > 1024) { 28 $(this).html('<ins data-revive-zoneid="17704" data-revive-id="727bec5e09208690b050ccfc6a45d384"></ins><script async src="//servedby.revive-adserver.net/asyncjs.php"></script>'); 29 } else { 30 $(this).html('<ins data-revive-zoneid="17705" data-revive-id="727bec5e09208690b050ccfc6a45d384"></ins><script async src="//servedby.revive-adserver.net/asyncjs.php"></script>'); 31 } 32 }); 33 } 34 //Community - Launchings 35 if($('.add-revive-com-launch').length > 0 ) { 36 $('.add-revive-com-launch').each(function(){ 37 if($(window).width() > 1024) { 38 $(this).html('<ins data-revive-zoneid="17700" data-revive-id="727bec5e09208690b050ccfc6a45d384"></ins><script async src="//servedby.revive-adserver.net/asyncjs.php"></script>'); 39 } else { 40 $(this).html('<ins data-revive-zoneid="17701" data-revive-id="727bec5e09208690b050ccfc6a45d384"></ins><script async src="//servedby.revive-adserver.net/asyncjs.php"></script>'); 41 } 42 }); 43 } 44 //Community - Plans and Kits 45 if($('.add-revive-com-pk').length > 0 ) { 46 $('.add-revive-com-pk').each(function(){ 47 if($(window).width() > 1024) { 48 $(this).html('<ins data-revive-zoneid="17693" data-revive-id="727bec5e09208690b050ccfc6a45d384"></ins><script async src="//servedby.revive-adserver.net/asyncjs.php"></script>'); 49 } else { 50 $(this).html('<ins data-revive-zoneid="17702" data-revive-id="727bec5e09208690b050ccfc6a45d384"></ins><script async src="//servedby.revive-adserver.net/asyncjs.php"></script>'); 51 } 52 }); 53 } 54 //Community - Register of Wooden Boats 55 if($('.add-revive-com-rwb').length > 0 ) { 56 $('.add-revive-com-rwb').each(function(){ 57 if($(window).width() > 1024) { 58 $(this).html('<ins data-revive-zoneid="17706" data-revive-id="727bec5e09208690b050ccfc6a45d384"></ins><script async src="//servedby.revive-adserver.net/asyncjs.php"></script>'); 59 } else { 60 $(this).html('<ins data-revive-zoneid="17707" data-revive-id="727bec5e09208690b050ccfc6a45d384"></ins><script async src="//servedby.revive-adserver.net/asyncjs.php"></script>'); 61 } 62 }); 63 } 64 //Magazine - Issue Pages 65 if($('.add-revive-mag-issue').length > 0 ) { 66 $('.add-revive-mag-issue').each(function(){ 67 if($(window).width() > 1024) { 68 $(this).html('<ins data-revive-zoneid="17708" data-revive-id="727bec5e09208690b050ccfc6a45d384"></ins><script async src="//servedby.revive-adserver.net/asyncjs.php"></script>'); 69 } else { 70 $(this).html('<ins data-revive-zoneid="17694" data-revive-id="727bec5e09208690b050ccfc6a45d384"></ins><script async src="//servedby.revive-adserver.net/asyncjs.php"></script>'); 71 } 72 }); 73 } 74 //Magazine - Issue Search Page 75 if($('.add-revive-mag-issue-search').length > 0 ) { 76 $('.add-revive-mag-issue-search').each(function(){ 77 if($(window).width() > 1024) { 78 $(this).html('<ins data-revive-zoneid="17695" data-revive-id="727bec5e09208690b050ccfc6a45d384"></ins><script async src="//servedby.revive-adserver.net/asyncjs.php"></script>'); 79 } else { 80 $(this).html('<ins data-revive-zoneid="17696" data-revive-id="727bec5e09208690b050ccfc6a45d384"></ins><script async src="//servedby.revive-adserver.net/asyncjs.php"></script>'); 81 } 82 }); 83 } 84 //Magazine - Online Exclusives 85 if($('.add-revive-mag-oe').length > 0 ) { 86 $('.add-revive-mag-oe').each(function(){ 87 if($(window).width() > 1024) { 88 $(this).html('<ins data-revive-zoneid="17691" data-revive-id="727bec5e09208690b050ccfc6a45d384"></ins><script async src="//servedby.revive-adserver.net/asyncjs.php"></script>'); 89 } else { 90 $(this).html('<ins data-revive-zoneid="17692" data-revive-id="727bec5e09208690b050ccfc6a45d384"></ins><script async src="//servedby.revive-adserver.net/asyncjs.php"></script>'); 91 } 92 }); 93 } 94 //Magazine - Sample Digital Issue 95 if($('.add-revive-mag-sample').length > 0 ) { 96 $('.add-revive-mag-sample').each(function(){ 97 if($(window).width() > 1024) { 98 $(this).html('<ins data-revive-zoneid="17697" data-revive-id="727bec5e09208690b050ccfc6a45d384"></ins><script async src="//servedby.revive-adserver.net/asyncjs.php"></script>'); 99 } else { 100 $(this).html('<ins data-revive-zoneid="17698" data-revive-id="727bec5e09208690b050ccfc6a45d384"></ins><script async src="//servedby.revive-adserver.net/asyncjs.php"></script>'); 101 } 102 }); 103 } 104 } 105 } 106}(jQuery, Drupal)); 107; 108/** 109 * @file 110 * Global utilities. 111 * 112 */ 113(function ($, Drupal) { 114 "use strict"; 115 116 Drupal.behaviors.wb_barrio = { 117 attach: function (context, settings) {}, 118 }; 119 $(".mobile-menu-cta").click(function () { 120 if (parseInt($(window).width()) < 700) { 121 $(".mobile-menu-cta").toggleClass("open"); 122 } 123 else { 124 $(".mobile-menu-cta").removeClass("open"); 125 } 126 }); 127 128 $(window).resize(function () { 129 if ($(window).width() < 991) { 130 $("#block-woodenboat-account-menu").prependTo("#mobile-menu-footer"); 131 } 132 else { 133 $("#block-woodenboat-account-menu").appendTo(".main-menu"); 134 } 135 }); 136 137 var slideHeight = 400; 138$(".node__editors_page").each(function() { 139 var $this = $(this); 140 var $wrap = $this.children(".node__editors_page__inner"); 141 var defHeight = $wrap.height(); 142 if (defHeight >= slideHeight) { 143 var $readMore = $this.find(".read-more"); 144 $wrap.css("height", slideHeight + "px"); 145 $readMore.append("<a href='#'>Continue Reading</a>"); 146 $readMore.children("a").bind("click", function(event) { 147 var curHeight = $wrap.height(); 148 if (curHeight == slideHeight) { 149 $wrap.animate({ 150 height: defHeight 151 }, "normal"); 152 $wrap.children(".gradient").fadeOut(); 153 $(this).remove(); 154 } else { 155 $wrap.animate({ 156 height: slideHeight 157 }, "normal"); 158 $(this).text("Continue Reading"); 159 $wrap.children(".gradient").fadeIn(); 160 } 161 return false;
162 }); 163 } 164}); 165})(jQuery, Drupal); 166; 167/** 168 * @file 169 * Unlock protected forms. 170 * 171 * This works by resetting the form action to the path that It should be as well 172 * as injecting the secret form key, only if the current user is verified to be 173 * human which is done by waiting for a mousemove, swipe, or tab/enter key to be 174 * pressed. 175 */ 176 177(function (Drupal, drupalSettings) { 178 "use strict"; 179 180 Drupal.antibot = {}; 181 182 Drupal.behaviors.antibot = { 183 attach: function (context) { 184 // Assume the user is not human, despite JS being enabled. 185 drupalSettings.antibot.human = false; 186 187 // Wait for a mouse to move, indicating they are human. 188 document.body.addEventListener('mousemove', function () { 189 // Unlock the forms. 190 Drupal.antibot.unlockForms(); 191 }); 192 193 // Wait for a touch move event, indicating that they are human. 194 document.body.addEventListener('touchmove', function () { 195 // Unlock the forms. 196 Drupal.antibot.unlockForms(); 197 }); 198 199 // A tab or enter key pressed can also indicate they are human. 200 document.body.addEventListener('keydown', function (e) { 201 if ((e.code == 'Tab') || (e.code == 'Enter')) { 202 // Unlock the forms. 203 Drupal.antibot.unlockForms(); 204 } 205 }); 206 } 207 }; 208 209 /** 210 * Unlock all locked forms. 211 */ 212 Drupal.antibot.unlockForms = function () { 213 // Act only if we haven't yet verified this user as being human. 214 if (!drupalSettings.antibot.human) { 215 // Check if there are forms to unlock. 216 if (drupalSettings.antibot.forms != undefined) { 217 // Iterate all antibot forms that we need to unlock. 218 Object.values(drupalSettings.antibot.forms).forEach(function (config) { 219 // Switch the action. 220 const form = document.getElementById(config.id); 221 if (form) { 222 form.setAttribute('action', form.getAttribute('data-action')); 223 224 // Set the key. 225 const input = form.querySelector('input[name="antibot_key"]'); 226 if (input) { 227 input.value = config.key.split("").reverse().join("").match(/.{1,2}/g).map((value) => value.split("").reverse().join("")).join(""); 228 } 229 } 230 }); 231 } 232 // Mark this user as being human. 233 drupalSettings.antibot.human = true; 234 } 235 }; 236})(Drupal, drupalSettings); 237;
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.