rc-drawer@2.0.0-beta.0

drawer component for react

/* eslint-disable no-console,react/no-multi-comp */
import { Icon, Menu } from 'antd';
import * as React from 'react';
import * as ReactDom from 'react-dom';

import Drawer from '../src/';

import 'antd/lib/menu/style';
import 'antd/lib/style';

import '../assets/index.less';
import './assets/index.less';

const { SubMenu } = Menu;
const MenuItemGroup = Menu.ItemGroup;

class DrawerTester extends React.Component {
  private container: HTMLDivElement;

  public getContainer = () => {
    return this.container;
  };
  public saveContainer = (container: HTMLDivElement) => {
    this.container = container;
  };

  public render() {
    return (
      <div>
        <div ref={this.saveContainer} />
        <Drawer
          width="20vw"
          getContainer={this.getContainer}
        >
          <Menu
            defaultSelectedKeys={['1']}
            defaultOpenKeys={['sub1']}
            mode='inline'
          >
            <SubMenu
              key='sub1'
              title={
                <span>
                  <Icon type='mail' />
                  <span>Navigation One</span>
                </span>
              }
            >
              <MenuItemGroup key='g1' title='Item 1'>
                <Menu.Item key='1'>Option 1</Menu.Item>
                <Menu.Item key='2'>Option 2</Menu.Item>
              </MenuItemGroup>
              <MenuItemGroup key='g2' title='Item 2'>
                <Menu.Item key='3'>Option 3</Menu.Item>
                <Menu.Item key='4'>Option 4</Menu.Item>
              </MenuItemGroup>
            </SubMenu>
            <SubMenu
              key='sub2'
              title={
                <span>
                  <Icon type='appstore' />
                  <span>Navigation Two</span>
                </span>
              }
            >
              <Menu.Item key='5'>Option 5</Menu.Item>
              <Menu.Item key='6'>Option 6</Menu.Item>
              <SubMenu key='sub3' title='Submenu'>
                <Menu.Item key='7'>Option 7</Menu.Item>
                <Menu.Item key='8'>Option 8</Menu.Item>
              </SubMenu>
            </SubMenu>
            <SubMenu
              key='sub4'
              title={
                <span>
                  <Icon type='setting' />
                  <span>Navigation Three</span>
                </span>
              }
            >
              <Menu.Item key='9'>Option 9</Menu.Item>
              <Menu.Item key='10'>Option 10</Menu.Item>
              <Menu.Item key='11'>Option 11</Menu.Item>
              <Menu.Item key='12'>Option 12</Menu.Item>
            </SubMenu>
          </Menu>
        </Drawer>
      </div>
    );
  }
}

ReactDom.render(<DrawerTester />, document.getElementById('__react-content'));
Fork me on GitHub