495cd05a7e
Allows for partials to be defined within the current template to allow for localized code reuse as well as for conditional behavior within nested partials. Fixes #1018
23 lines
624 B
JavaScript
23 lines
624 B
JavaScript
import {extend} from '../utils';
|
|
|
|
export default function(instance) {
|
|
instance.registerDecorator('inline', function(fn, props, container, options) {
|
|
let ret = fn;
|
|
if (!props.partials) {
|
|
props.partials = {};
|
|
ret = function(context, options) {
|
|
// Create a new partials stack frame prior to exec.
|
|
let original = container.partials;
|
|
container.partials = extend({}, original, props.partials);
|
|
let ret = fn(context, options);
|
|
container.partials = original;
|
|
return ret;
|
|
};
|
|
}
|
|
|
|
props.partials[options.args[0]] = options.fn;
|
|
|
|
return ret;
|
|
});
|
|
}
|