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