dlt-for-react 1.0.12 → 1.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -1
- package/assets/components/KyTree/image/add.png +0 -0
- package/assets/components/KyTree/image/one.png +0 -0
- package/assets/components/KyTree/image/one_a.png +0 -0
- package/assets/components/KyTree/image/two.png +0 -0
- package/assets/components/KyTree/image/two_a.png +0 -0
- package/assets/components/KyTree/index.less +129 -0
- package/lib/components/KyTree/index.js +840 -0
- package/lib/index.js +9 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -8,7 +8,7 @@ npm publish
|
|
|
8
8
|
|
|
9
9
|
## 前端 dlt-for-react 依赖包版本更新记录
|
|
10
10
|
|
|
11
|
-
##### 当前最新版本:1.0.
|
|
11
|
+
##### 当前最新版本:1.0.13
|
|
12
12
|
|
|
13
13
|
##### 安装依赖
|
|
14
14
|
|
|
@@ -16,6 +16,10 @@ npm publish
|
|
|
16
16
|
|
|
17
17
|
##### 版本修改记录
|
|
18
18
|
|
|
19
|
+
#### V1.0.13—2023 年 10 月 24 日
|
|
20
|
+
|
|
21
|
+
1. 补充 KyTree 组件
|
|
22
|
+
|
|
19
23
|
#### V1.0.11—2023 年 10 月 23 日
|
|
20
24
|
|
|
21
25
|
1. 优化 NHFetch 支持文件上传模式兼容请求头配置 FormData
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
:global {
|
|
2
|
+
.Ky_tree {
|
|
3
|
+
position: relative;
|
|
4
|
+
// float: left;
|
|
5
|
+
margin-right: 20px;
|
|
6
|
+
background: transparent;
|
|
7
|
+
border-right: 1px solid #ddd;
|
|
8
|
+
.ant-input-search .ant-input {
|
|
9
|
+
margin-left: 4px;
|
|
10
|
+
border: 0px;
|
|
11
|
+
box-shadow: none;
|
|
12
|
+
}
|
|
13
|
+
// 滚动组件
|
|
14
|
+
.Ky_scroll {
|
|
15
|
+
& > div:nth-child(1) {
|
|
16
|
+
margin-bottom: 15px !important;
|
|
17
|
+
overflow-x: auto !important;
|
|
18
|
+
overflow-y: scroll !important;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
& > div:nth-child(2) {
|
|
22
|
+
display: none;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.ant-tree {
|
|
26
|
+
padding-bottom: 16px;
|
|
27
|
+
ul,
|
|
28
|
+
li {
|
|
29
|
+
// overflow: hidden;
|
|
30
|
+
text-overflow: ellipsis;
|
|
31
|
+
}
|
|
32
|
+
li {
|
|
33
|
+
.ant-tree-node-content-wrapper {
|
|
34
|
+
display: inline-block;
|
|
35
|
+
}
|
|
36
|
+
// 子菜单
|
|
37
|
+
ul {
|
|
38
|
+
margin: 0;
|
|
39
|
+
padding: 0 16px;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
// 搜索框
|
|
45
|
+
.Ky_tree_headerBox {
|
|
46
|
+
width: 100%;
|
|
47
|
+
padding: 3px, 0, 0, 8px;
|
|
48
|
+
line-height: 40px;
|
|
49
|
+
text-align: right;
|
|
50
|
+
// 隐藏搜索框右边图标
|
|
51
|
+
.ant-input-affix-wrapper .ant-input-suffix {
|
|
52
|
+
display: none;
|
|
53
|
+
}
|
|
54
|
+
.Ky_tree_searchInput {
|
|
55
|
+
margin: 0 5px;
|
|
56
|
+
padding: 0;
|
|
57
|
+
text-indent: 10px;
|
|
58
|
+
border: none;
|
|
59
|
+
border-bottom: 1px solid #ccc;
|
|
60
|
+
border-radius: 0;
|
|
61
|
+
box-shadow: none;
|
|
62
|
+
transition: all linear 0.5s;
|
|
63
|
+
.Ky_tree_search_icon {
|
|
64
|
+
// color: rgba(0, 0, 0, 0.8);
|
|
65
|
+
cursor: pointer;
|
|
66
|
+
}
|
|
67
|
+
input {
|
|
68
|
+
// margin-left: -8px;
|
|
69
|
+
border-width: 0px;
|
|
70
|
+
&:active,
|
|
71
|
+
&:focus,
|
|
72
|
+
&:hover {
|
|
73
|
+
border: none;
|
|
74
|
+
// border-bottom: 1px solid #ccc;
|
|
75
|
+
border-radius: 0;
|
|
76
|
+
box-shadow: none;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
// 添加图标
|
|
81
|
+
.Ky_tree_addBtn {
|
|
82
|
+
margin-right: 8px;
|
|
83
|
+
font-size: 16px;
|
|
84
|
+
cursor: pointer;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
// 切换栏按钮
|
|
88
|
+
.Ky_tree_btn {
|
|
89
|
+
position: absolute;
|
|
90
|
+
top: 48%;
|
|
91
|
+
right: -18px;
|
|
92
|
+
width: 18px;
|
|
93
|
+
height: 36px;
|
|
94
|
+
line-height: 36px;
|
|
95
|
+
background-color: #f1f2f6;
|
|
96
|
+
border-radius: 0 36px 36px 0;
|
|
97
|
+
cursor: pointer;
|
|
98
|
+
.trigger {
|
|
99
|
+
color: #1890ff;
|
|
100
|
+
font-size: 12px;
|
|
101
|
+
transition: color 0.3s;
|
|
102
|
+
}
|
|
103
|
+
&:hover {
|
|
104
|
+
background-color: #1890ff;
|
|
105
|
+
.trigger {
|
|
106
|
+
color: #fff;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
// 右键弹出栏
|
|
111
|
+
.Ky_tree_menu {
|
|
112
|
+
list-style: none;
|
|
113
|
+
a {
|
|
114
|
+
padding: 5px 10px;
|
|
115
|
+
cursor: pointer;
|
|
116
|
+
&:hover {
|
|
117
|
+
background: #e6f7ff;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
// 侧边栏关闭时的样式
|
|
122
|
+
&.ant-layout-sider-collapsed {
|
|
123
|
+
flex: 0 0 0px !important;
|
|
124
|
+
width: 0px !important;
|
|
125
|
+
min-width: 0px !important;
|
|
126
|
+
max-width: 0px !important;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
@@ -0,0 +1,840 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = undefined;
|
|
7
|
+
|
|
8
|
+
var _hasAuth2 = require("xgui-for-react/lib/utils/hasAuth");
|
|
9
|
+
|
|
10
|
+
var _hasAuth3 = _interopRequireDefault(_hasAuth2);
|
|
11
|
+
|
|
12
|
+
var _stringify = require("babel-runtime/core-js/json/stringify");
|
|
13
|
+
|
|
14
|
+
var _stringify2 = _interopRequireDefault(_stringify);
|
|
15
|
+
|
|
16
|
+
var _NHFetch2 = require("xgui-for-react/lib/utils/NHFetch");
|
|
17
|
+
|
|
18
|
+
var _NHFetch3 = _interopRequireDefault(_NHFetch2);
|
|
19
|
+
|
|
20
|
+
var _extends2 = require("babel-runtime/helpers/extends");
|
|
21
|
+
|
|
22
|
+
var _extends3 = _interopRequireDefault(_extends2);
|
|
23
|
+
|
|
24
|
+
var _tooltip = require("antd/lib/tooltip");
|
|
25
|
+
|
|
26
|
+
var _tooltip2 = _interopRequireDefault(_tooltip);
|
|
27
|
+
|
|
28
|
+
var _icon = require("antd/lib/icon");
|
|
29
|
+
|
|
30
|
+
var _icon2 = _interopRequireDefault(_icon);
|
|
31
|
+
|
|
32
|
+
var _assign = require("babel-runtime/core-js/object/assign");
|
|
33
|
+
|
|
34
|
+
var _assign2 = _interopRequireDefault(_assign);
|
|
35
|
+
|
|
36
|
+
var _popover = require("antd/lib/popover");
|
|
37
|
+
|
|
38
|
+
var _popover2 = _interopRequireDefault(_popover);
|
|
39
|
+
|
|
40
|
+
var _createUuid2 = require("xgui-for-react/lib/utils/createUuid");
|
|
41
|
+
|
|
42
|
+
var _createUuid3 = _interopRequireDefault(_createUuid2);
|
|
43
|
+
|
|
44
|
+
var _getPrototypeOf = require("babel-runtime/core-js/object/get-prototype-of");
|
|
45
|
+
|
|
46
|
+
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
|
47
|
+
|
|
48
|
+
var _classCallCheck2 = require("babel-runtime/helpers/classCallCheck");
|
|
49
|
+
|
|
50
|
+
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
|
51
|
+
|
|
52
|
+
var _createClass2 = require("babel-runtime/helpers/createClass");
|
|
53
|
+
|
|
54
|
+
var _createClass3 = _interopRequireDefault(_createClass2);
|
|
55
|
+
|
|
56
|
+
var _possibleConstructorReturn2 = require("babel-runtime/helpers/possibleConstructorReturn");
|
|
57
|
+
|
|
58
|
+
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
|
59
|
+
|
|
60
|
+
var _inherits2 = require("babel-runtime/helpers/inherits");
|
|
61
|
+
|
|
62
|
+
var _inherits3 = _interopRequireDefault(_inherits2);
|
|
63
|
+
|
|
64
|
+
var _input = require("antd/lib/input");
|
|
65
|
+
|
|
66
|
+
var _input2 = _interopRequireDefault(_input);
|
|
67
|
+
|
|
68
|
+
var _tree = require("antd/lib/tree");
|
|
69
|
+
|
|
70
|
+
var _tree2 = _interopRequireDefault(_tree);
|
|
71
|
+
|
|
72
|
+
var _layout = require("antd/lib/layout");
|
|
73
|
+
|
|
74
|
+
var _layout2 = _interopRequireDefault(_layout);
|
|
75
|
+
|
|
76
|
+
require("antd/lib/tooltip/style");
|
|
77
|
+
|
|
78
|
+
require("antd/lib/icon/style");
|
|
79
|
+
|
|
80
|
+
require("antd/lib/popover/style");
|
|
81
|
+
|
|
82
|
+
require("antd/lib/input/style");
|
|
83
|
+
|
|
84
|
+
require("antd/lib/tree/style");
|
|
85
|
+
|
|
86
|
+
require("antd/lib/layout/style");
|
|
87
|
+
|
|
88
|
+
var _react = require("react");
|
|
89
|
+
|
|
90
|
+
var _react2 = _interopRequireDefault(_react);
|
|
91
|
+
|
|
92
|
+
var _reactCustomScrollbars = require("react-custom-scrollbars");
|
|
93
|
+
|
|
94
|
+
var _reactDom = require("react-dom");
|
|
95
|
+
|
|
96
|
+
var _reactDom2 = _interopRequireDefault(_reactDom);
|
|
97
|
+
|
|
98
|
+
var _equalsObj = require("../../utils/equalsObj");
|
|
99
|
+
|
|
100
|
+
var _equalsObj2 = _interopRequireDefault(_equalsObj);
|
|
101
|
+
|
|
102
|
+
require("../../../assets/components/KyTree/index.less");
|
|
103
|
+
|
|
104
|
+
var _one = require("../../../assets/components/KyTree/image/one.png");
|
|
105
|
+
|
|
106
|
+
var _one2 = _interopRequireDefault(_one);
|
|
107
|
+
|
|
108
|
+
var _one_a = require("../../../assets/components/KyTree/image/one_a.png");
|
|
109
|
+
|
|
110
|
+
var _one_a2 = _interopRequireDefault(_one_a);
|
|
111
|
+
|
|
112
|
+
var _two = require("../../../assets/components/KyTree/image/two.png");
|
|
113
|
+
|
|
114
|
+
var _two2 = _interopRequireDefault(_two);
|
|
115
|
+
|
|
116
|
+
var _two_a = require("../../../assets/components/KyTree/image/two_a.png");
|
|
117
|
+
|
|
118
|
+
var _two_a2 = _interopRequireDefault(_two_a);
|
|
119
|
+
|
|
120
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
121
|
+
|
|
122
|
+
var Sider = _layout2.default.Sider;
|
|
123
|
+
|
|
124
|
+
var TreeNode = _tree2.default.TreeNode;
|
|
125
|
+
var Search = _input2.default.Search; //扩展菜单-未激活
|
|
126
|
+
//扩展菜单-激活
|
|
127
|
+
//子菜单-未激活
|
|
128
|
+
//子菜单-激活
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* 树选择器
|
|
132
|
+
* sql语句基础字段:key(value值),title:(显示的值)、select_flag(是否可以选择,1:可以选择,0或null,不能选择)、fid(父Key)、icon(图标、1:扩展菜单,2:子菜单)
|
|
133
|
+
*
|
|
134
|
+
*/
|
|
135
|
+
var MAXNUM = 50; // 支持实时搜索的最大条数
|
|
136
|
+
|
|
137
|
+
var KyTree = function (_React$Component) {
|
|
138
|
+
(0, _inherits3.default)(KyTree, _React$Component);
|
|
139
|
+
|
|
140
|
+
function KyTree(props) {
|
|
141
|
+
(0, _classCallCheck3.default)(this, KyTree);
|
|
142
|
+
|
|
143
|
+
var _this = (0, _possibleConstructorReturn3.default)(this, (KyTree.__proto__ || (0, _getPrototypeOf2.default)(KyTree)).call(this, props));
|
|
144
|
+
|
|
145
|
+
_initialiseProps.call(_this);
|
|
146
|
+
|
|
147
|
+
_this.state = {
|
|
148
|
+
checkedKeys: props.checkedKeys ? props.checkedKeys : [], //选中的值
|
|
149
|
+
selectedKeys: props.selectedKeys ? props.selectedKeys : [], //选中节点的数据
|
|
150
|
+
expandedKeys: [],
|
|
151
|
+
searchValue: "",
|
|
152
|
+
autoExpandParent: true,
|
|
153
|
+
data: [], //树数据
|
|
154
|
+
dataList: [], //树列表数据,主要在过滤的时候使用
|
|
155
|
+
singerDataMap: {}, //单选时可以选择的数据,主要在选中数据的时候获取key所对应的完整的值
|
|
156
|
+
multiDataMap: {}, //多选时可以选择的数据,主要在选中数据的时候获取key所对应的完整的值
|
|
157
|
+
collapsed: props.collapsed ? props.collapsed : false, //展开、关闭标识
|
|
158
|
+
tempValue: "" //用于点击图标搜索缓存值
|
|
159
|
+
};
|
|
160
|
+
return _this;
|
|
161
|
+
}
|
|
162
|
+
//设置可以传递参数的默认值
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
(0, _createClass3.default)(KyTree, [{
|
|
166
|
+
key: "componentDidMount",
|
|
167
|
+
value: function componentDidMount() {
|
|
168
|
+
this.ansysParams();
|
|
169
|
+
this.loadData();
|
|
170
|
+
}
|
|
171
|
+
}, {
|
|
172
|
+
key: "componentWillReceiveProps",
|
|
173
|
+
value: function componentWillReceiveProps(nextProps) {
|
|
174
|
+
// 当父组件的checkedKeys改变时,改变树选择的数据
|
|
175
|
+
if ("checkedKeys" in nextProps && !(0, _equalsObj2.default)(this.props.checkedKeys, nextProps.checkedKeys)) {
|
|
176
|
+
this.setState({
|
|
177
|
+
checkedKeys: nextProps.checkedKeys
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
if ("selectedKeys" in nextProps && !(0, _equalsObj2.default)(this.props.selectedKeys, nextProps.selectedKeys)) {
|
|
181
|
+
this.setState({
|
|
182
|
+
selectedKeys: nextProps.selectedKeys
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
if ("collapsed" in nextProps && !(0, _equalsObj2.default)(this.props.collapsed, nextProps.collapsed)) {
|
|
186
|
+
this.setState({
|
|
187
|
+
collapsed: nextProps.collapsed
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
/**
|
|
193
|
+
* 查询数据
|
|
194
|
+
*/
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
/**
|
|
198
|
+
* 获取数据最上一个节点的父节点
|
|
199
|
+
*/
|
|
200
|
+
|
|
201
|
+
|
|
202
|
+
/**
|
|
203
|
+
* 转换数据的格式
|
|
204
|
+
*/
|
|
205
|
+
|
|
206
|
+
|
|
207
|
+
//获取所有节点数据
|
|
208
|
+
|
|
209
|
+
|
|
210
|
+
//多选时个数据select属性不能是0(0表示不能选择)
|
|
211
|
+
|
|
212
|
+
|
|
213
|
+
//单选时数据select属性不能是false(false表示不能选择)
|
|
214
|
+
|
|
215
|
+
//搜索输入变化事件
|
|
216
|
+
|
|
217
|
+
|
|
218
|
+
//字段限制返回
|
|
219
|
+
|
|
220
|
+
|
|
221
|
+
//树字段限制
|
|
222
|
+
|
|
223
|
+
|
|
224
|
+
//单选,选中了数据
|
|
225
|
+
|
|
226
|
+
//多选,选中了选择框
|
|
227
|
+
|
|
228
|
+
|
|
229
|
+
//渲染tree
|
|
230
|
+
|
|
231
|
+
|
|
232
|
+
//右击事件
|
|
233
|
+
|
|
234
|
+
}, {
|
|
235
|
+
key: "renderRightMenu",
|
|
236
|
+
|
|
237
|
+
|
|
238
|
+
//右击菜单
|
|
239
|
+
value: function renderRightMenu(e, rightMenuList) {
|
|
240
|
+
if (this.popover) {
|
|
241
|
+
_reactDom2.default.unmountComponentAtNode(this.cmContainer);
|
|
242
|
+
this.popover = null;
|
|
243
|
+
}
|
|
244
|
+
var content = _react2.default.createElement(
|
|
245
|
+
"ul",
|
|
246
|
+
{ className: "Ky_tree_menu" },
|
|
247
|
+
rightMenuList.map(function (item) {
|
|
248
|
+
return _react2.default.createElement(
|
|
249
|
+
"a",
|
|
250
|
+
{
|
|
251
|
+
style: { display: "block", color: "inherit" },
|
|
252
|
+
key: (0, _createUuid3.default)(),
|
|
253
|
+
onClick: function onClick() {
|
|
254
|
+
return item.onClick(e.node.props.dataRef, e.node.props.eventKey, e);
|
|
255
|
+
}
|
|
256
|
+
},
|
|
257
|
+
" ",
|
|
258
|
+
item.name
|
|
259
|
+
);
|
|
260
|
+
})
|
|
261
|
+
);
|
|
262
|
+
this.popover = _react2.default.createElement(_popover2.default, {
|
|
263
|
+
placement: "bottom",
|
|
264
|
+
content: content,
|
|
265
|
+
trigger: "hover",
|
|
266
|
+
defaultVisible: true
|
|
267
|
+
});
|
|
268
|
+
|
|
269
|
+
var container = this.getContainer();
|
|
270
|
+
(0, _assign2.default)(this.cmContainer.style, {
|
|
271
|
+
position: "absolute",
|
|
272
|
+
left: e.event.pageX + "px",
|
|
273
|
+
top: e.event.pageY + "px"
|
|
274
|
+
});
|
|
275
|
+
|
|
276
|
+
_reactDom2.default.render(this.popover, container);
|
|
277
|
+
}
|
|
278
|
+
}, {
|
|
279
|
+
key: "getContainer",
|
|
280
|
+
value: function getContainer() {
|
|
281
|
+
if (!this.cmContainer) {
|
|
282
|
+
this.cmContainer = document.createElement("div");
|
|
283
|
+
|
|
284
|
+
document.body.appendChild(this.cmContainer);
|
|
285
|
+
}
|
|
286
|
+
return this.cmContainer;
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
/**
|
|
290
|
+
* 是否存在加号新增按钮
|
|
291
|
+
*/
|
|
292
|
+
|
|
293
|
+
}, {
|
|
294
|
+
key: "render",
|
|
295
|
+
value: function render() {
|
|
296
|
+
var _this2 = this;
|
|
297
|
+
|
|
298
|
+
var _state = this.state,
|
|
299
|
+
collapsed = _state.collapsed,
|
|
300
|
+
expandedKeys = _state.expandedKeys,
|
|
301
|
+
autoExpandParent = _state.autoExpandParent,
|
|
302
|
+
checkedKeys = _state.checkedKeys,
|
|
303
|
+
selectedKeys = _state.selectedKeys,
|
|
304
|
+
data = _state.data,
|
|
305
|
+
dataList = _state.dataList,
|
|
306
|
+
tempValue = _state.tempValue;
|
|
307
|
+
var _props = this.props,
|
|
308
|
+
collapseShow = _props.collapseShow,
|
|
309
|
+
search = _props.search,
|
|
310
|
+
width = _props.width,
|
|
311
|
+
height = _props.height,
|
|
312
|
+
showIcon = _props.showIcon,
|
|
313
|
+
checkable = _props.checkable,
|
|
314
|
+
defaultExpandAll = _props.defaultExpandAll;
|
|
315
|
+
|
|
316
|
+
var nHeight = search || this.isExistsAddBtn() ? parseInt(height, 10) - 43 : parseInt(height, 10);
|
|
317
|
+
var reduceWidth = this.isExistsAddBtn() ? 50 : 20;
|
|
318
|
+
return _react2.default.createElement(
|
|
319
|
+
Sider,
|
|
320
|
+
{
|
|
321
|
+
style: { height: nHeight },
|
|
322
|
+
className: "Ky_tree",
|
|
323
|
+
theme: "light",
|
|
324
|
+
trigger: null,
|
|
325
|
+
collapsible: true,
|
|
326
|
+
collapsed: collapsed,
|
|
327
|
+
width: width
|
|
328
|
+
},
|
|
329
|
+
!collapsed && (search || this.isExistsAddBtn()) && _react2.default.createElement(
|
|
330
|
+
"div",
|
|
331
|
+
{ className: "Ky_tree_headerBox" },
|
|
332
|
+
_react2.default.createElement(
|
|
333
|
+
_tooltip2.default,
|
|
334
|
+
{
|
|
335
|
+
placement: "top",
|
|
336
|
+
title: this.state.dataList.length > MAXNUM ? "\u8D85\u8FC7" + MAXNUM + "\u6761\u6570\u636E\uFF0C\u9700\u8981\u70B9\u51FB\u56DE\u8F66\u952E\u8FDB\u884C\u641C\u7D22" : null
|
|
337
|
+
},
|
|
338
|
+
_react2.default.createElement(Search, {
|
|
339
|
+
className: "Ky_tree_searchInput",
|
|
340
|
+
placeholder: "\u8BF7\u8F93\u5165\u67E5\u8BE2\u6761\u4EF6",
|
|
341
|
+
prefix: _react2.default.createElement(_icon2.default, {
|
|
342
|
+
type: "search",
|
|
343
|
+
className: "Ky_tree_search_icon",
|
|
344
|
+
onClick: function onClick() {
|
|
345
|
+
_this2.onSearch(tempValue);
|
|
346
|
+
}
|
|
347
|
+
}),
|
|
348
|
+
onChange: this.onChange,
|
|
349
|
+
onSearch: this.onSearch,
|
|
350
|
+
ref: function ref(node) {
|
|
351
|
+
_this2.input = node;
|
|
352
|
+
},
|
|
353
|
+
style: { width: width - reduceWidth, float: "left" }
|
|
354
|
+
})
|
|
355
|
+
),
|
|
356
|
+
this.isExistsAddBtn() && _react2.default.createElement(_icon2.default, {
|
|
357
|
+
type: "plus",
|
|
358
|
+
className: "Ky_tree_addBtn",
|
|
359
|
+
onClick: this.handleAdd
|
|
360
|
+
})
|
|
361
|
+
),
|
|
362
|
+
collapseShow && _react2.default.createElement(
|
|
363
|
+
"div",
|
|
364
|
+
{
|
|
365
|
+
className: "Ky_tree_btn",
|
|
366
|
+
onClick: function onClick() {
|
|
367
|
+
_this2.setState({ collapsed: !collapsed });
|
|
368
|
+
}
|
|
369
|
+
},
|
|
370
|
+
_react2.default.createElement(_icon2.default, { className: "trigger", type: collapsed ? "right" : "left" })
|
|
371
|
+
),
|
|
372
|
+
dataList && dataList.length > 0 && _react2.default.createElement(
|
|
373
|
+
_reactCustomScrollbars.Scrollbars,
|
|
374
|
+
{
|
|
375
|
+
className: "Ky_scroll",
|
|
376
|
+
style: { width: "100%", height: "100%" }
|
|
377
|
+
},
|
|
378
|
+
_react2.default.createElement(
|
|
379
|
+
_tree2.default,
|
|
380
|
+
(0, _extends3.default)({}, this.props, {
|
|
381
|
+
showIcon: showIcon,
|
|
382
|
+
checkable: checkable,
|
|
383
|
+
onExpand: this.onExpand,
|
|
384
|
+
expandedKeys: expandedKeys,
|
|
385
|
+
autoExpandParent: autoExpandParent,
|
|
386
|
+
onCheck: this.onCheck,
|
|
387
|
+
checkedKeys: checkedKeys //选中复选框的数据
|
|
388
|
+
, selectedKeys: selectedKeys //选中节点的数据
|
|
389
|
+
, onSelect: this.onSelect,
|
|
390
|
+
onRightClick: this.onRightClick,
|
|
391
|
+
defaultExpandAll: defaultExpandAll
|
|
392
|
+
}),
|
|
393
|
+
this.loop(data, 1)
|
|
394
|
+
)
|
|
395
|
+
)
|
|
396
|
+
);
|
|
397
|
+
}
|
|
398
|
+
}]);
|
|
399
|
+
return KyTree;
|
|
400
|
+
}(_react2.default.Component);
|
|
401
|
+
|
|
402
|
+
KyTree.defaultProps = {
|
|
403
|
+
sign: undefined, //标志
|
|
404
|
+
showIcon: false, //是否显示树图标
|
|
405
|
+
url: undefined, //查询数据的url,如果不给的话,则使用通用的查询数据的路径
|
|
406
|
+
checkable: true, //默认开启多选框
|
|
407
|
+
width: undefined, //树的宽度
|
|
408
|
+
height: undefined, //树的高度
|
|
409
|
+
onSelect: undefined, //选中数据的回调方法
|
|
410
|
+
params: {}, //查询条件
|
|
411
|
+
sqlParams: {}, //用于sql语句中的查询条件
|
|
412
|
+
search: true, //加搜索框
|
|
413
|
+
buttons: [], //鼠标右键点击事件回调type,name,onClick(item,key),isShow(),auth
|
|
414
|
+
addBtn: undefined, //加号触发事件方法()=>{}
|
|
415
|
+
addBtnAuth: undefined, //加号的权限控制标志
|
|
416
|
+
expandedKeys: [], //展开指定的树节点,如果设置了展开的节点,则使用此属性,如果没有设置则默认展开第一个节点
|
|
417
|
+
disabled: false, //是否禁用树
|
|
418
|
+
baseUrl: undefined, //请求路径的前缀,可通过改参数控制访问的后端服务,如果不设置,则会去访问当前前端服务对应的后端服务,例如:api/sm-bpm-expansion
|
|
419
|
+
defaultExpandAll: false, //默认展开所有树节, 默认为false
|
|
420
|
+
collapseShow: true //默认使用切换开关栏
|
|
421
|
+
};
|
|
422
|
+
|
|
423
|
+
var _initialiseProps = function _initialiseProps() {
|
|
424
|
+
var _this3 = this;
|
|
425
|
+
|
|
426
|
+
this.loadData = function () {
|
|
427
|
+
var obj = _this3;
|
|
428
|
+
var baseUrl = _this3.props.baseUrl;
|
|
429
|
+
var url = _this3.props.url ? _this3.props.url : (baseUrl || window.baseUrl || "") + "/proData/getTreeList";
|
|
430
|
+
(0, _NHFetch3.default)(url, "POST", {
|
|
431
|
+
params: _this3.props.params,
|
|
432
|
+
sqlParams: _this3.props.sqlParams,
|
|
433
|
+
sign: _this3.props.sign
|
|
434
|
+
}).then(function (res) {
|
|
435
|
+
if (res && res.data) {
|
|
436
|
+
var root = _this3.getDataRoot(res.data);
|
|
437
|
+
var data = _this3.buildData(res.data, root);
|
|
438
|
+
var dataList = obj.generateList(data);
|
|
439
|
+
var singerDataMap = obj.getSingerDataMap(data);
|
|
440
|
+
var multiDataMap = obj.getMultiDataMap(data);
|
|
441
|
+
var key = data[0].KEY || data[0].key; //默认展开第一个
|
|
442
|
+
obj.setState({
|
|
443
|
+
data: data,
|
|
444
|
+
expandedKeys: _this3.props.expandedKeys.length > 0 ? _this3.props.expandedKeys : [key],
|
|
445
|
+
// expandedKeys: this.props.expandedKeys,
|
|
446
|
+
dataList: dataList,
|
|
447
|
+
singerDataMap: singerDataMap,
|
|
448
|
+
multiDataMap: multiDataMap
|
|
449
|
+
});
|
|
450
|
+
}
|
|
451
|
+
});
|
|
452
|
+
};
|
|
453
|
+
|
|
454
|
+
this.ansysParams = function () {
|
|
455
|
+
//先从缓存中获取配置信息,如果再缓存中没有配置信息则说明配置时在前端书写
|
|
456
|
+
var paramsStr = sessionStorage.getItem("nhParams");
|
|
457
|
+
var params = undefined;
|
|
458
|
+
if (paramsStr != undefined) {
|
|
459
|
+
var params1 = JSON.parse(paramsStr);
|
|
460
|
+
if (params1.tree !== undefined && params1.tree[_this3.props.sign]) {
|
|
461
|
+
params = params1.tree[_this3.props.sign];
|
|
462
|
+
}
|
|
463
|
+
if (params === undefined && _this3.props.rowKey === undefined && _this3.props.baseUrl) {
|
|
464
|
+
var treeStr = sessionStorage.getItem(_this3.props.sign);
|
|
465
|
+
if (treeStr) {
|
|
466
|
+
var treeParam = JSON.parse(treeStr);
|
|
467
|
+
params = treeParam;
|
|
468
|
+
} else {
|
|
469
|
+
var t = new Date().getTime();
|
|
470
|
+
(0, _NHFetch3.default)(_this3.props.baseUrl + "/proData/queryAllConfig", "GET", t).then(function (res) {
|
|
471
|
+
if (res && res.code === 200) {
|
|
472
|
+
var _treeParam = res.data.tree[_this3.props.sign];
|
|
473
|
+
if (_treeParam) {
|
|
474
|
+
sessionStorage.setItem(_this3.props.sign, (0, _stringify2.default)(_treeParam));
|
|
475
|
+
_this3.ansysParams();
|
|
476
|
+
} else {
|
|
477
|
+
console.warn("无法获取" + _this3.props.sign + "配置");
|
|
478
|
+
}
|
|
479
|
+
}
|
|
480
|
+
});
|
|
481
|
+
return;
|
|
482
|
+
}
|
|
483
|
+
}
|
|
484
|
+
}
|
|
485
|
+
};
|
|
486
|
+
|
|
487
|
+
this.getDataRoot = function (data) {
|
|
488
|
+
var keys = {};
|
|
489
|
+
var parentKeys = [];
|
|
490
|
+
for (var i = 0; i < data.length; i++) {
|
|
491
|
+
var key = data[i].KEY || data[i].key;
|
|
492
|
+
var fid = data[i].FID || data[i].fid;
|
|
493
|
+
keys[key] = 1;
|
|
494
|
+
parentKeys.push(fid);
|
|
495
|
+
}
|
|
496
|
+
for (var _i = 0; _i < parentKeys.length; _i++) {
|
|
497
|
+
if (keys[parentKeys[_i]] !== 1) {
|
|
498
|
+
return parentKeys[_i];
|
|
499
|
+
}
|
|
500
|
+
}
|
|
501
|
+
return "-1";
|
|
502
|
+
};
|
|
503
|
+
|
|
504
|
+
this.buildData = function (data, parentKey) {
|
|
505
|
+
if (!data || data.length <= 0) {
|
|
506
|
+
return null;
|
|
507
|
+
}
|
|
508
|
+
var resultList = [];
|
|
509
|
+
for (var i = 0; i < data.length; i++) {
|
|
510
|
+
var fid = data[i].FID || data[i].fid;
|
|
511
|
+
var key = data[i].KEY || data[i].key;
|
|
512
|
+
if (fid === parentKey) {
|
|
513
|
+
var childrenList = _this3.buildData(data, key);
|
|
514
|
+
if (childrenList.length > 0) {
|
|
515
|
+
data[i].children = childrenList;
|
|
516
|
+
}
|
|
517
|
+
resultList.push(data[i]);
|
|
518
|
+
}
|
|
519
|
+
}
|
|
520
|
+
return resultList;
|
|
521
|
+
};
|
|
522
|
+
|
|
523
|
+
this.onExpand = function (expandedKeys) {
|
|
524
|
+
_this3.setState({
|
|
525
|
+
expandedKeys: expandedKeys,
|
|
526
|
+
autoExpandParent: false
|
|
527
|
+
});
|
|
528
|
+
};
|
|
529
|
+
|
|
530
|
+
this.generateList = function (data, fid) {
|
|
531
|
+
var dataList = [];
|
|
532
|
+
if (!data || !data.length) {
|
|
533
|
+
return [];
|
|
534
|
+
}
|
|
535
|
+
for (var i = 0; i < data.length; i++) {
|
|
536
|
+
var key = data[i].KEY || data[i].key;
|
|
537
|
+
var title = data[i].TITLE || data[i].title;
|
|
538
|
+
dataList.push({ key: key, title: title, fid: fid });
|
|
539
|
+
if (data[i].children && data[i].children.length > 0) {
|
|
540
|
+
dataList = dataList.concat(_this3.generateList(data[i].children, key));
|
|
541
|
+
}
|
|
542
|
+
}
|
|
543
|
+
return dataList;
|
|
544
|
+
};
|
|
545
|
+
|
|
546
|
+
this.getMultiDataMap = function (data) {
|
|
547
|
+
var map = {};
|
|
548
|
+
if (!data || data.length <= 0) {
|
|
549
|
+
return {};
|
|
550
|
+
}
|
|
551
|
+
for (var i = 0; i < data.length; i++) {
|
|
552
|
+
var selectFlag = data[i].SELECT_FLAG || data[i].selectFlag || data[i].select_flag;
|
|
553
|
+
var mapKey = data[i].KEY || data[i].key;
|
|
554
|
+
if (selectFlag !== "0" && selectFlag !== 0) {
|
|
555
|
+
var value = _this3.copyMap(data[i]);
|
|
556
|
+
map[mapKey] = value;
|
|
557
|
+
} else if (data[i].children && data[i].children.length > 0) {
|
|
558
|
+
var childrenMap = _this3.getMultiDataMap(data[i].children);
|
|
559
|
+
for (var key in childrenMap) {
|
|
560
|
+
map[key] = childrenMap[key];
|
|
561
|
+
}
|
|
562
|
+
}
|
|
563
|
+
}
|
|
564
|
+
return map;
|
|
565
|
+
};
|
|
566
|
+
|
|
567
|
+
this.getSingerDataMap = function (data) {
|
|
568
|
+
var map = {};
|
|
569
|
+
if (!data || data.length <= 0) {
|
|
570
|
+
return {};
|
|
571
|
+
}
|
|
572
|
+
for (var i = 0; i < data.length; i++) {
|
|
573
|
+
var selectFlag = data[i].SELECT_FLAG || data[i].selectFlag || data[i].select_flag;
|
|
574
|
+
var mapKey = data[i].KEY || data[i].key;
|
|
575
|
+
if (selectFlag !== "0" && selectFlag !== 0) {
|
|
576
|
+
var value = _this3.copyMap(data[i]);
|
|
577
|
+
map[mapKey] = value;
|
|
578
|
+
}
|
|
579
|
+
if (data[i].children && data[i].children.length > 0) {
|
|
580
|
+
var childrenMap = _this3.getSingerDataMap(data[i].children);
|
|
581
|
+
for (var key in childrenMap) {
|
|
582
|
+
map[key] = childrenMap[key];
|
|
583
|
+
}
|
|
584
|
+
}
|
|
585
|
+
}
|
|
586
|
+
return map;
|
|
587
|
+
};
|
|
588
|
+
|
|
589
|
+
this.copyMap = function (map) {
|
|
590
|
+
var resultMap = {};
|
|
591
|
+
for (var key in map) {
|
|
592
|
+
if (key !== "children") {
|
|
593
|
+
resultMap[key] = map[key];
|
|
594
|
+
}
|
|
595
|
+
}
|
|
596
|
+
return resultMap;
|
|
597
|
+
};
|
|
598
|
+
|
|
599
|
+
this.onChange = function (e) {
|
|
600
|
+
var value = e.target.value;
|
|
601
|
+
if (_this3.state.dataList && _this3.state.dataList.length > MAXNUM) {
|
|
602
|
+
if (!value || value.trim()) return _this3.onSearch(value);
|
|
603
|
+
_this3.setState({ tempValue: value ? value.trim() : "" });
|
|
604
|
+
return;
|
|
605
|
+
}
|
|
606
|
+
_this3.onSearch(value);
|
|
607
|
+
};
|
|
608
|
+
|
|
609
|
+
this.onSearch = function (value) {
|
|
610
|
+
value = value ? value.trim() : "";
|
|
611
|
+
var expandedKeys = _this3.state.dataList.map(function (item) {
|
|
612
|
+
if (item.title.indexOf(value) > -1) {
|
|
613
|
+
return item.fid ? item.fid : null;
|
|
614
|
+
}
|
|
615
|
+
return null;
|
|
616
|
+
}).filter(function (item, i, self) {
|
|
617
|
+
return item && self.indexOf(item) === i;
|
|
618
|
+
});
|
|
619
|
+
if (!value || !expandedKeys) {
|
|
620
|
+
if (_this3.state.data && _this3.state.data.length > 0) {
|
|
621
|
+
var key = _this3.state.data[0].KEY || _this3.state.data[0].key;
|
|
622
|
+
expandedKeys = [key];
|
|
623
|
+
} else {
|
|
624
|
+
expandedKeys = [];
|
|
625
|
+
}
|
|
626
|
+
}
|
|
627
|
+
_this3.setState({
|
|
628
|
+
expandedKeys: expandedKeys,
|
|
629
|
+
searchValue: value,
|
|
630
|
+
autoExpandParent: true
|
|
631
|
+
});
|
|
632
|
+
};
|
|
633
|
+
|
|
634
|
+
this.modifyTextLength = function (str, len) {
|
|
635
|
+
if (str.length * 2 <= len || len === undefined) {
|
|
636
|
+
return str;
|
|
637
|
+
}
|
|
638
|
+
var strlen = 0;
|
|
639
|
+
var val = "";
|
|
640
|
+
for (var i = 0; i < str.length; i++) {
|
|
641
|
+
val = val + str.charAt(i);
|
|
642
|
+
if (str.charCodeAt(i) > 128) {
|
|
643
|
+
strlen = strlen + 2;
|
|
644
|
+
if (strlen >= len) {
|
|
645
|
+
return val.substring(0, val.length - 1) + "...";
|
|
646
|
+
}
|
|
647
|
+
} else {
|
|
648
|
+
strlen = strlen + 1;
|
|
649
|
+
if (strlen >= len) {
|
|
650
|
+
return val.substring(0, val.length - 2) + "...";
|
|
651
|
+
}
|
|
652
|
+
}
|
|
653
|
+
}
|
|
654
|
+
return val;
|
|
655
|
+
};
|
|
656
|
+
|
|
657
|
+
this.getTextLength = function (val) {
|
|
658
|
+
var width = parseInt(_this3.props.width, 10) - (_this3.props.checkable ? 55 : 35);
|
|
659
|
+
var count = width / 15;
|
|
660
|
+
count = count + 1 - val;
|
|
661
|
+
//如果需要显示图标,则能够显示的字减少一个
|
|
662
|
+
if (_this3.props.showIcon) {
|
|
663
|
+
count = count - 1;
|
|
664
|
+
}
|
|
665
|
+
return parseInt(count, 10) * 2;
|
|
666
|
+
};
|
|
667
|
+
|
|
668
|
+
this.onSelect = function (checkedKeys) {
|
|
669
|
+
var singerDataMap = _this3.state.singerDataMap;
|
|
670
|
+
var _props2 = _this3.props,
|
|
671
|
+
checkable = _props2.checkable,
|
|
672
|
+
onSelect = _props2.onSelect;
|
|
673
|
+
|
|
674
|
+
if (!checkable) {
|
|
675
|
+
var selectKeys = [];
|
|
676
|
+
var selectNodes = [];
|
|
677
|
+
var checkedKey = checkedKeys[0];
|
|
678
|
+
if (singerDataMap[checkedKey]) {
|
|
679
|
+
selectKeys.push(checkedKey);
|
|
680
|
+
selectNodes.push(singerDataMap[checkedKey]);
|
|
681
|
+
}
|
|
682
|
+
if (onSelect) onSelect(selectKeys, selectNodes);
|
|
683
|
+
}
|
|
684
|
+
_this3.setState({
|
|
685
|
+
selectedKeys: checkedKeys
|
|
686
|
+
});
|
|
687
|
+
};
|
|
688
|
+
|
|
689
|
+
this.onCheck = function (checkedKeys) {
|
|
690
|
+
_this3.setState({ checkedKeys: checkedKeys });
|
|
691
|
+
if (_this3.props.checkable === true) {
|
|
692
|
+
var selectKeys = [];
|
|
693
|
+
var selectNodes = [];
|
|
694
|
+
for (var seq in checkedKeys) {
|
|
695
|
+
var checkedKey = checkedKeys[seq];
|
|
696
|
+
if (_this3.state.multiDataMap[checkedKey]) {
|
|
697
|
+
selectKeys.push(checkedKey);
|
|
698
|
+
selectNodes.push(_this3.state.multiDataMap[checkedKey]);
|
|
699
|
+
}
|
|
700
|
+
}
|
|
701
|
+
if (_this3.props.onSelect) {
|
|
702
|
+
_this3.props.onSelect(selectKeys, selectNodes);
|
|
703
|
+
}
|
|
704
|
+
}
|
|
705
|
+
};
|
|
706
|
+
|
|
707
|
+
this.handleTreeIcon = function (props) {
|
|
708
|
+
var icon = props.dataRef.ICON || props.dataRef.icon;
|
|
709
|
+
if (Number(icon) === 1) {
|
|
710
|
+
return _react2.default.createElement("img", { alt: "", style: { marginBottom: "4px" }, src: _one2.default });
|
|
711
|
+
} else if (Number(icon) === 2) {
|
|
712
|
+
return _react2.default.createElement("img", { alt: "", style: { marginBottom: "4px" }, src: _two2.default });
|
|
713
|
+
}
|
|
714
|
+
return _react2.default.createElement("img", { alt: "", style: { marginBottom: "4px" }, src: _one2.default });
|
|
715
|
+
};
|
|
716
|
+
|
|
717
|
+
this.loop = function (data, level) {
|
|
718
|
+
return data.map(function (item) {
|
|
719
|
+
var searchValue = _this3.state.searchValue;
|
|
720
|
+
|
|
721
|
+
var bt = item.TITLE || item.title;
|
|
722
|
+
var val = _this3.modifyTextLength(bt, _this3.getTextLength(level));
|
|
723
|
+
var index = val.indexOf(searchValue);
|
|
724
|
+
var beforeStr = val.substr(0, index);
|
|
725
|
+
var afterStr = val.substr(index + searchValue.length);
|
|
726
|
+
var titleContent = _react2.default.createElement(
|
|
727
|
+
"div",
|
|
728
|
+
{ style: { padding: "5px" } },
|
|
729
|
+
bt
|
|
730
|
+
);
|
|
731
|
+
var title = index > -1 ? _react2.default.createElement(
|
|
732
|
+
"span",
|
|
733
|
+
null,
|
|
734
|
+
beforeStr,
|
|
735
|
+
_react2.default.createElement(
|
|
736
|
+
"span",
|
|
737
|
+
{ style: { color: "#f50" } },
|
|
738
|
+
searchValue
|
|
739
|
+
),
|
|
740
|
+
afterStr
|
|
741
|
+
) : _react2.default.createElement(
|
|
742
|
+
"span",
|
|
743
|
+
null,
|
|
744
|
+
val
|
|
745
|
+
);
|
|
746
|
+
if (val.indexOf("...") > -1) {
|
|
747
|
+
title = _react2.default.createElement(
|
|
748
|
+
_popover2.default,
|
|
749
|
+
{ placement: "right", content: titleContent, trigger: "hover" },
|
|
750
|
+
title
|
|
751
|
+
);
|
|
752
|
+
}
|
|
753
|
+
var key = item.KEY || item.key;
|
|
754
|
+
if (item.CHILDREN || item.children) {
|
|
755
|
+
return _react2.default.createElement(
|
|
756
|
+
TreeNode,
|
|
757
|
+
{
|
|
758
|
+
key: key,
|
|
759
|
+
icon: _this3.handleTreeIcon,
|
|
760
|
+
title: title,
|
|
761
|
+
dataRef: item,
|
|
762
|
+
disabled: _this3.props.disabled
|
|
763
|
+
},
|
|
764
|
+
_this3.loop(item.CHILDREN || item.children, level + 1)
|
|
765
|
+
);
|
|
766
|
+
}
|
|
767
|
+
return _react2.default.createElement(TreeNode, {
|
|
768
|
+
key: key,
|
|
769
|
+
icon: _this3.handleTreeIcon,
|
|
770
|
+
title: title,
|
|
771
|
+
dataRef: item,
|
|
772
|
+
disabled: _this3.props.disabled
|
|
773
|
+
});
|
|
774
|
+
});
|
|
775
|
+
};
|
|
776
|
+
|
|
777
|
+
this.renderTreeNodes = function (data) {
|
|
778
|
+
return data.map(function (item) {
|
|
779
|
+
var title = item.TITLE || item.title;
|
|
780
|
+
var key = item.KEY || item.key;
|
|
781
|
+
if (item.children) {
|
|
782
|
+
return _react2.default.createElement(
|
|
783
|
+
TreeNode,
|
|
784
|
+
{ title: title, key: key, dataRef: item },
|
|
785
|
+
_this3.renderTreeNodes(item.children)
|
|
786
|
+
);
|
|
787
|
+
}
|
|
788
|
+
return _react2.default.createElement(TreeNode, { dataRef: item });
|
|
789
|
+
});
|
|
790
|
+
};
|
|
791
|
+
|
|
792
|
+
this.setCheckedKeys = function (checkedKeys) {
|
|
793
|
+
_this3.setState({
|
|
794
|
+
checkedKeys: checkedKeys
|
|
795
|
+
});
|
|
796
|
+
};
|
|
797
|
+
|
|
798
|
+
this.setSelectedKeys = function (selectedKeys) {
|
|
799
|
+
_this3.setState({
|
|
800
|
+
selectedKeys: selectedKeys
|
|
801
|
+
});
|
|
802
|
+
};
|
|
803
|
+
|
|
804
|
+
this.onRightClick = function (e) {
|
|
805
|
+
//先过滤没有权限的菜单
|
|
806
|
+
var rightMenuList = _this3.props.buttons;
|
|
807
|
+
if (rightMenuList && rightMenuList.length > 0) {
|
|
808
|
+
var newMenuList = [];
|
|
809
|
+
rightMenuList.map(function (item, index) {
|
|
810
|
+
//是否满足显示这个按钮的要求
|
|
811
|
+
if (item.isShow === undefined || item.isShow(e.node.props.dataRef, e.node.props.eventKey, e)) {
|
|
812
|
+
//是否满足权限的要求
|
|
813
|
+
if (item.auth === undefined || (0, _hasAuth3.default)(item.auth)) {
|
|
814
|
+
newMenuList.push(item);
|
|
815
|
+
}
|
|
816
|
+
}
|
|
817
|
+
return item;
|
|
818
|
+
});
|
|
819
|
+
if (newMenuList.length > 0) {
|
|
820
|
+
_this3.renderRightMenu(e, newMenuList);
|
|
821
|
+
}
|
|
822
|
+
} else {
|
|
823
|
+
return false;
|
|
824
|
+
}
|
|
825
|
+
};
|
|
826
|
+
|
|
827
|
+
this.isExistsAddBtn = function () {
|
|
828
|
+
//TODO:测试:先不要权限控制
|
|
829
|
+
// return this.props.addBtn && (!this.props.addBtnAuth || hasAuth(this.props.addBtnAuth));
|
|
830
|
+
return Boolean(_this3.props.addBtn);
|
|
831
|
+
};
|
|
832
|
+
|
|
833
|
+
this.handleAdd = function () {
|
|
834
|
+
var addBtn = _this3.props.addBtn;
|
|
835
|
+
|
|
836
|
+
if (addBtn) return addBtn();
|
|
837
|
+
};
|
|
838
|
+
};
|
|
839
|
+
|
|
840
|
+
exports.default = KyTree;
|
package/lib/index.js
CHANGED
|
@@ -229,6 +229,15 @@ Object.defineProperty(exports, 'HqLsrySelector', {
|
|
|
229
229
|
}
|
|
230
230
|
});
|
|
231
231
|
|
|
232
|
+
var _KyTree = require('./components/KyTree');
|
|
233
|
+
|
|
234
|
+
Object.defineProperty(exports, 'KyTree', {
|
|
235
|
+
enumerable: true,
|
|
236
|
+
get: function get() {
|
|
237
|
+
return _interopRequireDefault(_KyTree).default;
|
|
238
|
+
}
|
|
239
|
+
});
|
|
240
|
+
|
|
232
241
|
var _getSize = require('./utils/getSize.js');
|
|
233
242
|
|
|
234
243
|
Object.defineProperty(exports, 'getSize', {
|