Skip to content
This repository was archived by the owner on Apr 20, 2018. It is now read-only.

Commit 5a693f6

Browse files
Upating bindings to latest version
1 parent 6f3d9c0 commit 5a693f6

File tree

1 file changed

+84
-102
lines changed

1 file changed

+84
-102
lines changed

lib/rx.jquery.js

Lines changed: 84 additions & 102 deletions
Original file line numberDiff line numberDiff line change
@@ -3,60 +3,58 @@
33
// of the MICROSOFT REACTIVE EXTENSIONS FOR JAVASCRIPT AND .NET LIBRARIES License.
44
// See http://go.microsoft.com/fwlink/?LinkId=186234.
55

6-
(function()
7-
{
8-
var _jQuery, proto, global, root, observable, asyncSubject, observableCreate, disposableEmpty, slice;
9-
_jQuery = jQuery;
10-
proto = _jQuery.fn;
11-
global = this;
12-
slice = [].slice;
13-
if (typeof ProvideCustomRxRootObject == "undefined") {
14-
root = global.Rx;
15-
} else {
16-
root = ProvideCustomRxRootObject();
17-
}
18-
observable = root.Observable;
19-
asyncSubject = root.AsyncSubject;
20-
observableCreate = observable.Create;
21-
disposableEmpty = root.Disposable.Empty;
6+
(function(global, $) {
7+
var root = global.Rx,
8+
observable = root.Observable,
9+
asyncSubject = root.AsyncSubject,
10+
observableCreate = observable.create,
11+
observableCreateWithDisposable = observable.createWithDisposable,
12+
disposableEmpty = root.Disposable.empty,
13+
slice = Array.prototype.slice,
14+
proto = $.fn;
15+
16+
proto.onAsObservable = function (events, selector, data) {
17+
var parent = this;
18+
return observableCreate(function(observer) {
19+
var handler = function(eventObject) {
20+
observer.onNext(eventObject);
21+
};
22+
parent.on(events, selector, data, handler);
23+
return function() {
24+
parent.off(events, selector, handler);
25+
};
26+
});
27+
};
2228

2329
proto.bindAsObservable = function(eventType, eventData) {
24-
var parent;
25-
parent = this;
30+
var parent = this;
2631
return observableCreate(function(observer) {
27-
var handler;
28-
handler = function(eventObject) {
29-
observer.OnNext(eventObject);
32+
var handler = function(eventObject) {
33+
observer.onNext(eventObject);
3034
};
3135
parent.bind(eventType, eventData, handler);
3236
return function() {
3337
parent.unbind(eventType, handler);
3438
};
3539
});
3640
};
37-
proto.delegateAsObservable = function(selector, eventType) {
38-
var parent, args;
39-
parent = this;
40-
args = slice.call(arguments);
41+
proto.delegateAsObservable = function(selector, eventType, eventData) {
42+
var parent = this;
4143
return observableCreate(function(observer) {
42-
var handler;
43-
handler = function(eventObject) {
44-
observer.OnNext(eventObject);
44+
var handler = function(eventObject) {
45+
observer.onNext(eventObject);
4546
};
46-
args.push(handler);
47-
parent.delegate.apply(this, args);
47+
parent.delegate(selector, eventType, eventData, handler);
4848
return function() {
4949
parent.undelegate(selector, eventType, handler);
5050
};
5151
});
5252
};
5353
proto.liveAsObservable = function(eventType, eventData) {
54-
var parent;
55-
parent = this;
54+
var parent = this;
5655
return observableCreate(function(observer) {
57-
var handler;
58-
handler = function(eventObject) {
59-
observer.OnNext(eventObject);
56+
var handler = function(eventObject) {
57+
observer.onNext(eventObject);
6058
};
6159
parent.live(eventType, eventData, handler);
6260
return function() {
@@ -116,140 +114,124 @@
116114
return this.bindAsObservable('unload', eventData);
117115
};
118116
proto.oneAsObservable = function(eventType, eventData) {
119-
var parent;
120-
parent = this;
121-
return observableCreate(function(observer) {
122-
var handler;
123-
handler = function(eventObject) {
117+
var parent = this;
118+
return observableCreateWithDisposable(function(observer) {
119+
var handler = function(eventObject) {
124120
parent.unbind(eventType, handler);
125-
observer.OnNext(eventObject);
126-
observer.OnCompleted();
121+
observer.onNext(eventObject);
122+
observer.onCompleted();
127123
};
128124
parent.bind(eventType, eventData, handler);
129-
return function() { };
125+
return dispoableEmpty;
130126
});
131127
};
132128
proto.readyAsObservable = function() {
133-
var parent;
134-
parent = this;
135-
return observableCreate(function(observer) {
136-
var handler;
137-
handler = function(eventObject) {
138-
observer.OnNext(eventObject);
129+
var parent = this;
130+
return observableCreateWithDisposable(function(observer) {
131+
var handler = function(eventObject) {
132+
observer.onNext(eventObject);
139133
};
140134
parent.ready(handler);
141-
return function() {};
135+
return dispoableEmpty;
142136
});
143137
};
144138
proto.hideAsObservable = function(duration) {
145-
var subject;
146-
subject = new asyncSubject();
139+
var subject = new asyncSubject();
147140
this.hide(duration, function() {
148-
subject.OnNext(this);
149-
subject.OnCompleted();
141+
subject.onNext(this);
142+
subject.onCompleted();
150143
});
151144
return subject;
152145
};
153146
proto.showAsObservable = function(duration) {
154-
var subject;
155-
subject = new asyncSubject();
147+
var subject = new asyncSubject();
156148
this.show(duration, function() {
157-
subject.OnNext(this);
158-
subject.OnCompleted();
149+
subject.onNext(this);
150+
subject.onCompleted();
159151
});
160152
return subject;
161153
};
162154
proto.animateAsObservable = function(properties, duration, easing) {
163-
var subject;
164-
subject = new asyncSubject();
155+
var subject = new asyncSubject();
165156
this.animate(properties, duration, easing, function() {
166-
subject.OnNext(this);
167-
subject.OnCompleted();
157+
subject.onNext(this);
158+
subject.onCompleted();
168159
});
169160
return subject;
170161
};
171162
proto.fadeInAsObservable = function(duration) {
172-
var subject;
173-
subject = new asyncSubject();
163+
var subject = new asyncSubject();
174164
this.fadeIn(duration, function() {
175-
subject.OnNext(this);
176-
subject.OnCompleted();
165+
subject.onNext(this);
166+
subject.onCompleted();
177167
});
178168
return subject;
179169
};
180170
proto.fadeToAsObservable = function(duration, opacity) {
181-
var subject;
182-
subject = new asyncSubject();
171+
var subject = new asyncSubject();
183172
this.fadeTo(duration, opacity, function() {
184-
subject.OnNext(this);
185-
subject.OnCompleted();
173+
subject.onNext(this);
174+
subject.onCompleted();
186175
});
187176
return subject;
188177
};
189178
proto.fadeOutAsObservable = function(duration) {
190-
var subject;
191-
subject = new asyncSubject();
179+
var subject = new asyncSubject();
192180
this.fadeOut(duration, function() {
193-
subject.OnNext(this);
194-
subject.OnCompleted();
181+
subject.onNext(this);
182+
subject.onCompleted();
195183
});
196184
return subject;
197185
};
198186
proto.slideDownAsObservable = function(duration) {
199-
var subject;
200-
subject = new asyncSubject();
187+
var subject = new asyncSubject();
201188
this.slideDown(duration, function() {
202-
subject.OnNext(this);
203-
subject.OnCompleted();
189+
subject.onNext(this);
190+
subject.onCompleted();
204191
});
205192
return subject;
206193
};
207194
proto.slideUpAsObservable = function(duration) {
208-
var subject;
209-
subject = new asyncSubject();
195+
var subject = new asyncSubject();
210196
this.slideUp(duration, function() {
211-
subject.OnNext(this);
212-
subject.OnCompleted();
197+
subject.onNext(this);
198+
subject.onCompleted();
213199
});
214200
return subject;
215201
};
216202
proto.slideToggleAsObservable = function(duration) {
217-
var subject;
218-
subject = new asyncSubject();
219-
this.slideToggle(duration, function()
220-
{
221-
subject.OnNext(this);
222-
subject.OnCompleted();
203+
var subject = new asyncSubject();
204+
this.slideToggle(duration, function() {
205+
subject.onNext(this);
206+
subject.onCompleted();
223207
});
224208
return subject;
225209
};
226210
var ajaxAsObservable = _jQuery.ajaxAsObservable = function(settings) {
227-
var subject, internalSettings, k;
228-
internalSettings = {};
229-
for (k in settings) {
211+
var subject = new asyncSubject(), internalSettings = {};
212+
for (var k in settings) {
230213
internalSettings[k] = settings[k];
231-
}
232-
subject = new asyncSubject();
214+
}
233215
internalSettings.success = function(data, textStatus, jqXHR) {
234-
subject.OnNext({ data: data, textStatus: textStatus, jqXHR: jqXHR });
235-
subject.OnCompleted();
216+
subject.onNext({ data: data, textStatus: textStatus, jqXHR: jqXHR });
217+
subject.onCompleted();
236218
};
237219
internalSettings.error = function(jqXHR, textStatus, errorThrown) {
238-
subject.OnError({ jqXHR: jqXHR, textStatus: textStatus, errorThrown: errorThrown });
220+
subject.onError({ jqXHR: jqXHR, textStatus: textStatus, errorThrown: errorThrown });
239221
};
240-
_jQuery.ajax(internalSettings);
222+
$.ajax(internalSettings);
241223
return subject;
242224
};
243-
_jQuery.getAsObservable = function(url, data, dataType) {
225+
$.getAsObservable = function(url, data, dataType) {
244226
return ajaxAsObservable({ url: url, dataType: dataType, data: data });
245227
};
246-
_jQuery.getJSONAsObservable = function(url, data) {
228+
$.getJSONAsObservable = function(url, data) {
247229
return ajaxAsObservable({ url: url, dataType: 'json', data: data });
248230
};
249-
_jQuery.getScriptAsObservable = function(url) {
231+
$.getScriptAsObservable = function(url) {
250232
return ajaxAsObservable({ url: url, dataType: 'script'});
251233
};
252-
_jQuery.postAsObservable = function(url, data, dataType) {
234+
$.postAsObservable = function(url, data, dataType) {
253235
return ajaxAsObservable({ url: url, dataType: dataType, data: data, type: 'POST'});
254236
};
255-
})();
237+
})(this, jQuery);

0 commit comments

Comments
 (0)