var Unibase; (function (Unibase) { let Platform; (function (Platform) { let Connect; (function (Connect) { let Hubs; (function (Hubs) { class ChatHub { constructor(huburl) { this.reconnectIntervalMs = 5000; this.server = { UserConnected: function (packet, callback) { Unibase.Platform.Connect.Hubs.ChatHub.instance. invoke("UserConnected", packet, callback); }, UserTyping: function (packet, callback) { Unibase.Platform.Connect.Hubs.ChatHub.instance. invoke("UserTyping", packet, callback); }, SendPrivateMessage: function (packet, callback) { Unibase.Platform.Connect.Hubs.ChatHub.instance. invoke("SendPrivateMessage", packet, callback); }, OpenVideo: function (packet) { Unibase.Platform.Connect.Hubs.ChatHub.instance. invoke("OpenVideo", packet, null); }, UpdateDeliveryStatus: function (packet, callback) { Unibase.Platform.Connect.Hubs.ChatHub.instance. invoke("UpdateDeliveryStatus", packet, callback); }, UpdateActiveChatGroup: function (packet, callback) { Unibase.Platform.Connect.Hubs.ChatHub.instance. invoke("UpdateActiveChatGroup", packet, callback); }, UpdateReadStatus: function (packet, callback) { Unibase.Platform.Connect.Hubs.ChatHub.instance.invoke("UpdateReadStatus", packet, callback); }, OnPrivateWindowOpened: function (packet, callback) { Unibase.Platform.Connect.Hubs.ChatHub.instance.invoke("OnPrivateWindowOpened", packet, callback); }, EditMessage: function (packet, callback) { Unibase.Platform.Connect.Hubs.ChatHub.instance.invoke("Editmessage", packet, callback); }, Deleteall: function (packet, callback) { Unibase.Platform.Connect.Hubs.ChatHub.instance.invoke("DeleteForAll", packet, callback); }, updateLastMessage: function (packet, callback) { Unibase.Platform.Connect.Hubs.ChatHub.instance.invoke("UpdateLastMessage", packet, callback); }, OnGroupNameChanged: function (packet, callback) { Unibase.Platform.Connect.Hubs.ChatHub.instance.invoke("OnGroupNameChanged", packet, callback); }, EnableAudio: function (packet, callback) { Unibase.Platform.Connect.Hubs.ChatHub.instance. invoke("EnableAudio", packet, callback); }, EnableVedio: function (packet, callback) { Unibase.Platform.Connect.Hubs.ChatHub.instance. invoke("EnableVedio", packet, callback); }, updategroupparticipants: function (chatParticipants) { Unibase.Platform.Connect.Hubs.ChatHub.instance. invoke("Updategroupparticipants", chatParticipants, null); }, removeParticipant: function (recipientid) { Unibase.Platform.Connect.Hubs.ChatHub.instance. invoke("RemoveParticipants", recipientid, null); }, GetUnreadChatCount: function (sessionid) { Unibase.Platform.Connect.Hubs.ChatHub.instance. invoke("GetUserChatCount", sessionid, null); }, addParticipantsInGrp: function (chatGrpDetails) { Unibase.Platform.Connect.Hubs.ChatHub.instance. invoke("Addparticipants", chatGrpDetails, null); } }; this.huburl = huburl; this.connection = new window['signalR'].HubConnectionBuilder() .withUrl(this.huburl).withAutomaticReconnect({ nextRetryDelayInMilliseconds: () => this.reconnectIntervalMs, }) .build(); } getConnection() { return this.connection; } connect(callback) { this.getConnection().start().then(function () { callback(); }); } LogOut() { Unibase.Platform.Connect.Hubs.ChatHub.Instance(_appsettings.chathub_url()).getConnection().stop(); } register(eventname, actionmethod) { this.getConnection().on(eventname, actionmethod); } invoke(methodname, params, callback) { Unibase.Platform.Connect.Hubs.ChatHub.Instance(_appsettings.chathub_url()).getConnection().invoke(methodname, params).catch(function (err) { return console.error(err.toString()); }); } static Instance(huburl) { if (this.instance === undefined) { this.instance = new ChatHub(huburl); } return this.instance; } } Hubs.ChatHub = ChatHub; })(Hubs = Connect.Hubs || (Connect.Hubs = {})); })(Connect = Platform.Connect || (Platform.Connect = {})); })(Platform = Unibase.Platform || (Unibase.Platform = {})); })(Unibase || (Unibase = {}));