An Ember addon that simplifies query param management by centralizing definitions and providing helpful hooks and computed properties.
Ember Parachute is an Ember.js addon that enhances query parameter management by providing a declarative, centralized way to define and handle query params. It solves the pain of duplicating query param definitions across routes and controllers and offers advanced hooks for data fetching and state synchronization.
Ember.js developers building applications that rely heavily on query parameters for filtering, pagination, search, or complex state management.
Developers choose Ember Parachute for its streamlined API, which reduces boilerplate, improves maintainability, and enables better user experiences through non-blocking data fetching and easy state reset capabilities.
Improved Query Params for Ember
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Eliminates duplication by defining all query params in a single map, reducing boilerplate between routes and controllers as shown in the README examples.
Provides setup, reset, and queryParamsDidChange hooks for managing data fetching and state transitions, enabling non-blocking UI updates and patterns like skeleton loading.
Allows custom serialize and deserialize functions for complex data types like arrays, demonstrated with the tags example in the usage section.
Offers @queryParam and @withParachute decorators for modern Ember class syntax, making query param definitions more declarative and integrated with contemporary Ember practices.
Changing default values does not clear query params from the URL, as admitted in the README due to Ember's private API, which can lead to cluttered URLs.
Requires calling this._super(...arguments) in overridden setupController and resetController methods for hooks to fire, adding risk of oversight and integration errors.
Forces data fetching into controllers instead of routes, which may not align with all teams' preferences or existing codebases, potentially causing architectural friction.