aurelia-binding-functions
Advanced tools
Comparing version 0.2.0 to 0.2.1
@@ -7,3 +7,4 @@ define(["require", "exports", 'aurelia-binding'], function (require, exports, aurelia_binding_1) { | ||
callScopeConnect.apply(this, arguments); | ||
var bindingFunction = binding.lookupFunctions.bindingFunctions(this.name); | ||
var lookupFunctions = binding.lookupFunctions || scope.resources.lookupFunctions; | ||
var bindingFunction = lookupFunctions.bindingFunctions(this.name); | ||
if (bindingFunction && typeof bindingFunction.connect === 'function') { | ||
@@ -14,2 +15,3 @@ bindingFunction.connect(this, binding, scope); | ||
aurelia_binding_1.CallScope.prototype.assign = function assign(scope, value, lookupFunctions) { | ||
lookupFunctions = lookupFunctions || scope.resources.lookupFunctions; | ||
var bindingFunction = lookupFunctions.bindingFunctions(this.name); | ||
@@ -23,2 +25,3 @@ if (bindingFunction && typeof bindingFunction.assign === 'function') { | ||
aurelia_binding_1.CallScope.prototype.evaluate = function evaluate(scope, lookupFunctions, mustEvaluate) { | ||
lookupFunctions = lookupFunctions || scope.resources.lookupFunctions; | ||
var bindingFunction = lookupFunctions.bindingFunctions(this.name); | ||
@@ -29,3 +32,3 @@ if (bindingFunction) { | ||
else | ||
throw new Error('BindingFunction needs to implement evaluate()'); | ||
throw new Error('The BindingFunction needs to implement evaluate()'); | ||
} | ||
@@ -35,2 +38,3 @@ return callScopeEvaluate.apply(this, arguments); | ||
aurelia_binding_1.CallScope.prototype.bind = function bind(binding, scope, lookupFunctions) { | ||
lookupFunctions = lookupFunctions || binding.lookupFunctions || scope.resources.lookupFunctions; | ||
var bindingFunction = lookupFunctions.bindingFunctions(this.name); | ||
@@ -42,3 +46,4 @@ if (bindingFunction && typeof bindingFunction.bind === 'function') { | ||
aurelia_binding_1.CallScope.prototype.unbind = function unbind(binding, scope) { | ||
var bindingFunction = binding.lookupFunctions.bindingFunctions(this.name); | ||
var lookupFunctions = binding.lookupFunctions || scope.resources.lookupFunctions; | ||
var bindingFunction = lookupFunctions.bindingFunctions(this.name); | ||
if (bindingFunction && typeof bindingFunction.unbind === 'function') { | ||
@@ -48,2 +53,22 @@ bindingFunction.unbind(this, binding, scope); | ||
}; | ||
aurelia_binding_1.AccessMember.prototype.bind = function bind(binding, scope, lookupFunctions) { | ||
if (this.object instanceof aurelia_binding_1.CallScope || this.object instanceof aurelia_binding_1.AccessMember || this.object instanceof aurelia_binding_1.AccessKeyed) { | ||
this.object.bind(binding, scope, lookupFunctions); | ||
} | ||
}; | ||
aurelia_binding_1.AccessMember.prototype.unbind = function unbind(binding, scope) { | ||
if (this.object instanceof aurelia_binding_1.CallScope || this.object instanceof aurelia_binding_1.AccessMember || this.object instanceof aurelia_binding_1.AccessKeyed) { | ||
this.object.unbind(binding, scope); | ||
} | ||
}; | ||
aurelia_binding_1.AccessKeyed.prototype.bind = function bind(binding, scope, lookupFunctions) { | ||
if (this.object instanceof aurelia_binding_1.CallScope || this.object instanceof aurelia_binding_1.AccessMember || this.object instanceof aurelia_binding_1.AccessKeyed) { | ||
this.object.bind(binding, scope, lookupFunctions); | ||
} | ||
}; | ||
aurelia_binding_1.AccessKeyed.prototype.unbind = function unbind(binding, scope) { | ||
if (this.object instanceof aurelia_binding_1.CallScope || this.object instanceof aurelia_binding_1.AccessMember || this.object instanceof aurelia_binding_1.AccessKeyed) { | ||
this.object.unbind(binding, scope); | ||
} | ||
}; | ||
} | ||
@@ -53,2 +78,2 @@ exports.patchCallScope = patchCallScope; | ||
//# sourceMappingURL=call-scope.js.map | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsbC1zY29wZS5qcyIsInNvdXJjZVJvb3QiOiIvc291cmNlLyIsInNvdXJjZXMiOlsiY2FsbC1zY29wZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztJQUdBO1FBQ0UsSUFBTSxnQkFBZ0IsR0FBYSwyQkFBUyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUE7UUFFOUQsMkJBQVMsQ0FBQyxTQUFTLENBQUMsT0FBTyxHQUFHLGlCQUFpQixPQUFnQixFQUFFLEtBQVk7WUFDM0UsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQTtZQUV2QyxJQUFNLGVBQWUsR0FBRyxPQUFPLENBQUMsZUFBZSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQW9CLENBQUE7WUFDOUYsRUFBRSxDQUFDLENBQUMsZUFBZSxJQUFJLE9BQU8sZUFBZSxDQUFDLE9BQU8sS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDO2dCQUNyRSxlQUFlLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUE7WUFDL0MsQ0FBQztRQUNILENBQUMsQ0FBQTtRQUVELDJCQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxnQkFBZ0IsS0FBWSxFQUFFLEtBQVUsRUFBRSxlQUFvQjtZQUN6RixJQUFNLGVBQWUsR0FBRyxlQUFlLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBb0IsQ0FBQTtZQUN0RixFQUFFLENBQUMsQ0FBQyxlQUFlLElBQUksT0FBTyxlQUFlLENBQUMsTUFBTSxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUM7Z0JBQ3BFLE1BQU0sQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLGVBQWUsQ0FBQyxDQUFBO1lBQ3BFLENBQUM7WUFDRCxNQUFNLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQTtRQUMzRCxDQUFDLENBQUE7UUFFRCxJQUFNLGlCQUFpQixHQUFhLDJCQUFTLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQTtRQUVoRSwyQkFBUyxDQUFDLFNBQVMsQ0FBQyxRQUFRLEdBQUcsa0JBQWtCLEtBQVksRUFBRSxlQUFlLEVBQUUsWUFBcUI7WUFDbkcsSUFBTSxlQUFlLEdBQUcsZUFBZSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQW9CLENBQUE7WUFDdEYsRUFBRSxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztnQkFDcEIsRUFBRSxDQUFDLENBQUMsT0FBTyxlQUFlLENBQUMsUUFBUSxLQUFLLFVBQVUsQ0FBQztvQkFDakQsTUFBTSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUUsWUFBWSxDQUFDLENBQUE7Z0JBQzdFLElBQUk7b0JBQ0YsTUFBTSxJQUFJLEtBQUssQ0FBQywrQ0FBK0MsQ0FBQyxDQUFBO1lBQ3BFLENBQUM7WUFDRCxNQUFNLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQTtRQUNqRCxDQUFDLENBQUE7UUFFRCwyQkFBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEdBQUcsY0FBYyxPQUFnQixFQUFFLEtBQVksRUFBRSxlQUFlO1lBQ3RGLElBQU0sZUFBZSxHQUFHLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFvQixDQUFBO1lBQ3RGLEVBQUUsQ0FBQyxDQUFDLGVBQWUsSUFBSSxPQUFPLGVBQWUsQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQztnQkFDbEUsTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsZUFBZSxDQUFDLENBQUE7WUFDcEUsQ0FBQztRQUNILENBQUMsQ0FBQTtRQUVELDJCQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxnQkFBZ0IsT0FBZ0IsRUFBRSxLQUFZO1lBQ3pFLElBQU0sZUFBZSxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBb0IsQ0FBQTtZQUM5RixFQUFFLENBQUMsQ0FBQyxlQUFlLElBQUksT0FBTyxlQUFlLENBQUMsTUFBTSxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUM7Z0JBQ3BFLGVBQWUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQTtZQUM5QyxDQUFDO1FBQ0gsQ0FBQyxDQUFBO0lBQ0gsQ0FBQztJQTlDZSxzQkFBYyxpQkE4QzdCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6W119 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsbC1zY29wZS5qcyIsInNvdXJjZVJvb3QiOiIvc291cmNlLyIsInNvdXJjZXMiOlsiY2FsbC1zY29wZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztJQUdBO1FBQ0UsSUFBTSxnQkFBZ0IsR0FBYSwyQkFBUyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUE7UUFFOUQsMkJBQVMsQ0FBQyxTQUFTLENBQUMsT0FBTyxHQUFHLGlCQUFpQixPQUFnQixFQUFFLEtBQVk7WUFDM0UsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQTtZQUN2QyxJQUFNLGVBQWUsR0FBRyxPQUFPLENBQUMsZUFBZSxJQUFJLEtBQUssQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFBO1lBRWxGLElBQU0sZUFBZSxHQUFHLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFvQixDQUFBO1lBQ3RGLEVBQUUsQ0FBQyxDQUFDLGVBQWUsSUFBSSxPQUFPLGVBQWUsQ0FBQyxPQUFPLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQztnQkFDckUsZUFBZSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFBO1lBQy9DLENBQUM7UUFDSCxDQUFDLENBQUE7UUFFRCwyQkFBUyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsZ0JBQWdCLEtBQVksRUFBRSxLQUFVLEVBQUUsZUFBb0I7WUFDekYsZUFBZSxHQUFHLGVBQWUsSUFBSSxLQUFLLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQTtZQUNwRSxJQUFNLGVBQWUsR0FBRyxlQUFlLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBb0IsQ0FBQTtZQUN0RixFQUFFLENBQUMsQ0FBQyxlQUFlLElBQUksT0FBTyxlQUFlLENBQUMsTUFBTSxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUM7Z0JBQ3BFLE1BQU0sQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLElBQUks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 |
@@ -1,16 +0,31 @@ | ||
define(["require", "exports", 'aurelia-templating'], function (require, exports, aurelia_templating_1) { | ||
define(["require", "exports", 'aurelia-templating', 'aurelia-logging'], function (require, exports, aurelia_templating_1, LogManager) { | ||
"use strict"; | ||
function patchViewResources(viewResources) { | ||
var logger = LogManager.getLogger('templating'); | ||
aurelia_templating_1.ViewEngine.prototype.loadTemplateResources = function loadTemplateResources(registryEntry, compileInstruction, loadContext) { | ||
var resources = new aurelia_templating_1.ViewResources(this.appResources, registryEntry.address); | ||
if (!resources.lookupFunctions.bindingFunctions) | ||
Object.assign(resources.lookupFunctions, { bindingFunctions: resources.getBindingFunction.bind(resources) }); | ||
if (!resources.bindingFunctions) | ||
resources.bindingFunctions = {}; | ||
var dependencies = registryEntry.dependencies; | ||
var importIds = void 0; | ||
var names = void 0; | ||
compileInstruction = compileInstruction || aurelia_templating_1.ViewCompileInstruction.normal; | ||
if (dependencies.length === 0 && !compileInstruction.associatedModuleId) { | ||
return Promise.resolve(resources); | ||
} | ||
importIds = dependencies.map(function (x) { | ||
return x.src; | ||
}); | ||
names = dependencies.map(function (x) { | ||
return x.name; | ||
}); | ||
logger.debug('importing resources for ' + registryEntry.address, importIds); | ||
return this.importViewResources(importIds, names, resources, compileInstruction, loadContext); | ||
}; | ||
aurelia_templating_1.ViewResources.prototype.registerBindingFunction = function (name, bindingFunction) { | ||
if (!this.lookupFunctions.bindingFunctions) | ||
Object.assign(this.lookupFunctions, { bindingFunctions: this.getBindingFunction.bind(this) }); | ||
if (!this.bindingFunctions) | ||
this.bindingFunctions = {}; | ||
register(this.bindingFunctions, name, bindingFunction, 'a BindingFunction'); | ||
}; | ||
aurelia_templating_1.ViewResources.prototype.getBindingFunction = function (name) { | ||
if (!this.lookupFunctions.bindingFunctions) | ||
Object.assign(this.lookupFunctions, { bindingFunctions: this.getBindingFunction.bind(this) }); | ||
if (!this.bindingFunctions) | ||
this.bindingFunctions = {}; | ||
return this.bindingFunctions[name] || (this.hasParent ? this.parent.getBindingFunction(name) : null); | ||
@@ -37,2 +52,2 @@ }; | ||
//# sourceMappingURL=view-resources.js.map | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy1yZXNvdXJjZXMuanMiLCJzb3VyY2VSb290IjoiL3NvdXJjZS8iLCJzb3VyY2VzIjpbInZpZXctcmVzb3VyY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0lBRUEsNEJBQW1DLGFBQTRCO1FBTTdELGtDQUFhLENBQUMsU0FBUyxDQUFDLHVCQUF1QixHQUFHLFVBQVMsSUFBWSxFQUFFLGVBQXVCO1lBRTlGLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQztnQkFBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQTtZQUN6SSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztnQkFBQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxDQUFBO1lBRXRELFFBQVEsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxtQkFBbUIsQ0FBQyxDQUFBO1FBQzdFLENBQUMsQ0FBQTtRQU9ELGtDQUFhLENBQUMsU0FBUyxDQUFDLGtCQUFrQixHQUFHLFVBQVMsSUFBWTtZQUVoRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLENBQUM7Z0JBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUE7WUFDekksRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7Z0JBQUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQTtZQUV0RCxNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBO1FBQ3RHLENBQUMsQ0FBQTtRQUdELGFBQWEsQ0FBQyxnQkFBZ0IsR0FBRyxFQUFFLENBQUE7UUFDbkMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsZUFBZSxFQUFFLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDMUgsQ0FBQztJQTlCZSwwQkFBa0IscUJBOEJqQyxDQUFBO0lBS0Qsa0JBQWtCLE1BQU0sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUk7UUFDNUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ1YsTUFBTSxDQUFDO1FBQ1QsQ0FBQztRQUVELElBQUksUUFBUSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QixFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQ2IsRUFBRSxDQUFDLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUM7Z0JBQzFCLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQXlCLElBQUksMkRBQXNELElBQUksTUFBRyxDQUFDLENBQUM7WUFDOUcsQ0FBQztZQUVELE1BQU0sQ0FBQztRQUNULENBQUM7UUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDO0lBQzFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6W119 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy1yZXNvdXJjZXMuanMiLCJzb3VyY2VSb290IjoiL3NvdXJjZS8iLCJzb3VyY2VzIjpbInZpZXctcmVzb3VyY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0lBR0EsNEJBQW1DLGFBQTRCO1FBQzdELElBQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUM7UUFJbEQsK0JBQVUsQ0FBQyxTQUFTLENBQUMscUJBQXFCLEdBQUcsK0JBQStCLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSxXQUFXO1lBQ3hILElBQUksU0FBUyxHQUFHLElBQUksa0NBQWEsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUk1RSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLENBQUM7Z0JBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsZUFBZSxFQUFFLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUE7WUFDN0osRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUM7Z0JBQUMsU0FBUyxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQTtZQUdoRSxJQUFJLFlBQVksR0FBRyxhQUFhLENBQUMsWUFBWSxDQUFDO1lBQzlDLElBQUksU0FBUyxHQUFHLEtBQUssQ0FBQyxDQUFDO1lBQ3ZCLElBQUksS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDO1lBRW5CLGtCQUFrQixHQUFHLGtCQUFrQixJQUFJLDJDQUFzQixDQUFDLE1BQU0sQ0FBQztZQUV6RSxFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQztnQkFDeEUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDcEMsQ0FBQztZQUVELFNBQVMsR0FBRyxZQUFZLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQztnQkFDdEMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7WUFDZixDQUFDLENBQUMsQ0FBQztZQUNILEtBQUssR0FBRyxZQUFZLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQztnQkFDbEMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDaEIsQ0FBQyxDQUFDLENBQUM7WUFDSCxNQUFNLENBQUMsS0FBSyxDQUFDLDBCQUEwQixHQUFHLGFBQWEsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFFNUUsTUFBTSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUNoRyxDQUFDLENBQUM7UUFPRixrQ0FBYSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsR0FBRyxVQUFTLElBQVksRUFBRSxlQUF1QjtZQUM5RixRQUFRLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsbUJBQW1CLENBQUMsQ0FBQTtRQUM3RSxDQUFDLENBQUE7UUFPRCxrQ0FBYSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsR0FBRyxVQUFTLElBQVk7WUFDaEUsTUFBTSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQTtRQUN0RyxDQUFDLENBQUE7UUFHRCxhQUFhLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxDQUFBO1FBQ25DLE1BQU0sQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLGVBQWUsRUFBRSxFQUFFLGdCQUFnQixFQUFFLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQzFILENBQUM7SUF4RGUsMEJBQWtCLHFCQXdEakMsQ0FBQTtJQUtELGtCQUFrQixNQUFNLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJO1FBQzVDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNWLE1BQU0sQ0FBQztRQUNULENBQUM7UUFFRCxJQUFJLFFBQVEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUIsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztZQUNiLEVBQUUsQ0FBQyxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDO2dCQUMxQixNQUFNLElBQUksS0FBSyxDQUFDLDJCQUF5QixJQUFJLDJEQUFzRCxJQUFJLE1BQUcsQ0FBQyxDQUFDO1lBQzlHLENBQUM7WUFFRCxNQUFNLENBQUM7UUFDVCxDQUFDO1FBRUQsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQztJQUMxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOltdfQ== |
{ | ||
"name": "aurelia-binding-functions", | ||
"version": "0.2.0", | ||
"version": "0.2.1", | ||
"description": "An Aurelia plugin that makes it possible create BindingFunctions.", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
@@ -1,2 +0,2 @@ | ||
import {CallScope, Scope, Binding, Expression} from 'aurelia-binding' | ||
import {CallScope, Scope, Binding, Expression, AccessMember, AccessKeyed} from 'aurelia-binding' | ||
import {BindingFunction} from './index' | ||
@@ -9,4 +9,5 @@ | ||
callScopeConnect.apply(this, arguments) | ||
const bindingFunction = binding.lookupFunctions.bindingFunctions(this.name) as BindingFunction | ||
const lookupFunctions = binding.lookupFunctions || scope.resources.lookupFunctions | ||
const bindingFunction = lookupFunctions.bindingFunctions(this.name) as BindingFunction | ||
if (bindingFunction && typeof bindingFunction.connect === 'function') { | ||
@@ -18,2 +19,3 @@ bindingFunction.connect(this, binding, scope) | ||
CallScope.prototype.assign = function assign(scope: Scope, value: any, lookupFunctions: any): any { | ||
lookupFunctions = lookupFunctions || scope.resources.lookupFunctions | ||
const bindingFunction = lookupFunctions.bindingFunctions(this.name) as BindingFunction | ||
@@ -28,3 +30,4 @@ if (bindingFunction && typeof bindingFunction.assign === 'function') { | ||
CallScope.prototype.evaluate = function evaluate(scope: Scope, lookupFunctions, mustEvaluate: boolean) { | ||
CallScope.prototype.evaluate = function evaluate(scope: Scope, lookupFunctions?, mustEvaluate?: boolean) { | ||
lookupFunctions = lookupFunctions || scope.resources.lookupFunctions | ||
const bindingFunction = lookupFunctions.bindingFunctions(this.name) as BindingFunction | ||
@@ -35,3 +38,3 @@ if (bindingFunction) { | ||
else | ||
throw new Error('BindingFunction needs to implement evaluate()') | ||
throw new Error('The BindingFunction needs to implement evaluate()') | ||
} | ||
@@ -42,2 +45,3 @@ return callScopeEvaluate.apply(this, arguments) | ||
CallScope.prototype.bind = function bind(binding: Binding, scope: Scope, lookupFunctions) { | ||
lookupFunctions = lookupFunctions || binding.lookupFunctions || scope.resources.lookupFunctions | ||
const bindingFunction = lookupFunctions.bindingFunctions(this.name) as BindingFunction | ||
@@ -50,3 +54,4 @@ if (bindingFunction && typeof bindingFunction.bind === 'function') { | ||
CallScope.prototype.unbind = function unbind(binding: Binding, scope: Scope) { | ||
const bindingFunction = binding.lookupFunctions.bindingFunctions(this.name) as BindingFunction | ||
const lookupFunctions = binding.lookupFunctions || scope.resources.lookupFunctions | ||
const bindingFunction = lookupFunctions.bindingFunctions(this.name) as BindingFunction | ||
if (bindingFunction && typeof bindingFunction.unbind === 'function') { | ||
@@ -56,2 +61,26 @@ bindingFunction.unbind(this, binding, scope) | ||
} | ||
AccessMember.prototype.bind = function bind(binding: Binding, scope: Scope, lookupFunctions) { | ||
if (this.object instanceof CallScope || this.object instanceof AccessMember || this.object instanceof AccessKeyed) { | ||
this.object.bind(binding, scope, lookupFunctions) | ||
} | ||
} | ||
AccessMember.prototype.unbind = function unbind(binding: Binding, scope: Scope) { | ||
if (this.object instanceof CallScope || this.object instanceof AccessMember || this.object instanceof AccessKeyed) { | ||
this.object.unbind(binding, scope) | ||
} | ||
} | ||
AccessKeyed.prototype.bind = function bind(binding: Binding, scope: Scope, lookupFunctions) { | ||
if (this.object instanceof CallScope || this.object instanceof AccessMember || this.object instanceof AccessKeyed) { | ||
this.object.bind(binding, scope, lookupFunctions) | ||
} | ||
} | ||
AccessKeyed.prototype.unbind = function unbind(binding: Binding, scope: Scope) { | ||
if (this.object instanceof CallScope || this.object instanceof AccessMember || this.object instanceof AccessKeyed) { | ||
this.object.unbind(binding, scope) | ||
} | ||
} | ||
} |
@@ -1,5 +0,40 @@ | ||
import {ViewResources} from 'aurelia-templating' | ||
import {ViewResources, ViewEngine, ViewCompileInstruction} from 'aurelia-templating' | ||
import * as LogManager from 'aurelia-logging' | ||
export function patchViewResources(viewResources: ViewResources) { | ||
const logger = LogManager.getLogger('templating'); | ||
/** | ||
* from: https://github.com/aurelia/templating/blob/master/src/view-engine.js | ||
*/ | ||
ViewEngine.prototype.loadTemplateResources = function loadTemplateResources(registryEntry, compileInstruction, loadContext) { | ||
var resources = new ViewResources(this.appResources, registryEntry.address); | ||
// START PATCH | ||
// TODO: this should be done in a monkey-patched constructor of ViewResources | ||
if (!resources.lookupFunctions.bindingFunctions) Object.assign(resources.lookupFunctions, { bindingFunctions: resources.getBindingFunction.bind(resources) }) | ||
if (!resources.bindingFunctions) resources.bindingFunctions = {} | ||
// END PATCH | ||
var dependencies = registryEntry.dependencies; | ||
var importIds = void 0; | ||
var names = void 0; | ||
compileInstruction = compileInstruction || ViewCompileInstruction.normal; | ||
if (dependencies.length === 0 && !compileInstruction.associatedModuleId) { | ||
return Promise.resolve(resources); | ||
} | ||
importIds = dependencies.map(function (x) { | ||
return x.src; | ||
}); | ||
names = dependencies.map(function (x) { | ||
return x.name; | ||
}); | ||
logger.debug('importing resources for ' + registryEntry.address, importIds); | ||
return this.importViewResources(importIds, names, resources, compileInstruction, loadContext); | ||
}; | ||
/** | ||
* Registers a binding behavior. | ||
@@ -10,6 +45,2 @@ * @param name The name of the binding function. | ||
ViewResources.prototype.registerBindingFunction = function(name: string, bindingFunction: Object): void { | ||
// TODO: this should be done in a monkey-patched constructor | ||
if (!this.lookupFunctions.bindingFunctions) Object.assign(this.lookupFunctions, { bindingFunctions: this.getBindingFunction.bind(this) }) | ||
if (!this.bindingFunctions) this.bindingFunctions = {} | ||
register(this.bindingFunctions, name, bindingFunction, 'a BindingFunction') | ||
@@ -24,10 +55,6 @@ } | ||
ViewResources.prototype.getBindingFunction = function(name: string): Object { | ||
// TODO: this should be done in a monkey-patched constructor | ||
if (!this.lookupFunctions.bindingFunctions) Object.assign(this.lookupFunctions, { bindingFunctions: this.getBindingFunction.bind(this) }) | ||
if (!this.bindingFunctions) this.bindingFunctions = {} | ||
return this.bindingFunctions[name] || (this.hasParent ? this.parent.getBindingFunction(name) : null) | ||
} | ||
// 2. patch global instance of ViewResources | ||
// patch global instance of ViewResources | ||
viewResources.bindingFunctions = {} | ||
@@ -34,0 +61,0 @@ Object.assign(viewResources.lookupFunctions, { bindingFunctions: viewResources.getBindingFunction.bind(viewResources) }) |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
72588
1129