UNPKG

1.31 kBJavaScriptView Raw
1import React from 'react';
2import { Layout, Menu, Icon } from 'antd';
3
4const { SubMenu } = Menu;
5const { Sider } = Layout;
6
7import PubSub from 'pubsub-js';
8
9
10export default class SiderView extends React.Component {
11
12 constructor(props) {
13 super(props);
14 }
15
16
17 $renderItem(db) {
18
19 const md = db.md;
20
21 let res = [];
22 for(var k in md) {
23 const list = md[k];
24 const items = list.map((item, i) => {
25 return <Menu.Item key={item.page}>{item.page}</Menu.Item>
26 });
27 res.push((
28 <SubMenu key={k} title={k}>
29 {items}
30 </SubMenu>
31 ))
32 }
33 return res;
34 }
35
36 handleMenuClick({item, key, keyPath}) {
37 console.log(item, key);
38
39 PubSub.publish('SET_PAGE', key);
40
41 }
42
43 render() {
44
45 const menuItems = this.$renderItem(this.props.db);
46
47
48 return (
49 <Menu
50 mode="inline"
51 defaultSelectedKeys={['0']}
52 defaultOpenKeys={['Comp']}
53 style={{ height: '100%' }}
54 onClick={this.handleMenuClick.bind(this)}
55 >
56 {menuItems}
57
58
59 </Menu>
60 )
61 }
62}
\No newline at end of file