1(function (Drupal, drupalSettings) { 2 Drupal.behaviors.AsuFooterBehavior = { 3 attach: function (context, settings) { 4 // If the asu footer is on the page 5 var footerElement = document.getElementById('ws2FooterContainer'); 6 if (footerElement) { 7 // BigPipe guard: prevent double-initialization. 8 if (footerElement.hasAttribute('data-react-root-initialized')) { 9 return; 10 } 11 footerElement.setAttribute('data-react-root-initialized', 'true'); 12 13 var props = drupalSettings.asu_footer 14 ? drupalSettings.asu_footer.props 15 : {}; 16 17 // Check if the shared ESM bundle is available and initialize the footer. 18 if ( 19 window.websparkAsuHeaderFooter && 20 typeof window.websparkAsuHeaderFooter.initASUFooter === 'function' 21 ) { 22 window.websparkAsuHeaderFooter.initASUFooter({ 23 targetSelector: '#ws2FooterContainer', 24 props: props, 25 }); 26 } else { 27 console.warn( 28 'The Webspark ASU footer initializer is unavailable. Make sure asu_brand/components-library is loaded.', 29 ); 30 } 31 } 32 }, 33 }; 34})(Drupal, drupalSettings);
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.