Created
June 17, 2019 16:56
-
-
Save karen-white/7c100e61c42bed32b42d0d443b4f8d5e to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<script> | |
(function(win) { | |
'use strict'; | |
var listeners = [], | |
doc = win.document, | |
MutationObserver = win.MutationObserver || win.WebKitMutationObserver, | |
observer; | |
function ready(selector, fn) { | |
// Store the selector and callback to be monitored | |
listeners.push({ | |
selector: selector, | |
fn: fn | |
}); | |
if (!observer) { | |
// Watch for changes in the document | |
observer = new MutationObserver(check); | |
observer.observe(doc.documentElement, { | |
childList: true, | |
subtree: true | |
}); | |
} | |
// Check if the element is currently in the DOM | |
check(); | |
} | |
function check() { | |
// Check the DOM for elements matching a stored selector | |
for (var i = 0, len = listeners.length, listener, elements; i < len; i++) { | |
listener = listeners[i]; | |
// Query for elements matching the specified selector | |
elements = doc.querySelectorAll(listener.selector); | |
for (var j = 0, jLen = elements.length, element; j < jLen; j++) { | |
element = elements[j]; | |
// Make sure the callback isn't invoked with the | |
// same element more than once | |
if (!element.ready) { | |
element.ready = true; | |
// Invoke the callback with the element | |
listener.fn.call(element, element); | |
} | |
} | |
} | |
} | |
// Expose `ready` | |
win.ready = ready; | |
})(this); | |
ready('.paymentMethod', function(element) { | |
// do something | |
fetch('/api/storefront/checkouts/{{checkout.id}}', {credentials: 'include'}) | |
.then(res => res.json()) | |
.then(data => localStorage.setItem("shippingAddress", (JSON.stringify(data.consignments[0].shippingAddress)))) | |
}); | |
</script> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment