ivcbox-adapter
Version:
103 lines • 3.91 kB
JavaScript
;
var __extends = (this && this.__extends) || (function () {
var extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
var Base_1 = require("./Base");
var CoBrowsing = /** @class */ (function (_super) {
__extends(CoBrowsing, _super);
function CoBrowsing() {
var _this = _super !== null && _super.apply(this, arguments) || this;
_this.peerCobrowsingConnections = {};
return _this;
}
CoBrowsing.prototype.init = function (options, callback) {
var self = this;
self.initialization(options, callback);
self.addCoBrowdingWatchers();
};
CoBrowsing.prototype.initCobrowsing = function (roomHash) {
var self = this;
var requestObj = {
roomHash: roomHash
};
self.stompClient.send('/app/ws/room/initCobrowsing', {}, JSON.stringify(requestObj));
};
CoBrowsing.prototype.joinCobrowsing = function (roomHash) {
var self = this;
var requestObj = {
roomHash: roomHash
};
self.stompClient.send('/app/ws/room/joinCobrowsing', {}, JSON.stringify(requestObj));
};
CoBrowsing.prototype.leaveCobrowsing = function () {
var self = this;
self.stompClient.send('/app/ws/room/leaveCobrowsing', {}, null);
};
CoBrowsing.prototype.broadcastCobrowsing = function (roomHash, payload) {
var self = this;
var requestObj = {
roomHash: roomHash,
payload: payload
};
self.stompClient.send('/app/ws/room/broadcastCobrowsing', {}, JSON.stringify(requestObj));
};
CoBrowsing.prototype.addCoBrowdingWatchers = function () {
var self = this;
self._initProperties();
self.on('newCobrowsingConnectionSignal', function (data) {
self.processNewCobrowsingConnection(data);
});
self.on('userLeftCobrowsingConnectionSignal', function (data) {
self.processCobrowsingLeave(data);
});
self.on('cobrowsingBroadcastSignal', function (data) {
self.processCobrowsingBroadcast(data);
});
};
CoBrowsing.prototype._initProperties = function () {
var self = this;
self.peerCobrowsingConnections = {};
};
CoBrowsing.prototype.processNewCobrowsingConnection = function (payload) {
var self = this;
self.trigger('newCobrowsingConnection', {
userId: payload.userId,
roomHash: payload.roomHash
});
self.clearCoBrowdingTimeouts(payload.userId);
};
CoBrowsing.prototype.processCobrowsingLeave = function (payload) {
var self = this;
var data = {
userId: payload.userId,
roomHash: payload.roomHash
};
if (payload.isForced) {
self.trigger('peerCobrowsingConnectionDisconnected', data);
}
else {
self.trigger('userLeftCobrowsingConnection', data);
}
};
CoBrowsing.prototype.processCobrowsingBroadcast = function (payload) {
var self = this;
self.trigger('cobrowsingBroadcast', payload);
};
CoBrowsing.prototype.clearCoBrowdingTimeouts = function (userId) {
var self = this;
if (self.peerCobrowsingConnections[userId]) {
clearTimeout(self.peerCobrowsingConnections[userId]);
}
};
return CoBrowsing;
}(Base_1.default));
exports.default = CoBrowsing;
//# sourceMappingURL=CoBrowsing.js.map