JSFiddle - React, Tailwind, and code Playground
by blesh
JavaScript
// 2014 (c) Ben Lesh
// All rights reserved, not for reproduction by Jeremy Wells :P
app.factory('hub', ['$window', '$q', '$rootScope', function ($window, $q, $rootScope) {
var connection = $window.jQuery.hubConnection();
var hubs = {};
connection.start();
return function (hubName) {
hubProxy = hubs[hubName];
if (!hubProxy) {
var hubProxy = connection.createHubProxy(hubName);
var oldOn = hubProxy.on;
hubProxy.on = function (eventName, fn) {
oldOn(eventName, function () {
$rootScope.$apply(function () {
fn.apply(this, arguments);
});
});
};
hubs[hubName] = hubProxy;
}
return hubProxy;
};
});
//usage example
function MyCtrl($scope, hub) {
var myHub = hub('hubName');
myHub.on('somethingWeird', function (stuff) {
$scope.stuff = stuff;
console.log('whatever is clever');
});
}