import { Feature } from 'oak-frontend-base'; ; ; const groups = [ { name: 'System', // 系统级别配置 icon: 'setup_fill', }, ]; const menus = [ { name: 'Dashboard', icon: 'document', url: '', }, { name: 'relationManage', icon: 'share', url: '/relation/entityList', parent: 'System', entity: 'relation', action: 'create', paths: [], }, ]; export default class Menu extends Feature { contextMenuFactory; console; menus; constructor(contextMenuFactory, console) { super(); this.contextMenuFactory = contextMenuFactory; this.contextMenuFactory.setMenus(menus); this.console = console; this.console.subscribe(() => { this.refreshMenus(); }); } refreshMenus() { /* const roomId = this.console.getRoomId(); const menus = this.contextMenuFactory.getMenusByContext>('room', roomId); const menuGroup = groupBy(menus, 'parent'); this.menus = (menus as any[]).filter(ele => !ele.parent).concat( groups.map((ele) => { const { name, icon } = ele; const children = menuGroup[name]; return { name, icon, children, }; }).filter((ele) => !!ele.children) ); this.publish(); */ } getMenus() { if (!this.menus) { this.refreshMenus(); } return this.menus; } }