UNPKG

@corpecca/qp-web-resources

Version:
58 lines (47 loc) 1.59 kB
var qp = qp || {}; (function ($) { //Check if SignalR is defined if (!$ || !$.connection) { return; } //Create namespaces qp.signalr = qp.signalr || {}; qp.signalr.hubs = qp.signalr.hubs || {}; //Get the common hub qp.signalr.hubs.common = $.connection.qpCommonHub; var commonHub = qp.signalr.hubs.common; if (!commonHub) { return; } //Register to get notifications commonHub.client.getNotification = function (notification) { qp.event.trigger('qp.notifications.received', notification); }; //Connect to the server qp.signalr.connect = function() { $.connection.hub.start().done(function () { qp.log.debug('Connected to SignalR server!'); //TODO: Remove log qp.event.trigger('qp.signalr.connected'); commonHub.server.register().done(function () { qp.log.debug('Registered to the SignalR server!'); //TODO: Remove log }); }); }; if (qp.signalr.autoConnect === undefined) { qp.signalr.autoConnect = true; } if (qp.signalr.autoConnect) { qp.signalr.connect(); } //reconnect if hub disconnects $.connection.hub.disconnected(function () { if (!qp.signalr.autoConnect) { return; } setTimeout(function () { if ($.connection.hub.state === $.signalR.connectionState.disconnected) { $.connection.hub.start(); } }, 5000); }); })(jQuery);