var CoinSwitchComponent = { props: ["toCurrency", "toCurrencyDue", "toCurrencyAddress", "merchantId", "autoload", "mode"], data: function () { return { opened: false }; }, computed: { showInlineIFrame: function () { return this.url && this.opened; }, url: function () { return window.location.origin + "/checkout/coinswitch.html?" + "&toCurrency=" + this.toCurrency + "&toCurrencyAddress=" + this.toCurrencyAddress + "&toCurrencyDue=" + this.toCurrencyDue + "&mode=" + this.mode + (this.merchantId ? "&merchant_id=" + this.merchantId : ""); } }, methods: { openDialog: function (e) { if (e && e.preventDefault) { e.preventDefault(); } if (this.mode === 'inline') { this.opened = true; } else if (this.mode === "popup") { var coinSwitchWindow = window.open( this.url, 'CoinSwitch', 'width=360,height=650,toolbar=0,menubar=0,location=0,status=1,scrollbars=1,resizable=0,left=0,top=0'); coinSwitchWindow.opener = null; coinSwitchWindow.focus(); } }, closeDialog: function () { if (this.mode === 'inline') { this.opened = false; } }, onLoadIframe: function (event) { $("#prettydropdown-DefaultLang").hide(); var c = this.closeDialog.bind(this); event.currentTarget.contentWindow.addEventListener("message", function (evt) { if (evt && evt.data == "popup-closed") { c(); $("#prettydropdown-DefaultLang").show(); } }); } }, mounted: function () { if (this.autoload) { this.openDialog(); } } };