UNPKG

8.85 kBJavaScriptView Raw
1
2import { Con, Row, Col } from '../src';
3import { Panel } from 'bee-panel';
4import React, { Component } from 'react';
5import ReactDOM from 'react-dom';
6import Button from 'bee-button';
7
8
9const CARET = <i className="uf uf-chevronarrowdown"></i>;
10
11const CARETUP = <i className="uf uf-chevronarrowup"></i>;
12
13
14/**
15 *
16 * @title 基础布局
17 * @description 使用<Row>组件和<Col>组件进行页面栅格切分
18 *
19 */
20
21class Demo1 extends Component {
22 render () {
23 return (
24 <Row>
25 <Col md={12} xs={12} sm={12} ><div className='grayDeep'>12</div></Col>
26 <Col md={6} xs={6} sm={6} ><div className='gray'>6</div></Col>
27 <Col md={6} xs={6} sm={6}><div className='grayLight'>6</div></Col>
28 <Col md={4} xs={4} sm={4}><div className='grayDeep'>4</div></Col>
29 <Col md={4} xs={4} sm={4}><div className='gray'>4</div></Col>
30 <Col md={4} xs={4} sm={4}><div className='grayLight'>4</div></Col>
31 <Col md={3} xs={3} sm={3}><div className='grayDeep'>3</div></Col>
32 <Col md={3} xs={3} sm={3}><div className='gray'>3</div></Col>
33 <Col md={3} xs={3} sm={3}><div className='grayLight'>3</div></Col>
34 <Col md={3} xs={3} sm={3}><div className='grayDeep'>3</div></Col>
35 <Col md={2} xs={2} sm={2}><div className='gray'>2</div></Col>
36 <Col md={2} xs={2} sm={2}><div className='grayLight'>2</div></Col>
37 <Col md={2} xs={2} sm={2}><div className='grayDeep'>2</div></Col>
38 <Col md={2} xs={2} sm={2}><div className='gray'>2</div></Col>
39 <Col md={2} xs={2} sm={2}><div className='grayLight'>2</div></Col>
40 <Col md={2} xs={2} sm={2}><div className='grayDeep'>2</div></Col>
41 </Row>
42 )
43 }
44}
45/**
46 *
47 * @title 偏移的栅格
48 * @description 使用mdOffset lgOffset smOffset xsOffset来设置栅格偏移的量
49 *
50 */
51
52class Demo2 extends Component {
53 render () {
54 return (
55 <Row>
56 <Col md={3} mdOffset={3} xs={3} xsOffset={3} sm={3} smOffset={3}><div className='grayDeep'>3 offset-3</div></Col>
57 <Col md={3} mdOffset={3} xs={3} xsOffset={3} sm={3} smOffset={3}><div className='gray'>3 offset-3</div></Col>
58 <Col md={6} mdOffset={6} xs={6} xsOffset={6} sm={6} smOffset={6}><div className='grayLight'>6 offset-6</div></Col>
59 <Col md={4} mdOffset={2} xs={4} xsOffset={2} sm={4} smOffset={2}><div className='gray'>4 offset-2</div></Col>
60 <Col md={2} mdOffset={3} xs={2} xsOffset={3} sm={2} smOffset={3}><div className='grayLight'>2 offset-3</div></Col>
61 <Col md={6} mdOffset={3} xs={6} xsOffset={3} sm={6} smOffset={3}><div className='grayDeep'>6 offset-3</div></Col>
62 </Row>
63 )
64 }
65}
66/**
67 *
68 * @title 平移的栅格
69 * @description 通过设置mdPull, mdPush来控制平移的量
70 *
71 */
72
73class Demo3 extends Component {
74
75 render () {
76 return (
77 <Row>
78 <Col md={8} mdPush={4} xs={8} xsPush={4} sm={8} smPush={4} >
79 <div className='grayDeep'>8 push-4</div>
80 </Col>
81 <Col md={4} mdPull={8} xs={4} xsPull={8} sm={4} smPull={8} >
82 <div className='gray'>4 pull-8</div>
83 </Col>
84 </Row>
85 )
86 }
87}
88var DemoArray = [{"example":<Demo1 />,"title":" 基础布局","code":"/**\r\n *\r\n * @title 基础布局\r\n * @description 使用<Row>组件和<Col>组件进行页面栅格切分\r\n *\r\n */\r\n\r\nclass Demo1 extends Component {\r\n render () {\r\n return (\r\n <Row>\r\n <Col md={12} xs={12} sm={12} ><div className='grayDeep'>12</div></Col>\r\n <Col md={6} xs={6} sm={6} ><div className='gray'>6</div></Col>\r\n <Col md={6} xs={6} sm={6}><div className='grayLight'>6</div></Col>\r\n <Col md={4} xs={4} sm={4}><div className='grayDeep'>4</div></Col>\r\n <Col md={4} xs={4} sm={4}><div className='gray'>4</div></Col>\r\n <Col md={4} xs={4} sm={4}><div className='grayLight'>4</div></Col>\r\n <Col md={3} xs={3} sm={3}><div className='grayDeep'>3</div></Col>\r\n <Col md={3} xs={3} sm={3}><div className='gray'>3</div></Col>\r\n <Col md={3} xs={3} sm={3}><div className='grayLight'>3</div></Col>\r\n <Col md={3} xs={3} sm={3}><div className='grayDeep'>3</div></Col>\r\n <Col md={2} xs={2} sm={2}><div className='gray'>2</div></Col>\r\n <Col md={2} xs={2} sm={2}><div className='grayLight'>2</div></Col>\r\n <Col md={2} xs={2} sm={2}><div className='grayDeep'>2</div></Col>\r\n <Col md={2} xs={2} sm={2}><div className='gray'>2</div></Col>\r\n <Col md={2} xs={2} sm={2}><div className='grayLight'>2</div></Col>\r\n <Col md={2} xs={2} sm={2}><div className='grayDeep'>2</div></Col>\r\n </Row>\r\n )\r\n }\r\n}\r\n","desc":" 使用<Row>组件和<Col>组件进行页面栅格切分"},{"example":<Demo2 />,"title":" 偏移的栅格","code":"/**\r\n *\r\n * @title 偏移的栅格\r\n * @description 使用mdOffset lgOffset smOffset xsOffset来设置栅格偏移的量\r\n *\r\n */\r\n\r\nclass Demo2 extends Component {\r\n render () {\r\n return (\r\n <Row>\r\n <Col md={3} mdOffset={3} xs={3} xsOffset={3} sm={3} smOffset={3}><div className='grayDeep'>3 offset-3</div></Col>\r\n <Col md={3} mdOffset={3} xs={3} xsOffset={3} sm={3} smOffset={3}><div className='gray'>3 offset-3</div></Col>\r\n <Col md={6} mdOffset={6} xs={6} xsOffset={6} sm={6} smOffset={6}><div className='grayLight'>6 offset-6</div></Col>\r\n <Col md={4} mdOffset={2} xs={4} xsOffset={2} sm={4} smOffset={2}><div className='gray'>4 offset-2</div></Col>\r\n <Col md={2} mdOffset={3} xs={2} xsOffset={3} sm={2} smOffset={3}><div className='grayLight'>2 offset-3</div></Col>\r\n <Col md={6} mdOffset={3} xs={6} xsOffset={3} sm={6} smOffset={3}><div className='grayDeep'>6 offset-3</div></Col>\r\n </Row>\r\n )\r\n }\r\n}\r\n","desc":" 使用mdOffset lgOffset smOffset xsOffset来设置栅格偏移的量"},{"example":<Demo3 />,"title":" 平移的栅格","code":"/**\r\n *\r\n * @title 平移的栅格\r\n * @description 通过设置mdPull, mdPush来控制平移的量\r\n *\r\n */\r\n\r\nclass Demo3 extends Component {\r\n\r\n render () {\r\n return (\r\n <Row>\r\n <Col md={8} mdPush={4} xs={8} xsPush={4} sm={8} smPush={4} >\r\n <div className='grayDeep'>8 push-4</div>\r\n </Col>\r\n <Col md={4} mdPull={8} xs={4} xsPull={8} sm={4} smPull={8} >\r\n <div className='gray'>4 pull-8</div>\r\n </Col>\r\n </Row>\r\n )\r\n }\r\n}\r\n","desc":" 通过设置mdPull, mdPush来控制平移的量"}]
89
90
91class Demo extends Component {
92 constructor(props){
93 super(props);
94 this.state = {
95 open: false
96 }
97 this.handleClick = this.handleClick.bind(this);
98 }
99 handleClick() {
100 this.setState({ open: !this.state.open })
101 }
102
103 render () {
104 const { title, example, code, desc } = this.props;
105 let caret = this.state.open ? CARETUP : CARET;
106 let text = this.state.open ? "隐藏代码" : "查看代码";
107
108 const footer = (
109 <Button shape="block" onClick={ this.handleClick }>
110 { caret }
111 { text }
112 </Button>
113 );
114
115 return (
116 <Col md={12}>
117 <h3>{ title }</h3>
118 <p>{ desc }</p>
119 <Panel collapsible headerContent expanded={ this.state.open } colors='bordered' header={ example } footer={footer} footerStyle = {{padding: 0, borderColor: "transparent"}}>
120 <pre><code className="hljs javascript">{ code }</code></pre>
121 </Panel>
122 </Col>
123 )
124 }
125}
126
127class DemoGroup extends Component {
128 constructor(props){
129 super(props)
130 }
131 render () {
132 return (
133 <Row>
134 {DemoArray.map((child,index) => {
135
136 return (
137 <Demo example= {child.example} title= {child.title} code= {child.code} desc= {child.desc} key= {index}/>
138 )
139
140 })}
141 </Row>
142 )
143 }
144}
145
146ReactDOM.render(<DemoGroup/>, document.getElementById('tinperBeeDemo'));