UNPKG

@venly/connect

Version:

Venly Connect SDK

58 lines 2.53 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.GeneralPopup = void 0; var tslib_1 = require("tslib"); var EventTypes_1 = require("../types/EventTypes"); var Popup_1 = tslib_1.__importDefault(require("./Popup")); var Utils_1 = tslib_1.__importDefault(require("../utils/Utils")); var DialogWindow_1 = require("../dialog/DialogWindow"); var GeneralPopup = /** @class */ (function (_super) { tslib_1.__extends(GeneralPopup, _super); function GeneralPopup() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.finishedEventType = EventTypes_1.EventTypes.POPUP_FINISHED; _this.sendDataEventType = EventTypes_1.EventTypes.SEND_DATA; return _this; } GeneralPopup.openNewPopup = function (action, bearerTokenProvider, data, options) { var popup = new GeneralPopup(Utils_1.default.urls.connect + "/popup/general/init.html", bearerTokenProvider, options); window.addEventListener('beforeunload', function () { popup.close(); }); popup.focus(); return popup.sendData(action, data && JSON.parse(JSON.stringify(data))) .catch(function () { popup.close(); }) .finally(function () { if (!(options && options.closePopup == false)) { popup.close(); DialogWindow_1.DialogWindow.removeBackdrop(); DialogWindow_1.DialogWindow.closeRefocusLayout(); } }); }; GeneralPopup.prototype.sendData = function (action, data) { var _this = this; return new Promise(function (resolve, reject) { _this.onPopupMountedQueue.push(_this.attachFinishedListener(resolve, reject)); _this.onPopupMountedQueue.push(_this.sendDataToPopup(action, data)); _this.processPopupMountedQueue(); }); }; GeneralPopup.prototype.sendDataToPopup = function (action, data) { var _this = this; return function () { if (_this.isOpen()) { var params = { action: action, bearerToken: _this.bearerTokenProvider() }; if (data) { params.data = data; } _this.popupWindow.postMessage({ type: _this.sendDataEventType, params: params }, Utils_1.default.urls.connect); } }; }; return GeneralPopup; }(Popup_1.default)); exports.GeneralPopup = GeneralPopup; //# sourceMappingURL=GeneralPopup.js.map