Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 0a9d766

Browse files
已修改 examples/src/Demo.js
已修改 examples/src/DemoList.js 已修改 examples/src/demos/demo2.js 缺失 lib/NodeInterface.js 已修改 lib/Tree.js 已修改 lib/TreeNode.js 已修改 lib/utils.js 已修改 src/NodeItem.js 已修改 src/style/index.scss
1 parent 439c7d7 commit 0a9d766

File tree

13 files changed

+572
-269
lines changed

13 files changed

+572
-269
lines changed

‎examples/src/Demo.js‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import DemoList from './DemoList';
44
export default class Demo extends Component {
55

66
state = {
7-
current: DemoList[1]
7+
current: DemoList[2]
88
}
99

1010
onDemoChange(item, e) {

‎examples/src/DemoList.js‎

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
import Demo1 from './demos/demo1';
22
import Demo2 from './demos/demo2';
3+
import Demo3 from './demos/demo3';
4+
import Demo4 from './demos/demo4';
35

46
export default [
57
{
@@ -9,5 +11,13 @@ export default [
911
{
1012
label: '服务器加载',
1113
component: Demo2
14+
},
15+
{
16+
label: '显示连接线',
17+
component: Demo3
18+
},
19+
{
20+
label: '动画效果',
21+
component: Demo4
1222
}
1323
]

‎examples/src/demos/demo2.js‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ export default class DEMO extends Component {
2121
if (this.dataStore[node.id]) return this.dataStore[node.id];
2222

2323
return new Promise(resolve => {
24-
const store = this.store;
24+
const server = this.store;
2525
setTimeout(() => {
26-
const childs = store.getChildren(node.id);
26+
const childs = server.getChildren(node.id);
2727
this.dataStore[node.id] = childs;
2828
resolve(childs)
2929
}, 500);

‎examples/src/demos/demo3.js‎

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
import React, { Component } from 'react';
2+
import TreeStore from 'xtree-store';
3+
import NilTree from 'nil-tree';
4+
import classnames from 'classnames';
5+
import data from '../data.json';
6+
7+
export default class DEMO extends Component {
8+
9+
constructor(props) {
10+
super(props);
11+
12+
this.store = new TreeStore(data, {
13+
simpleData: true
14+
});
15+
16+
}
17+
18+
loadData = node => {
19+
const store = this.store;
20+
return store.getChildren(node.id);
21+
}
22+
23+
toggleExpand = (node, e, t) => {
24+
// node.expanded = !node.expanded;
25+
// this.forceUpdate();
26+
//or
27+
t.toggleExpand()
28+
}
29+
30+
renderIndentIcons = (node, props, item) => {
31+
const store = this.store;
32+
const pIds = store.getParentIds(node.id);
33+
34+
return pIds.map((pId, i) => {
35+
const isLastChild = store.isLastChild(pId);
36+
const classes = classnames({
37+
[props.className]: true,
38+
'nil-tree-empty': isLastChild,
39+
'nil-tree-line': !isLastChild,
40+
});
41+
42+
return <span {...props} className={classes} key={i} />;
43+
});
44+
}
45+
46+
renderExpanderIcon = (node, props, item) => {
47+
const store = this.store;
48+
const isLastChild = store.isLastChild(node.id);
49+
50+
const leaf = node.leaf;
51+
const classes = classnames({
52+
[props.className]: true,
53+
'nil-tree-expander-end': !leaf && isLastChild,
54+
'nil-tree-expander': !leaf && !isLastChild,
55+
'nil-tree-elbow-end': leaf && isLastChild,
56+
'nil-tree-elbow': leaf && !isLastChild,
57+
});
58+
59+
return <span {...props} className={classes} />;
60+
}
61+
62+
render() {
63+
return (
64+
<NilTree
65+
onNodeClick={this.toggleExpand}
66+
renderIndentIcons={this.renderIndentIcons}
67+
renderExpanderIcon={this.renderExpanderIcon}
68+
loadData={this.loadData}
69+
showIcon
70+
/>
71+
);
72+
}
73+
74+
}

‎examples/src/demos/demo4.js‎

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
import React, { Component } from 'react';
2+
import TreeStore from 'xtree-store';
3+
import NilTree from 'nil-tree';
4+
import data from '../data.json';
5+
6+
export default class DEMO extends Component {
7+
8+
dataStore = {}
9+
10+
constructor(props) {
11+
super(props);
12+
13+
this.store = new TreeStore(data, {
14+
simpleData: true
15+
});
16+
17+
}
18+
19+
loadData = node => {
20+
21+
if (this.dataStore[node.id]) return this.dataStore[node.id];
22+
23+
return new Promise(resolve => {
24+
const server = this.store;
25+
setTimeout(() => {
26+
const childs = server.getChildren(node.id);
27+
this.dataStore[node.id] = childs;
28+
resolve(childs)
29+
}, 500);
30+
});
31+
}
32+
33+
toggleExpand = (node, e, t) => {
34+
// node.expanded = !node.expanded;
35+
// this.forceUpdate();
36+
// or
37+
t.toggleExpand()
38+
}
39+
40+
render() {
41+
return (
42+
<NilTree
43+
onNodeClick={this.toggleExpand}
44+
loadData={this.loadData}
45+
showIcon
46+
/>
47+
);
48+
}
49+
50+
}

‎lib/ChildNodesWrapper.js‎

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
2+
"use strict";
3+
4+
var _interopRequireWildcard = require("@babel/runtime-corejs2/helpers/interopRequireWildcard");
5+
6+
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
7+
8+
Object.defineProperty(exports, "__esModule", {
9+
value: true
10+
});
11+
exports.default = void 0;
12+
13+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/objectWithoutProperties"));
14+
15+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
16+
17+
var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
18+
19+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
20+
21+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
22+
23+
var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
24+
25+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
26+
27+
var _react = _interopRequireWildcard(require("react"));
28+
29+
var _propTypes = _interopRequireDefault(require("prop-types"));
30+
31+
var ChildNodesContainer =
32+
/*#__PURE__*/
33+
function (_Component) {
34+
(0, _inherits2.default)(ChildNodesContainer, _Component);
35+
36+
function ChildNodesContainer() {
37+
(0, _classCallCheck2.default)(this, ChildNodesContainer);
38+
return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(ChildNodesContainer).apply(this, arguments));
39+
}
40+
41+
(0, _createClass2.default)(ChildNodesContainer, [{
42+
key: "render",
43+
value: function render() {
44+
var _this$props = this.props,
45+
expanded = _this$props.expanded,
46+
children = _this$props.children,
47+
others = (0, _objectWithoutProperties2.default)(_this$props, ["expanded", "children"]);
48+
return expanded ? _react.default.createElement("div", others, children()) : null;
49+
}
50+
}]);
51+
return ChildNodesContainer;
52+
}(_react.Component);
53+
54+
exports.default = ChildNodesContainer;
55+
(0, _defineProperty2.default)(ChildNodesContainer, "propTypes", {
56+
expanded: _propTypes.default.bool
57+
});
58+
(0, _defineProperty2.default)(ChildNodesContainer, "defaultProps", {
59+
expanded: false
60+
});

‎lib/NodeInterface.js‎

Lines changed: 0 additions & 23 deletions
This file was deleted.

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /