mirror of
https://github.com/status-im/consul.git
synced 2025-01-09 13:26:07 +00:00
6589cbbd0d
* ui: Add the most basic workspace root in /ui * We already have a LICENSE file in the repository root * Change directory path in build scripts ui-v2 -> ui * Make yarn install flags configurable from elsewhere * Minimal workspace root makefile * Call the new docker specific target * Update yarn in the docker build image * Reconfigure the netlify target and move to the higher makefile * Move ui-v2 -> ui/packages/consul-ui * Change repo root to refleect new folder structure * Temporarily don't hoist consul-api-double * Fixup CI configuration * Fixup lint errors * Fixup Netlify target
36 lines
1.1 KiB
JavaScript
36 lines
1.1 KiB
JavaScript
const filter = function(routeName, atts, params) {
|
|
if (typeof params.nspace !== 'undefined' && routeName.startsWith('dc.')) {
|
|
routeName = `nspace.${routeName}`;
|
|
atts = [params.nspace].concat(atts);
|
|
}
|
|
return [routeName, ...atts];
|
|
};
|
|
const replaceRouteParams = function(route, params = {}) {
|
|
return (route.paramNames || [])
|
|
.map(function(item) {
|
|
if (typeof params[item] !== 'undefined') {
|
|
return params[item];
|
|
}
|
|
return route.params[item];
|
|
})
|
|
.reverse();
|
|
};
|
|
export default function(route, params = {}, container) {
|
|
if (route === null) {
|
|
route = container.lookup('route:application');
|
|
}
|
|
let atts = replaceRouteParams(route, params);
|
|
// walk up the entire route/s replacing any instances
|
|
// of the specified params with the values specified
|
|
let current = route;
|
|
let parent;
|
|
while ((parent = current.parent)) {
|
|
atts = atts.concat(replaceRouteParams(parent, params));
|
|
current = parent;
|
|
}
|
|
// Reverse atts here so it doen't get confusing whilst debugging
|
|
// (.reverse is destructive)
|
|
atts.reverse();
|
|
return filter(route.name || 'application', atts, params);
|
|
}
|