UNPKG

kendo-ui-core

Version:
3 lines (2 loc) 1.87 kB
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("kendo.data.js")):"function"==typeof define&&define.amd?define(["kendo.data.min"],t):((e="undefined"!=typeof globalThis?globalThis:e||self).kendodata=e.kendodata||{},e.kendodata.signalr=e.kendodata.signalr||{},e.kendodata.signalr.js=t())}(this,(function(){return function(e){var t=window.kendo,n=t.isFunction;function o(e){return e&&n(e.done)&&n(e.fail)}function r(e){return e&&n(e.then)&&n(e.catch)}var i=t.data.RemoteTransport.extend({init:function(e){var n=e&&e.signalr?e.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,t.data.RemoteTransport.fn.init.call(this,e)},push:function(e){var t=this.options.signalr.client||{};t.create&&this.hub.on(t.create,e.pushCreate),t.update&&this.hub.on(t.update,e.pushUpdate),t.destroy&&this.hub.on(t.destroy,e.pushDestroy)},_crud:function(n,i){var s=this.hub,a=this.promise,u=this.options.signalr.server;if(!u||!u[i])throw new Error(t.format('The "server.{0}" option must be set.',i));var d=[u[i]],h=this.parameterMap(n.data,i);e.isEmptyObject(h)||d.push(h),o(a)?a.done((function(){s.invoke.apply(s,d).done(n.success).fail(n.error)})):r(a)&&a.then((function(){s.invoke.apply(s,d).then(n.success).catch(n.error)}))},read:function(e){this._crud(e,"read")},create:function(e){this._crud(e,"create")},update:function(e){this._crud(e,"update")},destroy:function(e){this._crud(e,"destroy")}});e.extend(!0,t.data,{transports:{signalr:i}})}(window.kendo.jQuery),kendo})); //# sourceMappingURL=kendo.data.signalr.min.js.map