An Ember.js addon that provides a helper to bubble closure actions up the route hierarchy.
ember-route-action-helper is an Ember.js addon that enables components to invoke actions defined on routes using closure action semantics. It allows actions to bubble through the route hierarchy, providing a way to delegate behavior from components to routes while maintaining return values.
Ember.js developers building applications where components need to trigger actions that are handled at the route level, particularly those using closure actions for functional patterns in templates.
Developers choose this addon for its structured approach to bridging component and route interactions, offering route action bubbling with closure action support and predictable error handling when actions are not found.
Bubble closure actions in routes
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Enables actions to bubble up the active route hierarchy per Ember's rules, allowing centralized handling at the route level, as described in the usage examples.
Uses closure actions to pass arguments and return values, facilitating functional patterns in templates, with return values demonstrated in the component code snippet.
Can be combined with the standard {{action}} helper for declarative event handling, as shown in the README with button examples.
Raises an error if no action is found after bubbling, ensuring fail-fast behavior in development, mentioned in the error handling section.
The README includes a warning that most use cases can be achieved without this addon, referencing a blog post on Ember best practices, suggesting it may be redundant.
Integration tests require manual overrides of the helper with boilerplate code, as detailed in the testing section, adding development overhead.
With Ember's shift towards Octane and tracked properties, route actions are often bypassed in favor of simpler patterns, reducing the addon's utility in new projects.