Framework for supporting Ember 1.12/1.13 helpers simulataneously

This commit is contained in:
Robin Ward
2016-10-24 13:49:17 -04:00
parent 750338954c
commit bd352385a5
6 changed files with 39 additions and 33 deletions

View File

@ -13,8 +13,24 @@ export function htmlHelper(fn) {
}
}
const _helpers = {};
export function registerHelper(name, fn) {
Ember.HTMLBars._registerHelper(name, fn);
if (Ember.Helper) {
_helpers[name] = Ember.Helper.helper(fn);
} else {
return Ember.HTMLBars._registerHelper(name, fn);
}
}
export function findHelper(name) {
return _helpers[name];
}
export function registerHelpers(registry) {
Object.keys(_helpers).forEach(name => {
registry.register(`helper:${name}`, _helpers[name], { singleton: false });
});
}
function resolveParams(ctx, options) {
@ -39,6 +55,13 @@ function resolveParams(ctx, options) {
}
export function registerUnbound(name, fn) {
if (Ember.Helper) {
_helpers[name] = Ember.Helper.helper(function() {
// TODO: Allow newer ember to use helpers
});
return;
}
const func = function(property, options) {
if (options.types && (options.types[0] === "ID" || options.types[0] === "PathExpression")) {
property = get(this, property, options);