Skip to content

Instantly share code, notes, and snippets.

@jakwuh
Last active June 14, 2016 23:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jakwuh/133c8554b0e33d007b9095bba66d387f to your computer and use it in GitHub Desktop.
Save jakwuh/133c8554b0e33d007b9095bba66d387f to your computer and use it in GitHub Desktop.
region-extras add block helper support
// ...
if (options.fn) {
var View = LayoutView.extend({
template: () => options.fn(hash.defaults)
});
region.show(new View());
region.render = function (data) {
var View = LayoutView.extend({
template: () => options.fn(extend(hash.defaults, data))
});
this.show(new View());
}
}
{{#region "buttonState" defaults=(obj disabled=false) }}
{{button
disabled=disabled
}}
{{/region}}
{{#region "buttonState2" defaults=(obj disabled=false) }}
{{view "../1"
disabled=disabled
}}
{{view "../1"
disabled=disabled
}}
{{/region}}
class View extend LayoutView {
template: require('./View.hbs'),
collectionEvents: {
'request': 'enableButton',
'sync error': 'disableButton'
}
enableButton() {
/**
* region.render(data) will call Handlebars' options.fn(data))
*/
this.getRegion('buttonState').render({disabled: false});
}
disableButton() {
this.getRegion('buttonState').render({disabled: true});
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment