From e07cafb5c840b7dc76ae54b623db4027127c0cb1 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Pasquier <contact@jbpasquier.eu> Date: Thu, 20 May 2021 16:59:49 +0200 Subject: [PATCH] feature: improve route for extensions --- src/components/getRoute.js | 20 ++++++++++++-------- src/hubl-router.pug | 20 ++++++++++++-------- 2 files changed, 24 insertions(+), 16 deletions(-) diff --git a/src/components/getRoute.js b/src/components/getRoute.js index 231b713d..c4270062 100644 --- a/src/components/getRoute.js +++ b/src/components/getRoute.js @@ -1,17 +1,21 @@ window.hubl.getRoute = (type, returnFirst = false) => { - let availables = window.hubl.components.filter(c=>c.type==type||c.uniq==type); - availables.map(c => { - if(c.extensions) { - c.extensions.forEach(e => availables.push(e.type)); + let availables = window.hubl.components.filter(c => c.type == type || c.uniq == type); + window.hubl.components.forEach(c => { + if (c.extensions) { + c.extensions.forEach(e => { + if (e.type == type || e.uniq == type) { + availables.push(e.type); + } + }); } }); - if(availables.length > 1) { - if(returnFirst) { + if (availables.length > 1) { + if (returnFirst) { return availables[0].route; } else { - return availables[availables.length-1].route; + return availables[availables.length - 1].route; } - } else if(availables.length < 1) { + } else if (availables.length < 1) { console.error(`No component found for route ${type}`); } else { return availables[0].route; diff --git a/src/hubl-router.pug b/src/hubl-router.pug index 18bf1d42..8e1bf957 100644 --- a/src/hubl-router.pug +++ b/src/hubl-router.pug @@ -11,19 +11,23 @@ - let routes = new Set(); const getRoute = (type, returnFirst = false) => { - let availables = components.filter(c=>c.type==type||c.uniq==type); - availables.map(c => { - if(c.extensions) { - c.extensions.forEach(e => availables.push(e.type)); + let availables = components.filter(c => c.type == type || c.uniq == type); + components.forEach(c => { + if (c.extensions) { + c.extensions.forEach(e => { + if (e.type == type || e.uniq == type) { + availables.push(e.type); + } + }); } }); - if(availables.length > 1) { - if(returnFirst) { + if (availables.length > 1) { + if (returnFirst) { return availables[0].route; } else { - return availables[availables.length-1].route; + return availables[availables.length - 1].route; } - } else if(availables.length < 1) { + } else if (availables.length < 1) { console.error(`No component found for route ${type}`); } else { return availables[0].route; -- GitLab