Merge pull request #2393 from bolhovsky/custom-bindings

Extend custom bindings API definition
This commit is contained in:
Masahiro Wakame
2014-07-10 14:38:02 +09:00
2 changed files with 8 additions and 3 deletions
+4 -3
View File
@@ -127,12 +127,13 @@ interface KnockoutBindingContext {
interface KnockoutAllBindingsAccessor {
(): any;
get(bindingName: string): any;
get(name: string): any;
has(name: string): boolean;
}
interface KnockoutBindingHandler {
init?(element: any, valueAccessor: () => any, allBindingsAccessor: KnockoutAllBindingsAccessor, viewModel: any, bindingContext: KnockoutBindingContext): void;
update?(element: any, valueAccessor: () => any, allBindingsAccessor: KnockoutAllBindingsAccessor, viewModel: any, bindingContext: KnockoutBindingContext): void;
init? (element: any, valueAccessor: () => any, allBindingsAccessor: KnockoutAllBindingsAccessor, viewModel: any, bindingContext: KnockoutBindingContext): void;
update? (element: any, valueAccessor: () => any, allBindingsAccessor: KnockoutAllBindingsAccessor, viewModel: any, bindingContext: KnockoutBindingContext): void;
options?: any;
}
+4
View File
@@ -591,11 +591,15 @@ function test_allBindingsAccessor() {
ko.bindingHandlers.allBindingsAccessorTest = {
init: (element: any, valueAccessor: () => any, allBindingsAccessor: KnockoutAllBindingsAccessor, viewModel: any, bindingContext: KnockoutBindingContext) => {
var allBindings = allBindingsAccessor();
var hasBinding = allBindingsAccessor.has("myBindingName");
var myBinding = allBindingsAccessor.get("myBindingName");
var fnAccessorBinding = allBindingsAccessor().myBindingName;
},
update: (element: any, valueAccessor: () => any, allBindingsAccessor: KnockoutAllBindingsAccessor, viewModel: any, bindingContext: KnockoutBindingContext) => {
var allBindings = allBindingsAccessor();
var hasBinding = allBindingsAccessor.has("myBindingName");
var myBinding = allBindingsAccessor.get("myBindingName");
var fnAccessorBinding = allBindingsAccessor().myBindingName;
}
};
}