mirror of
https://github.com/wassname/DefinitelyTyped.git
synced 2026-08-22 11:40:10 +08:00
Added support for Array Change subscriptions. Added tests to the test_observableArrays() in knockout-tests.ts.
This commit is contained in:
Vendored
+5
-1
@@ -53,7 +53,7 @@ interface KnockoutSubscription {
|
||||
}
|
||||
|
||||
interface KnockoutSubscribable<T> extends KnockoutSubscribableFunctions<T> {
|
||||
subscribe(callback: (newValue: T) => void, target?: any, event?: string): KnockoutSubscription;
|
||||
subscribe(callback: (object: Object) => void, target?: any, event?: string): KnockoutSubscription;
|
||||
subscribe<TEvent>(callback: (newValue: TEvent) => void, target: any, event: string): KnockoutSubscription;
|
||||
extend(requestedExtenders: { [key: string]: any; }): KnockoutSubscribable<T>;
|
||||
getSubscriptionsCount(): number;
|
||||
@@ -84,6 +84,8 @@ interface KnockoutObservableArrayStatic {
|
||||
}
|
||||
|
||||
interface KnockoutObservableArray<T> extends KnockoutObservable<T[]>, KnockoutObservableArrayFunctions<T> {
|
||||
subscribe(callback: (newValue: T[]) => void, target?: any, event?: string): KnockoutSubscription;
|
||||
subscribe(callback: (changes: KnockoutArrayChange<T>[]) => void, target?: any, event?: string): KnockoutSubscription;
|
||||
extend(requestedExtenders: { [key: string]: any; }): KnockoutObservableArray<T>;
|
||||
}
|
||||
|
||||
@@ -100,6 +102,8 @@ interface KnockoutObservable<T> extends KnockoutSubscribable<T>, KnockoutObserva
|
||||
peek(): T;
|
||||
valueHasMutated?:{(): void;};
|
||||
valueWillMutate?:{(): void;};
|
||||
|
||||
subscribe(callback: (newValue: T) => void, target?: any, event?: string): KnockoutSubscription;
|
||||
extend(requestedExtenders: { [key: string]: any; }): KnockoutObservable<T>;
|
||||
}
|
||||
|
||||
|
||||
@@ -108,6 +108,15 @@ function testGetter() {
|
||||
|
||||
function test_observableArrays() {
|
||||
var myObservableArray = ko.observableArray<any>();
|
||||
|
||||
myObservableArray.subscribe(function(changes){
|
||||
for(var i = 0; i < changes.length; i++){
|
||||
console.log(changes[i].index);
|
||||
console.log(changes[i].status);
|
||||
console.log(changes[i].value);
|
||||
}
|
||||
}, null, "arrayChange");
|
||||
|
||||
myObservableArray.push('Some value');
|
||||
var anotherObservableArray = ko.observableArray([
|
||||
{ name: "Bungle", type: "Bear" },
|
||||
|
||||
Reference in New Issue
Block a user