UNPKG

@progress/kendo-ui

Version:

This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.

3 lines (2 loc) 1.61 kB
!function(t){"function"==typeof define&&define.amd?define(["kendo.data.min"],t):t()}((function(){!function(t){var e=window.kendo,n=e.isFunction;function o(t){return t&&n(t.done)&&n(t.fail)}function r(t){return t&&n(t.then)&&n(t.catch)}var i=e.data.RemoteTransport.extend({init:function(t){var n=t&&t.signalr?t.signalr:{},i=n.promise;if(!i)throw new Error('The "promise" option must be set.');if(!o(i)&&!r(i))throw new Error('The "promise" option must be a Promise.');this.promise=i;var s=n.hub;if(!s)throw new Error('The "hub" option must be set.');if("function"!=typeof s.on||"function"!=typeof s.invoke)throw new Error('The "hub" option is not a valid SignalR hub proxy.');this.hub=s,e.data.RemoteTransport.fn.init.call(this,t)},push:function(t){var e=this.options.signalr.client||{};e.create&&this.hub.on(e.create,t.pushCreate),e.update&&this.hub.on(e.update,t.pushUpdate),e.destroy&&this.hub.on(e.destroy,t.pushDestroy)},_crud:function(n,i){var s=this.hub,a=this.promise,u=this.options.signalr.server;if(!u||!u[i])throw new Error(e.format('The "server.{0}" option must be set.',i));var h=[u[i]],c=this.parameterMap(n.data,i);t.isEmptyObject(c)||h.push(c),o(a)?a.done((function(){s.invoke.apply(s,h).done(n.success).fail(n.error)})):r(a)&&a.then((function(){s.invoke.apply(s,h).then(n.success).catch(n.error)}))},read:function(t){this._crud(t,"read")},create:function(t){this._crud(t,"create")},update:function(t){this._crud(t,"update")},destroy:function(t){this._crud(t,"destroy")}});t.extend(!0,e.data,{transports:{signalr:i}})}(window.kendo.jQuery)})); //# sourceMappingURL=kendo.data.signalr.min.js.map