1(function () { 2 var maxWaitMs = 3000; 3 var pollIntervalMs = 100; 4 5 function syncExternalPrimaryBb(form, value) { 6 var externalPrimaryBb = form.querySelector(".external-provider-primary-bb"); 7 if (externalPrimaryBb) { 8 externalPrimaryBb.value = value || ""; 9 } 10 } 11 12 function submitWithPrimaryBb(form) { 13 var primaryBb = document.getElementById("PrimaryBb"); 14 var submitButton = form.querySelector("button[type='submit']"); 15 var startedAt = Date.now(); 16 17 if (!primaryBb) { 18 form.submit(); 19 return; 20 } 21 22 if (submitButton) { 23 submitButton.disabled = true; 24 } 25 26 function continueWhenReady() { 27 if (primaryBb.value || Date.now() - startedAt >= maxWaitMs) { 28 syncExternalPrimaryBb(form, primaryBb.value); 29 form.submit(); 30 return; 31 } 32 33 window.setTimeout(continueWhenReady, pollIntervalMs); 34 } 35 36 window.setTimeout(continueWhenReady, pollIntervalMs); 37 } 38 39 document.querySelectorAll(".external-provider-form").forEach(function (form) { 40 var primaryBb = document.getElementById("PrimaryBb"); 41 syncExternalPrimaryBb(form, primaryBb ? primaryBb.value : ""); 42 43 document.addEventListener("primarybb:ready", function (event) { 44 syncExternalPrimaryBb(form, event.detail && event.detail.value); 45 }); 46 47 form.addEventListener("submit", function (event) { 48 if (form.dataset.primaryBbReady === "true") { 49 return; 50 } 51 52 event.preventDefault(); 53 form.dataset.primaryBbReady = "true"; 54 submitWithPrimaryBb(form); 55 }); 56 }); 57})();
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.