Comments (5)
this might be possible... I'll whip something up when I wake up
from ember-parachute.
@mwpastore although this would be nice to have, query param serialization / deserialization can happen before the controller is even created so I dont believe this would be currently possible.
from ember-parachute.
I had a bit of a think about this, and it seems to me like the issue is really about where this kind of validation of query params should live. In my mind, the serialize / deserialize functions are purely for presentation of the query parameter in the URL only. Validation or other business logic should happen before the value is set on the controller. In your case, you should be validating the item's index in the array before setting the value.
Does that make sense? @mwpastore
from ember-parachute.
@poteto Thanks for your thoughts and work on this. I understand what you're saying and basically agree, but if a user first browses to the site with e.g. ?index=3
, ideally there would be a way to sanity check that index against the array it's selecting into. Perhaps that's an argument for having a separate setter function in the controller instead of enhancing the deserialize QP function. Either way it would be good to figure out and document this use case.
from ember-parachute.
@mwpastore the idea behind the serialize/deserialize is not to do any business logic but only to format how it should look in the URI. The business logic should be done before setting the query parameter in the first place.
from ember-parachute.
Related Issues (20)
- Using this addon inside of an engine causes Route to be reopened twice HOT 1
- Exported service doesn't exist HOT 1
- Provide a way to get serialized QPs from the controller HOT 9
- Accessing the controller / services HOT 17
- Preventing a query param change HOT 3
- Upcoming RFC281 "native ES5 getters" incompatibility
- Setup hook not getting query params present in URL HOT 1
- Dynamically set query params HOT 5
- replaceRoute in setup sends incorrect event to queryParamsDidChange
- I'm an idiot - can you link code for the example HOT 4
- Support deserializing duplicate query params
- Ember 3.6 HandlerInfos Removal deprecation
- NAME_KEY is deprecated HOT 2
- Using key as reference to a service
- Changing query in setup hook HOT 2
- Unexpected values of queryParams on a controller using decorators
- Properties decorated with queryParam are undefined HOT 3
- Assertion Failed: Attempting to lookup an injected property on an object without a container HOT 1
- Uncaught TypeError: Cannot assign to read only property 'foostate' of object '[object Object]'
- Deprecation warning `deprecated-run-loop-and-computed-dot-access` blocking Ember 4 upgrade
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ember-parachute.