2018-01-21 21:47:49 +08:00
|
|
|
|
import {Col, Row} from 'bee-layout';
|
|
|
|
|
import {Panel} from 'bee-panel';
|
2016-12-30 15:43:08 +08:00
|
|
|
|
import Button from 'bee-button';
|
2018-01-21 21:47:49 +08:00
|
|
|
|
import React, {Component} from 'react';
|
2016-12-30 15:43:08 +08:00
|
|
|
|
import ReactDOM from 'react-dom';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const CARET = <i className="uf uf-arrow-down"></i>;
|
|
|
|
|
|
|
|
|
|
const CARETUP = <i className="uf uf-arrow-up"></i>;
|
|
|
|
|
|
|
|
|
|
|
2019-03-11 15:24:34 +08:00
|
|
|
|
var Demo1 = require("./demolist/Demo1");var Demo10 = require("./demolist/Demo10");var Demo2 = require("./demolist/Demo2");var Demo3 = require("./demolist/Demo3");var Demo4 = require("./demolist/Demo4");var Demo5 = require("./demolist/Demo5");var Demo6 = require("./demolist/Demo6");var Demo7 = require("./demolist/Demo7");var Demo8 = require("./demolist/Demo8");var Demo9 = require("./demolist/Demo9");var DemoArray = [{"example":<Demo1 />,"title":" Tree基本使用示例","code":"/**\n *\n * @title Tree基本使用示例\n * @description 示例涵盖 checkbox如何选择,disable状态和部分选择状态。checkStrictly为true时,子节点与父节点的选择情况都不会影响到对方\n *\n */\n\n\nimport React, {\n\tComponent\n} from 'react';\nimport { Tree, Icon } from 'tinper-bee';\nconst TreeNode = Tree.TreeNode;\n\nconst defaultProps = {\n\tkeys: ['0-0-0', '0-0-1']\n}\nclass Demo1 extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tconst keys = this.props.keys;\n\t\tthis.state = {\n\t\t\tdefaultExpandedKeys: keys,\n\t\t\tdefaultSelectedKeys: keys,\n\t\t\tdefaultCheckedKeys:keys,\n\t\t\tcheckedKeys: {checked:keys},\n\t\t};\n\t}\n\tonSelect(info) {\n\t\tconsole.log('selected', info);\n\t}\n\tonCheck = (checkedKeys,newst) => {\n\t\t//用户可以自定义当前选中和半选中的节点。\n\t\tconsole.log('onCheck', checkedKeys);\n\t\tconst cks = {\n\t\t\tchecked: checkedKeys.checked || checkedKeys,\n\t\t\thalfChecked:checkedKeys.halfChecked\n\t\t};\n\t\tthis.setState({checkedKeys:cks});\n\t}\n\n\tonDoubleClick=(key,treeNode)=>{\n\t\tconsole.log('---onDblClick---'+key+'--treeNode--'+treeNode);\n\t}\n\trender() {\n\t\n\t\treturn (\n\t\t\t<Tree className=\"myCls\" showLine checkable\n\t defaultExpandedKeys={this.state.defaultExpandedKeys}\n\t\t\t\t\tdefaultSelectedKeys={this.state.defaultSelectedKeys}\n\t\t\t\t\tdefaultCheckedKeys = {this.state.defaultCheckedKeys}\n\t\t\t\t\tcheckStrictly\n\t\t\t\t\tshowIcon\n\t\t\t\t\tcancelUnSelect={true}\n\t\t\t\t\tonSelect={this.onSelect} onCheck={this.onCheck}\n\t\t\t\t\tonDoubleClick={this.onDoubleClick}\n\t >\n\t <TreeNode title=\"parent 1\" key=\"0-0\" icon={<Icon type=\"uf-treefolder\" />}>\n\t <TreeNode title=\"parent 1-0\" key=\"0-0-0\" disabled icon={<Icon type=\"uf-treefolder\" />}>\n\t <TreeNode title=\"leaf\" key=\"0-0-0-0\" disableCheckbox icon={<Icon type=\"uf-list-s-o\" />}/>\n\t <TreeNode title=\"leaf\" key=\"0-0-0-1\" icon={<Icon type=\"uf-list-s-o\" />}/>\n\t </TreeNode>\n\t <TreeNode title=\"parent 1-1\" key=\"0-0-1\" icon={<Icon type=\"uf-treefolder\" />}>\n\t <TreeNode title={<span>sss</span>} key=\"0-0-1-0\" icon={<Icon type=\"uf-list-s-o\" />}/>\n\t </TreeNode>\n\t </TreeNode>\n\t </Tree>\n\t\t);\n\t}\n}\n\nDemo1.defaultProps = defaultProps;\n\n\n","desc":" 示例涵盖 checkbox如何选择,disable状态和部分选择状态。checkStrictly为true时,子节点与父节点的选择情况都不会影响到对方"},{"example":<Demo10 />,"title":" Tree基本使用示例","code":"/**\n *\n * @title Tree基本使用示例\n * @description 如何获取选中对象自定义对象和数据\n *\n */\n\n\nimport React, {\n\tComponent\n} from 'react';\nimport { Tree } from 'tinper-bee';\n\nconst TreeNode = Tree.TreeNode;\n\nconst defaultProps = {\n\tkeys: ['0-0-0', '0-0-1']\n}\nclass Demo10 extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tconst keys = this.props.keys;\n\t\tthis.state = {\n\t\t\tdefaultExpandedKeys: keys,\n\t\t\tdefaultSelectedKeys: keys,\n\t\t\tdefaultCheckedKeys:keys\n\t\t\t// checkedKeys: {checked:keys},\n\t\t};\n }\n /**\n * 获取当前选中行的item对象。\n * @param {*} value \n */\n\tonSelect(selectedKeys, e) {\n console.log(`${selectedKeys} selected`);//获取key\n let currentObject = {};\n currentObject.title = e.node.props.title; //获取选中对象的数据\n currentObject.key = e.node.props.eventKey;\n console.log(currentObject); \n\t}\n\to
|
2016-12-30 15:43:08 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Demo extends Component {
|
2018-01-21 21:47:49 +08:00
|
|
|
|
constructor(props) {
|
2016-12-30 15:43:08 +08:00
|
|
|
|
super(props);
|
|
|
|
|
this.state = {
|
|
|
|
|
open: false
|
|
|
|
|
}
|
|
|
|
|
this.handleClick = this.handleClick.bind(this);
|
|
|
|
|
}
|
2018-01-21 21:47:49 +08:00
|
|
|
|
|
2016-12-30 15:43:08 +08:00
|
|
|
|
handleClick() {
|
2018-01-21 21:47:49 +08:00
|
|
|
|
this.setState({open: !this.state.open})
|
2016-12-30 15:43:08 +08:00
|
|
|
|
}
|
|
|
|
|
|
2018-01-21 21:47:49 +08:00
|
|
|
|
render() {
|
|
|
|
|
const {title, example, code, desc, scss_code} = this.props;
|
2016-12-30 15:43:08 +08:00
|
|
|
|
let caret = this.state.open ? CARETUP : CARET;
|
|
|
|
|
let text = this.state.open ? "隐藏代码" : "查看代码";
|
|
|
|
|
|
|
|
|
|
const header = (
|
2018-01-21 21:47:49 +08:00
|
|
|
|
<div>
|
|
|
|
|
{example}
|
|
|
|
|
<Button style={{"marginTop": "10px"}} shape="block" onClick={this.handleClick}>
|
|
|
|
|
{caret}
|
|
|
|
|
{text}
|
2016-12-30 15:43:08 +08:00
|
|
|
|
</Button>
|
2018-01-21 21:47:49 +08:00
|
|
|
|
</div>
|
2016-12-30 15:43:08 +08:00
|
|
|
|
);
|
|
|
|
|
return (
|
2018-01-21 21:47:49 +08:00
|
|
|
|
<Col md={12}>
|
|
|
|
|
<h3>{title}</h3>
|
|
|
|
|
<p>{desc}</p>
|
|
|
|
|
<Panel collapsible headerContent expanded={this.state.open} colors='bordered' header={header}
|
|
|
|
|
footerStyle={{padding: 0}}>
|
|
|
|
|
<pre><code className="hljs javascript">{code}</code></pre>
|
|
|
|
|
{!!scss_code ? <pre><code className="hljs css">{scss_code}</code></pre> : null}
|
2016-12-30 15:43:08 +08:00
|
|
|
|
</Panel>
|
|
|
|
|
</Col>
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
class DemoGroup extends Component {
|
2018-01-21 21:47:49 +08:00
|
|
|
|
constructor(props) {
|
2016-12-30 15:43:08 +08:00
|
|
|
|
super(props)
|
|
|
|
|
}
|
2018-01-21 21:47:49 +08:00
|
|
|
|
|
|
|
|
|
render() {
|
2016-12-30 15:43:08 +08:00
|
|
|
|
return (
|
2018-01-21 21:47:49 +08:00
|
|
|
|
<Row>
|
|
|
|
|
{DemoArray.map((child, index) => {
|
2016-12-30 15:43:08 +08:00
|
|
|
|
|
2018-01-21 21:47:49 +08:00
|
|
|
|
return (
|
|
|
|
|
<Demo example={child.example} title={child.title} code={child.code} scss_code={child.scss_code}
|
|
|
|
|
desc={child.desc} key={index}/>
|
|
|
|
|
)
|
2016-12-30 15:43:08 +08:00
|
|
|
|
|
2018-01-21 21:47:49 +08:00
|
|
|
|
})}
|
|
|
|
|
</Row>
|
2016-12-30 15:43:08 +08:00
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ReactDOM.render(<DemoGroup/>, document.getElementById('tinperBeeDemo'));
|