UNPKG

18.5 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 'bee-clipboard';
7
8
9
10var Demo1 = require("./demolist/Demo1");var Demo2 = require("./demolist/Demo2");var Demo3 = require("./demolist/Demo3");var Demo4 = require("./demolist/Demo4");var Demo5 = require("./demolist/Demo5");var DemoArray = [{"example":<Demo1 />,"title":" 基本使用","code":"/**\n *\n * @title 基本使用\n * @description 基本使用\n *\n */\nimport React, { Component } from 'react';\nimport { ButtonGroup, Button } from 'tinper-bee';\nimport Btns from 'ac-btns'\n\n\nlet btns = {\n add: {\n onClick: () => {\n console.log('add')\n }\n },\n confirm: {\n onClick: () => {\n console.log('confirm')\n }\n },\n search:{\n onClick: () => {\n console.log('search')\n }\n },\n detail:{\n onClick: () => {\n console.log('detail')\n }\n },\n cancel:{\n onClick: () => {\n console.log('cancel')\n }\n },\n clear: {\n onClick: () => {\n console.log('clear')\n }\n },\n empty: {\n onClick: () => {\n console.log('empty')\n }\n },\n export: {\n onClick: () => {\n console.log('export')\n }\n },\n import: {\n onClick: () => {\n console.log('import')\n }\n },\n save: {\n onClick: () => {\n console.log('save')\n }\n },\n cancel: {\n onClick: () => {\n console.log('cancel')\n }\n },\n template: {\n onClick: () => {\n console.log('template')\n }\n },\n update: {\n onClick: () => {\n console.log('update')\n }\n },\n delete: {\n onClick: () => {\n console.log('delete')\n }\n },\n pbmsubmit: {\n onClick: () => {\n console.log('pbmsubmit')\n }\n },\n appoint: {\n onClick: () => {\n console.log('appoint')\n }\n },\n pbmcancle: {\n onClick: () => {\n console.log('pbmcancle')\n }\n },\n pbmapprove: {\n onClick: () => {\n console.log('pbmapprove')\n }\n },\n printpreview: {\n onClick: () => {\n console.log('printpreview')\n }\n },\n printdesign: {\n onClick: () => {\n console.log('printdesign')\n }\n },\n upload: {\n onClick: () => {\n console.log('upload')\n }\n },\n reupload: {\n onClick: () => {\n console.log('reupload')\n }\n },\n addRow: {\n onClick: () => {\n console.log('addRow')\n }\n },\n delRow: {\n onClick: () => {\n console.log('delRow')\n }\n },\n copyRow: {\n onClick: () => {\n console.log('copyRow')\n }\n },\n copyToEnd: {\n onClick: () => {\n console.log('copyToEnd')\n }\n },\n copyToHere: {\n onClick: () => {\n console.log('copyToHere')\n }\n },\n max: {\n onClick: () => {\n console.log('max')\n }\n },\n min: {\n onClick: () => {\n console.log('min')\n }\n },\n organizationChat:{\n onClick: () => {\n console.log('organizationChat')\n }\n },\n download:{\n onClick: () => {\n console.log('download')\n }\n },\n enable:{\n onClick: () => {\n console.log('enable')\n }\n },\n disabled:{\n onClick: () => {\n console.log('disabled')\n }\n },\n \n}\nclass Demo1 extends Component {\n\n render() {\n return (\n <div>\n <div>\n <Btns btns = {btns} />\n </div>\n <ButtonGroup>\n <Btns\n btns={{\n first:{\n onClick: () => {\n console.log('first')\n }\n },\n previous:{\n onClick: () => {\n console.log('previous')\n }\n },\n next:{\n onClick: () => {\n console.log('next')\n }\n },\n last:{\n onClick: () => {\n console.log('last')\n }\n }\n }}\n />\n </ButtonGroup>\n </div>\n \n )\n \n }\n}\nexport default Demo1","desc":" 基本使用"},{"example":<Demo2 />,"title":" 不使用 Button 按钮","code":"/**\n *\n * @title 不使用 Button 按钮\n * @description type='line' or type='icon' 两种展示形式\n *\n */\nimport React, { Component } from 'react';\nimport Btns from 'ac-btns'\n\n\nlet btnsAll = {\n add: {\n onClick: () => {\n console.log('add')\n }\n },\n confirm: {\n onClick: () => {\n console.log('confirm')\n }\n },\n search:{\n onClick: () => {\n console.log('search')\n }\n },\n detail:{\n onClick: () => {\n console.log('detail')\n }\n },\n cancel:{\n onClick: () => {\n console.log('cancel')\n }\n },\n clear: {\n onClick: () => {\n console.log('clear')\n }\n },\n empty: {\n onClick: () => {\n console.log('empty')\n }\n },\n export: {\n onClick: () => {\n console.log('export')\n }\n },\n save: {\n onClick: () => {\n console.log('save')\n }\n },\n cancel: {\n onClick: () => {\n console.log('cancel')\n }\n },\n update: {\n onClick: () => {\n console.log('update')\n }\n },\n delete: {\n onClick: () => {\n console.log('delete')\n }\n },\n pbmsubmit: {\n onClick: () => {\n console.log('pbmsubmit')\n }\n },\n pbmcancle: {\n onClick: () => {\n console.log('pbmcancle')\n }\n },\n pbmapprove: {\n onClick: () => {\n console.log('pbmapprove')\n }\n },\n printpreview: {\n onClick: () => {\n console.log('printpreview')\n }\n },\n printdesign: {\n onClick: () => {\n console.log('printdesign')\n }\n },\n upload: {\n onClick: () => {\n console.log('upload')\n }\n },\n addRow: {\n onClick: () => {\n console.log('addRow')\n }\n },\n delRow: {\n onClick: () => {\n console.log('delRow')\n }\n },\n copyRow: {\n onClick: () => {\n console.log('copyRow')\n }\n },\n copyToEnd: {\n onClick: () => {\n console.log('copyToEnd')\n }\n },\n max: {\n onClick: () => {\n console.log('max')\n }\n },\n min: {\n onClick: () => {\n console.log('min')\n }\n },\n organizationChat:{\n onClick: () => {\n console.log('organizationChat')\n }\n },\n download:{\n onClick: () => {\n console.log('download')\n }\n },\n enable:{\n onClick: () => {\n console.log('enable')\n }\n },\n disabled:{\n onClick: () => {\n console.log('disabled')\n }\n },\n download:{\n onClick: () => {\n console.log('download')\n }\n },\n \n}\n\nlet btns = {\n update: {\n onClick: () => {\n console.log('add')\n }\n },\n pbmsubmit: {\n onClick: () => {\n console.log('confirm')\n }\n },\n detail:{\n onClick: () => {\n console.log('detail')\n }\n },\n enable: {\n onClick: () => {\n console.log('enable')\n }\n },\n disabled: {\n onClick: () => {\n console.log('disabled')\n }\n },\n}\n\nlet btns2 = {\n add: {\n onClick: () => {\n console.log('add')\n },\n },\n update: {\n onClick: () => {\n console.log('update')\n }\n },\n delete: {\n onClick: () => {\n console.log('delete')\n }\n },\n}\nclass Demo1 extends Component {\n\n render() {\n return <div className='demo2'>\n <div className='demo2-title'> 超过3个换更多按钮 </div>\n <Btns type='line' btns = {btns} />\n <div className='demo2-title'>全部展示</div>\n <Btns type='line' btns = {btnsAll} maxSize={99} />\n <div className='demo2-title'>图标类型</div>\n <Btns type='icon' btns = {btns2} maxSize={99}/>\n </div>\n }\n}\nexport default Demo1","desc":" type='line' or type='icon' 两种展示形式","scss_code":".demo2{\n &-title{\n margin-top: 10px;\n margin-bottom: 10px;\n }\n}"},{"example":<Demo3 />,"title":" 使用按钮权限","code":"/**\n *\n * @title 使用按钮权限\n * @description 传入 powerBtns,最终显示按钮是 pwoerBtns和btn说的交集\n *\n */\nimport React, { Component } from 'react';\nimport Btns from 'ac-btns'\n\n\nlet powerBtns = ['add', 'search', 'clear', 'export', 'save', 'cancel',\n 'update', 'delete', 'pbmsubmit', 'pbmcancle', 'pbmapprove',\n 'printpreview']\n\nlet btns = {\n add: {\n onClick: () => {\n console.log('add')\n }\n },\n search: {\n onClick: () => {\n console.log('search')\n }\n },\n clear: {\n onClick: () => {\n console.log('clear')\n }\n },\n empty: {\n onClick: () => {\n console.log('empty')\n }\n },\n export: {\n onClick: () => {\n console.log('export')\n }\n },\n save: {\n onClick: () => {\n console.log('save')\n }\n },\n cancel: {\n onClick: () => {\n console.log('cancel')\n }\n },\n update: {\n onClick: () => {\n console.log('update')\n }\n },\n delete: {\n onClick: () => {\n console.log('delete')\n }\n },\n pbmsubmit: {\n onClick: () => {\n console.log('pbmsubmit')\n }\n },\n pbmcancle: {\n onClick: () => {\n console.log('pbmcancle')\n }\n },\n pbmapprove: {\n onClick: () => {\n console.log('pbmapprove')\n }\n },\n printpreview: {\n onClick: () => {\n console.log('printpreview')\n }\n },\n printdesign: {\n onClick: () => {\n console.log('printdesign')\n }\n },\n upload: {\n onClick: () => {\n console.log('upload')\n }\n },\n addRow: {\n onClick: () => {\n console.log('addRow')\n }\n },\n delRow: {\n onClick: () => {\n console.log('delRow')\n }\n },\n copyRow: {\n onClick: () => {\n console.log('copyRow')\n }\n },\n copyToEnd: {\n onClick: () => {\n console.log('copyToEnd')\n }\n },\n max: {\n onClick: () => {\n console.log('max')\n }\n },\n}\n\nclass Demo1 extends Component {\n\n render() {\n return <div>\n <Btns btns = {btns} powerBtns={powerBtns}/>\n \n </div>\n }\n}\nexport default Demo1","desc":" 传入 powerBtns,最终显示按钮是 pwoerBtns和btn说的交集"},{"example":<Demo4 />,"title":" 按钮扩展","code":"/**\n *\n * @title 按钮扩展\n * @description 使用 addToBtns\n *\n */\nimport React, { Component } from 'react';\nimport Btns from 'ac-btns'\n\n\nlet btns = {\n add: {\n onClick: () => {\n console.log('add')\n }\n },\n search:{\n onClick: () => {\n console.log('search')\n }\n },\n cancel:{\n onClick: () => {\n console.log('cancel')\n }\n },\n clear: {\n onClick: () => {\n console.log('clear')\n }\n },\n empty: {\n onClick: () => {\n console.log('empty')\n }\n },\n export: {\n onClick: () => {\n console.log('export')\n }\n },\n save: {\n onClick: () => {\n console.log('save')\n }\n },\n cancel: {\n onClick: () => {\n console.log('cancel')\n }\n },\n update: {\n onClick: () => {\n console.log('update')\n }\n },\n delete: {\n onClick: () => {\n console.log('delete')\n }\n },\n pbmsubmit: {\n onClick: () => {\n console.log('pbmsubmit')\n }\n },\n pbmcancle: {\n onClick: () => {\n console.log('pbmcancle')\n }\n },\n pbmapprove: {\n onClick: () => {\n console.log('pbmapprove')\n }\n },\n printpreview: {\n onClick: () => {\n console.log('printpreview')\n }\n },\n printdesign: {\n onClick: () => {\n console.log('printdesign')\n }\n },\n upload: {\n onClick: () => {\n console.log('upload')\n }\n },\n addRow: {\n onClick: () => {\n console.log('addRow')\n }\n },\n delRow: {\n onClick: () => {\n console.log('delRow')\n }\n },\n copyRow: {\n onClick: () => {\n console.log('copyRow')\n }\n },\n copyToEnd: {\n onClick: () => {\n console.log('copyToEnd')\n }\n },\n max: {\n onClick: () => {\n console.log('max')\n }\n },\n min: {\n onClick: () => {\n console.log('min')\n }\n },\n example1: {\n onClick: () => {\n console.log('example1')\n }\n },\n example2: {\n onClick: () => {\n console.log('example2')\n }\n },\n}\nclass Demo1 extends Component {\n\n render() {\n return <Btns btns = {btns} \n addToBtns={\n {\n 'example1':{ \n 'colors':'write',\n 'name':'测试按钮1',\n 'className':'ac-btns-example1'\n },\n 'example2':{ \n 'colors':'write',\n 'name':'测试按钮2',\n 'className':'ac-btns-example2'\n },\n }\n }\n />\n }\n}\nexport default Demo1","desc":" 使用 addToBtns"},{"example":<Demo5 />,"title":" 多语示例","code":"/**\n *\n * @title 多语示例\n * @description 多语示例\n *\n */\nimport React, { Component } from 'react';\nimport Btns from 'ac-btns';\nimport en_US from 'ac-btns/build/locale/en_US';\n\n\nlet btns = {\n add: {\n onClick: () => {\n console.log('add')\n }\n },\n confirm: {\n onClick: () => {\n console.log('confirm')\n }\n },\n \n \n}\nclass Demo1 extends Component {\n\n render() {\n return (\n <div>\n <Btns btns = {btns} locale={en_US}/>\n </div>\n \n )\n \n }\n}\nexport default Demo1","desc":" 多语示例"}]
11
12
13class Demo extends Component {
14 constructor(props){
15 super(props);
16 this.state = {
17 open: false
18 }
19 }
20 handleClick=()=> {
21 this.setState({ open: !this.state.open })
22 }
23 fCloseDrawer=()=>{
24 this.setState({
25 open: false
26 })
27 }
28
29 render () {
30 const { title, example, code, desc, scss_code } = this.props;
31
32 const header = (
33 <div>
34 <p className='component-title'>{ title }</p>
35 <p>{ desc }</p>
36 <span className='component-code' onClick={this.handleClick}> 查看源码 <i className='uf uf-arrow-right'/> </span>
37 </div>
38 );
39 return (
40 <Col md={12} id={title.trim()} className='component-demo'>
41 <Panel header={header}>
42 {example}
43 </Panel>
44
45 <Drawer className='component-drawerc' title={title} show={this.state.open} placement='right' onClose={this.fCloseDrawer}>
46 <div className='component-code-copy'> JS代码
47 <Clipboard action="copy" text={code}/>
48 </div>
49 <pre className="pre-js">
50 <code className="hljs javascript">{ code }</code>
51 </pre >
52 {!!scss_code ?<div className='component-code-copy copy-css'> SCSS代码
53 <Clipboard action="copy" text={scss_code}/>
54 </div>:null }
55 { !!scss_code ? <pre className="pre-css">
56 <code className="hljs css">{ scss_code }</code>
57 </pre> : null }
58 </Drawer>
59 </Col>
60 )
61 }
62}
63
64class DemoGroup extends Component {
65 constructor(props){
66 super(props)
67 }
68 render () {
69 return (
70 <Row>
71 {DemoArray.map((child,index) => {
72
73 return (
74 <Demo example= {child.example} title= {child.title} code= {child.code} scss_code= {child.scss_code} desc= {child.desc} key= {index}/>
75 )
76
77 })}
78 </Row>
79 )
80 }
81}
82
83ReactDOM.render(<DemoGroup/>, document.getElementById('tinperBeeDemo'));