fix: key names
This commit is contained in:
2 files changed
+16
-10
No files matched your search
@@ -40,8 +40,8 @@ export function resourceFilterParam(allowedValues, defaultValue) {
|
||||
* @return {object{get, set}}
|
||||
*/
|
||||
return function (target, name /*, descriptor*/) {
|
||||
const filterName = `filter-${name}`;
|
||||
const filterOptionsName = `filter-options-${name}`;
|
||||
const filterKey = `filter-${name}`;
|
||||
const filterAllowedValuesKey = `filter-allowed-values-${name}`;
|
||||
|
||||
// If the route has no query params specified yet, declare them.
|
||||
if (!Object.keys(target.queryParams).length) target.queryParams = {};
|
||||
@@ -49,14 +49,14 @@ export function resourceFilterParam(allowedValues, defaultValue) {
|
||||
// Add the resource filter query parameter to the route. Resource filter
|
||||
// param changes refresh the model but do not contribute to browser history.
|
||||
// See https://guides.emberjs.com/release/routing/query-params/
|
||||
target.queryParams[filterName] = {
|
||||
target.queryParams[filterKey] = {
|
||||
refreshModel: true,
|
||||
replace: true,
|
||||
};
|
||||
|
||||
// Store the allowed values for future lookup
|
||||
// (via `ResourceFilterParamHelper`).
|
||||
target[filterOptionsName] = allowedValues;
|
||||
target[filterAllowedValuesKey] = allowedValues;
|
||||
|
||||
// Override the decorated attribute with a getter and setter.
|
||||
return {
|
||||
@@ -64,7 +64,7 @@ export function resourceFilterParam(allowedValues, defaultValue) {
|
||||
* Returns the JSON-parsed query parameter value OR defaultValue.
|
||||
*/
|
||||
get() {
|
||||
const value = this._router.currentRoute.queryParams[filterName];
|
||||
const value = this._router.currentRoute.queryParams[filterKey];
|
||||
return value ? JSON.parse(value) : defaultValue || null;
|
||||
},
|
||||
|
||||
@@ -76,7 +76,7 @@ export function resourceFilterParam(allowedValues, defaultValue) {
|
||||
*/
|
||||
set(value) {
|
||||
const queryParams = {};
|
||||
queryParams[filterName] = JSON.stringify(value);
|
||||
queryParams[filterKey] = JSON.stringify(value);
|
||||
this.transitionTo({ queryParams });
|
||||
},
|
||||
};
|
||||
|
||||
@@ -52,12 +52,18 @@ export default class ResourceFilterParamHelper extends Helper {
|
||||
const owner = getOwner(this);
|
||||
// Filter options
|
||||
const route = owner.lookup(`route:${routeName}`);
|
||||
const filterOptionsName = `filter-options-${name}`;
|
||||
const value = route[filterOptionsName];
|
||||
const filterAllowedValuesKey = `filter-allowed-values-${name}`;
|
||||
const allowedValues = route[filterAllowedValuesKey];
|
||||
// Selected filters
|
||||
const rawValue = route[name];
|
||||
const selectedValue = rawValue ? JSON.parse(rawValue) : null;
|
||||
return { name, value, selectedValue };
|
||||
let value = rawValue;
|
||||
try {
|
||||
value = JSON.parse(rawValue);
|
||||
} catch (e) {
|
||||
/* ignore parse errors */
|
||||
}
|
||||
const selectedValue = rawValue ? value : null;
|
||||
return { name, allowedValues, selectedValue };
|
||||
}
|
||||
|
||||
// =actions
|
||||
|
||||
Reference in new issue
Block a user