refactor: Simplified code
This commit is contained in:
parent
b17e7de6ce
commit
83bad34ae4
|
|
@ -1,56 +1,47 @@
|
|||
import { Menu, routeMenus } from 'd2/utils/menu.js'
|
||||
import { Menu, createRouteMenus } from 'd2/utils/menu.js'
|
||||
|
||||
export const dashboardIndexMenu = new Menu('控制台').url('/dashboard').icon('icon-park-outline:dashboard')
|
||||
const menus = baseUrl => createRouteMenus({
|
||||
routeNameExp: new RegExp(`^dashboard-${baseUrl.replace(/\//g, '-')}`),
|
||||
baseUrl
|
||||
})
|
||||
|
||||
export const indexMenu = new Menu('首页').url('/').icon('icon-park-outline:home')
|
||||
export const dashboardIndexMenu = new Menu('控制台')
|
||||
.url('/dashboard')
|
||||
.icon('icon-park-outline:dashboard')
|
||||
|
||||
export const indexMenu = new Menu('首页')
|
||||
.url('/')
|
||||
.icon('icon-park-outline:home')
|
||||
|
||||
export const dashboardDemoComponentD2ScrollMenus = new Menu('滚动')
|
||||
.icon('icon-park-outline:move')
|
||||
.scope('/dashboard/demo/component/d2-scroll')
|
||||
.add(routeMenus({
|
||||
match: /^dashboard-demo-component-d2-scroll/,
|
||||
basePath: 'demo/component/d2-scroll'
|
||||
}))
|
||||
.add(menus('demo/component/d2-scroll'))
|
||||
|
||||
export const dashboardDemoComponentD2SvgMenus = new Menu('SVG')
|
||||
.icon('icon-park-outline:pic-one')
|
||||
.scope('/dashboard/demo/component/d2-svg')
|
||||
.add(routeMenus({
|
||||
match: /^dashboard-demo-component-d2-svg/,
|
||||
basePath: 'demo/component/d2-svg'
|
||||
}))
|
||||
.add(menus('demo/component/d2-svg'))
|
||||
|
||||
export const dashboardDemoComponentD2IconMenus = new Menu('图标')
|
||||
.icon('icon-park-outline:emotion-happy')
|
||||
.scope('/dashboard/demo/component/d2-icon')
|
||||
.add(routeMenus({
|
||||
match: /^dashboard-demo-component-d2-icon/,
|
||||
basePath: 'demo/component/d2-icon'
|
||||
}))
|
||||
.add(menus('demo/component/d2-icon'))
|
||||
|
||||
export const dashboardDemoComponentD2BreakPointMenus = new Menu('断点')
|
||||
.icon('icon-park-outline:distribute-horizontally')
|
||||
.scope('/dashboard/demo/component/d2-break-point')
|
||||
.add(routeMenus({
|
||||
match: /^dashboard-demo-component-d2-break-point/,
|
||||
basePath: 'demo/component/d2-break-point'
|
||||
}))
|
||||
.add(menus('demo/component/d2-break-point'))
|
||||
|
||||
export const dashboardDemoComponentD2FlexMenus = new Menu('Flex')
|
||||
.icon('icon-park-outline:carousel')
|
||||
.scope('/dashboard/demo/component/d2-flex')
|
||||
.add(routeMenus({
|
||||
match: /^dashboard-demo-component-d2-flex/,
|
||||
basePath: 'demo/component/d2-flex'
|
||||
}))
|
||||
.add(menus('demo/component/d2-flex'))
|
||||
|
||||
export const dashboardDemoComponentSTableMenus = new Menu('Surely Vue')
|
||||
.icon('icon-park-outline:table-file')
|
||||
.scope('/dashboard/demo/component/s-table')
|
||||
.add(routeMenus({
|
||||
match: /^dashboard-demo-component-s-table/,
|
||||
basePath: 'demo/component/s-table'
|
||||
}))
|
||||
.add(menus('demo/component/s-table'))
|
||||
|
||||
export const dashboardDemoComponentMenus = new Menu('组件')
|
||||
.icon('icon-park-outline:components')
|
||||
|
|
@ -65,10 +56,7 @@ export const dashboardDemoComponentMenus = new Menu('组件')
|
|||
export const dashboardDemoLayoutDashboardMenus = new Menu('控制台布局')
|
||||
.icon('icon-park-outline:page')
|
||||
.scope('/dashboard/demo/layout/dashboard')
|
||||
.add(routeMenus({
|
||||
match: /^dashboard-demo-layout-dashboard/,
|
||||
basePath: 'demo/layout/dashboard'
|
||||
}))
|
||||
.add(menus('demo/layout/dashboard'))
|
||||
|
||||
export const dashboardDemoLayoutMenus = new Menu('布局')
|
||||
.icon('icon-park-outline:page')
|
||||
|
|
@ -78,7 +66,4 @@ export const dashboardDemoLayoutMenus = new Menu('布局')
|
|||
export const dashboardDocumentMenus = new Menu('文档')
|
||||
.icon('icon-park-outline:doc-detail')
|
||||
.scope('/dashboard/document')
|
||||
.add(routeMenus({
|
||||
match: /^dashboard-document/,
|
||||
basePath: 'document'
|
||||
}))
|
||||
.add(menus('document'))
|
||||
|
|
|
|||
|
|
@ -111,18 +111,18 @@ function filterRoutes (rule) {
|
|||
return routesFlat.filter(route => rule.test(route.name))
|
||||
}
|
||||
|
||||
function createRouteMenu (route, basePath) {
|
||||
const url = route.path.replace(RegExp(`^${basePath}`), '')
|
||||
const title = get(route.meta, 'd2admin.menu.title', url || '/')
|
||||
function createRouteMenu (route, baseUrl) {
|
||||
const url = route.path.replace(new RegExp(`^${baseUrl}`), '')
|
||||
const title = get(route.meta, 'd2admin.menu.title', url || '首页')
|
||||
if (!url) {
|
||||
return new Menu(title).index()
|
||||
}
|
||||
return new Menu(title).url(url)
|
||||
}
|
||||
|
||||
export function routeMenus ({
|
||||
match = /.+/,
|
||||
basePath = ''
|
||||
export function createRouteMenus ({
|
||||
routeNameExp = /.+/,
|
||||
baseUrl = ''
|
||||
} = {}) {
|
||||
return filterRoutes(match).map(route => createRouteMenu(route, basePath))
|
||||
return filterRoutes(routeNameExp).map(route => createRouteMenu(route, baseUrl))
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,11 +1,3 @@
|
|||
<route>
|
||||
{
|
||||
"meta": {
|
||||
"d2admin.menu.title": "首页"
|
||||
}
|
||||
}
|
||||
</route>
|
||||
|
||||
<template>
|
||||
<demo-page-placeholder/>
|
||||
</template>
|
||||
|
|
|
|||
|
|
@ -1,11 +1,3 @@
|
|||
<route>
|
||||
{
|
||||
"meta": {
|
||||
"d2admin.menu.title": "首页"
|
||||
}
|
||||
}
|
||||
</route>
|
||||
|
||||
<template>
|
||||
<demo-page-placeholder/>
|
||||
</template>
|
||||
|
|
|
|||
Loading…
Reference in New Issue