fix(LeftMenu): refs #8197 handle missing children in findRoute and update menu structure
gitea/salix-front/pipeline/pr-dev This commit is unstable
Details
gitea/salix-front/pipeline/pr-dev This commit is unstable
Details
This commit is contained in:
parent
f737148de7
commit
759701fcbe
|
@ -77,6 +77,7 @@ watch(
|
|||
function findMatches(search, item) {
|
||||
const matches = [];
|
||||
function findRoute(search, item) {
|
||||
if (!item?.children) return;
|
||||
for (const child of item.children) {
|
||||
if (search?.indexOf(child.name) > -1) {
|
||||
matches.push(child);
|
||||
|
@ -107,11 +108,7 @@ function getRoutes() {
|
|||
main: getMainRoutes,
|
||||
card: getCardRoutes,
|
||||
};
|
||||
try {
|
||||
handleRoutes[props.source]();
|
||||
} catch (error) {
|
||||
throw new Error(`Method is not defined`);
|
||||
}
|
||||
handleRoutes[props.source]();
|
||||
}
|
||||
function getMainRoutes() {
|
||||
const modules = Object.assign([], navigation.getModules().value);
|
||||
|
@ -122,7 +119,6 @@ function getMainRoutes() {
|
|||
);
|
||||
if (!moduleDef) continue;
|
||||
item.children = [];
|
||||
|
||||
addChildren(item.module, moduleDef, item.children);
|
||||
}
|
||||
|
||||
|
|
|
@ -15,10 +15,7 @@ vi.mock('src/router/modules', () => ({
|
|||
meta: {
|
||||
title: 'customers',
|
||||
icon: 'vn:client',
|
||||
},
|
||||
menus: {
|
||||
main: ['CustomerList', 'CustomerCreate'],
|
||||
card: ['CustomerBasicData'],
|
||||
menu: ['CustomerList', 'CustomerCreate'],
|
||||
},
|
||||
children: [
|
||||
{
|
||||
|
@ -98,7 +95,7 @@ vi.spyOn(vueRouter, 'useRoute').mockReturnValue({
|
|||
icon: 'vn:client',
|
||||
moduleName: 'Customer',
|
||||
keyBinding: 'c',
|
||||
menu: 'customer',
|
||||
menu: ['customer'],
|
||||
},
|
||||
},
|
||||
],
|
||||
|
@ -260,15 +257,6 @@ describe('Leftmenu as main', () => {
|
|||
});
|
||||
});
|
||||
|
||||
it('should handle a single matched route with a menu', () => {
|
||||
const route = {
|
||||
matched: [{ meta: { menu: 'customer' } }],
|
||||
};
|
||||
|
||||
const result = vm.betaGetRoutes();
|
||||
|
||||
expect(result.meta.menu).toEqual(route.matched[0].meta.menu);
|
||||
});
|
||||
it('should get routes for main source', () => {
|
||||
vm.props.source = 'main';
|
||||
vm.getRoutes();
|
||||
|
@ -351,8 +339,9 @@ describe('addChildren', () => {
|
|||
|
||||
it('should handle routes with no meta menu', () => {
|
||||
const route = {
|
||||
meta: {},
|
||||
menus: {},
|
||||
meta: {
|
||||
menu: [],
|
||||
},
|
||||
};
|
||||
|
||||
const parent = [];
|
||||
|
|
Loading…
Reference in New Issue