UNPKG

2.44 kBJavaScriptView Raw
1import React, { Component } from 'react';
2import ReactDOM from 'react-dom';
3import { Con, Row, Col } from 'bee-layout';
4import { Panel } from 'bee-panel';
5import Drawer from 'bee-drawer';
6import Clipboard from '../src';
7
8
9
10{demolist}
11
12class Demo extends Component {
13 constructor(props){
14 super(props);
15 this.state = {
16 open: false
17 }
18 }
19 handleClick=()=> {
20 this.setState({ open: !this.state.open })
21 }
22 fCloseDrawer=()=>{
23 this.setState({
24 open: false
25 })
26 }
27
28 render () {
29 const { title, example, code, desc, scss_code } = this.props;
30
31 const header = (
32 <div>
33 <p className='component-title'>{ title }</p>
34 <p>{ desc }</p>
35 <span className='component-code' onClick={this.handleClick}> 查看源码 <i className='uf uf-arrow-right'/> </span>
36 </div>
37 );
38 return (
39 <Col md={12} id={title.trim()} className='component-demo'>
40 <Panel header={header}>
41 {example}
42 </Panel>
43
44 <Drawer className='component-drawerc' title={title} show={this.state.open} placement='right' onClose={this.fCloseDrawer}>
45 <div className='component-code-copy'> JS代码
46 <Clipboard action="copy" text={code}/>
47 </div>
48 <pre className="pre-js">
49 <code className="hljs javascript">{ code }</code>
50 </pre >
51 {!!scss_code ?<div className='component-code-copy copy-css'> SCSS代码
52 <Clipboard action="copy" text={scss_code}/>
53 </div>:null }
54 { !!scss_code ? <pre className="pre-css">
55 <code className="hljs css">{ scss_code }</code>
56 </pre> : null }
57 </Drawer>
58 </Col>
59 )
60 }
61}
62
63class DemoGroup extends Component {
64 constructor(props){
65 super(props)
66 }
67 render () {
68 return (
69 <Row>
70 {DemoArray.map((child,index) => {
71
72 return (
73 <Demo example= {child.example} title= {child.title} code= {child.code} scss_code= {child.scss_code} desc= {child.desc} key= {index}/>
74 )
75
76 })}
77 </Row>
78 )
79 }
80}
81
82ReactDOM.render(<DemoGroup/>, document.getElementById('tinperBeeDemo'));