Comments (5)
Not sure if it works for you but I ended doing something like this:
// metadata query param is in this format: ?metadata=foo,123|bar,abc
metadata: {
defaultValue: [],
refresh: true,
serialize(value) {
return value.map(v => `${v.key},${v.value}`).join('|');
},
deserialize(value = '') {
let pairs = value.split('|') || [];
return pairs.map(meta => {
let [key, value] = meta.split(',');
return { key, value };
});
}
},
from ember-parachute.
on a side note; is it possible to dynamically set the as
attribute since i use my component for multiple models and they have different QP names.
from ember-parachute.
I actually found somewhat of a solution for my problem:
const QueryParams = new QueryParams(
{
inFilter: {
defaultValue: null,
refresh: true
},
notInFilter: {
defaultValue: null,
refresh: true
}
},
true
);
export default Component.extend(QueryParams.Mixin, {
init() {
// Set `as` dynamically based on component attributes
set(QueryParams, "queryParams.inFilter.as", this["filter-field"]);
set(QueryParams, "queryParams.notInFilter.as", `not_in_${this["filter-field"]}`);
//...
}
});
I looked into the source code and the query-params are computed based off the original object which the mixin is generated from. So if we reset as
on the qp's on the original object the mixin also has the new attributes.
from ember-parachute.
@allthesignals, just ran into this issue myself. Have you found a solution/workaround, yet?
from ember-parachute.
I did something similar but wanted something more standard-looking. Iām still working on it, you can see a discussion about it here: https://discuss.emberjs.com/t/setting-query-params-programmatically/14665
I have the additional step of needing to alias QPād props to models, and having those update.
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
- 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.