backendless
Version:
Backendless JavaScript SDK for Node.js and the browser
72 lines (71 loc) • 2.67 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.SocialContainer = void 0;
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var SocialContainer = /*#__PURE__*/function () {
function SocialContainer(socialType, container) {
(0, _classCallCheck2["default"])(this, SocialContainer);
this.socialType = socialType;
this.container = container;
if (container) {
this.processContainer();
} else {
this.createContainer();
}
}
(0, _createClass2["default"])(SocialContainer, [{
key: "processContainer",
value: function processContainer() {
var _this = this;
var client;
var container = this.container[0] || this.container;
var loadingMsg = document.createElement('div');
loadingMsg.innerHTML = 'Loading...';
container.appendChild(loadingMsg);
container.style.cursor = 'wait';
this.closeContainer = function () {
container.style.cursor = 'default';
container.removeChild(client);
};
this.removeLoading = function () {
container.removeChild(loadingMsg);
};
this.doAuthorizationActivity = function (url) {
_this.removeLoading();
client = document.createElement('iframe');
client.frameBorder = 0;
client.width = container.style.width;
client.height = container.style.height;
client.id = 'SocialAuthFrame';
client.setAttribute('src', url + '&output=embed');
container.appendChild(client);
client.onload = function () {
container.style.cursor = 'default';
};
};
}
}, {
key: "createContainer",
value: function createContainer() {
var container = window.open('', this.socialType + ' authorization', 'resizable=yes, scrollbars=yes, titlebar=yes, top=10, left=10');
var body = container.document.getElementsByTagName('body')[0];
body.innerHTML = 'Loading...';
container.document.getElementsByTagName('html')[0].style.cursor = 'wait';
this.closeContainer = function () {
container.close();
};
this.doAuthorizationActivity = function (url) {
container.location.href = url;
container.onload = function () {
container.document.getElementsByTagName('html')[0].style.cursor = 'default';
};
};
}
}]);
return SocialContainer;
}();
exports.SocialContainer = SocialContainer;