From 761b67f3b2bbfd78738b402740f566d28bd0f4bc Mon Sep 17 00:00:00 2001 From: toran billups Date: Thu, 29 Sep 2016 22:27:55 -0500 Subject: [PATCH] [BUGFIX beta] layout now supports computed property --- .../lib/syntax/curly-component.js | 2 +- .../components/curly-components-test.js | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/packages/ember-glimmer/lib/syntax/curly-component.js b/packages/ember-glimmer/lib/syntax/curly-component.js index 84851635bb8..4b428b056ad 100644 --- a/packages/ember-glimmer/lib/syntax/curly-component.js +++ b/packages/ember-glimmer/lib/syntax/curly-component.js @@ -262,7 +262,7 @@ class CurlyComponentManager { } templateFor(component, env) { - let Template = component.layout; + let Template = get(component, 'layout'); let owner = component[OWNER]; if (Template) { return env.getTemplate(Template, owner); diff --git a/packages/ember-glimmer/tests/integration/components/curly-components-test.js b/packages/ember-glimmer/tests/integration/components/curly-components-test.js index cf3f607b8f0..16ea4b58372 100644 --- a/packages/ember-glimmer/tests/integration/components/curly-components-test.js +++ b/packages/ember-glimmer/tests/integration/components/curly-components-test.js @@ -152,6 +152,25 @@ moduleFor('Components test: curly components', class extends RenderingTest { this.assertText('so much layout wat hey'); } + ['@test layout supports computed property']() { + let FooBarComponent = Component.extend({ + elementId: 'blahzorz', + layout: computed(function () { + return compile('so much layout wat {{lulz}}'); + }), + init() { + this._super(...arguments); + this.lulz = 'heyo'; + } + }); + + this.registerComponent('foo-bar', { ComponentClass: FooBarComponent }); + + this.render('{{foo-bar}}'); + + this.assertText('so much layout wat heyo'); + } + ['@test passing undefined elementId results in a default elementId'](assert) { let FooBarComponent = Component.extend({ tagName: 'h1'