fix: key names

This commit is contained in:
Randall Morey committed 2021-11-10 09:59:28 -05:00
1 parent c1b60c634e
commit dca54b2040
2 files changed
+16 -10

No files matched your search

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