dlt-for-react 1.0.12 → 1.0.14
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 +9 -1
- package/assets/components/KyTableCardList/index.less +200 -0
- 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/KyTableCardList/AddFieldsModal.js +370 -0
- package/lib/components/KyTableCardList/highSearchForm.js +585 -0
- package/lib/components/KyTableCardList/highSelect.js +301 -0
- package/lib/components/KyTableCardList/index.js +1045 -0
- package/lib/components/KyTree/index.js +840 -0
- package/lib/index.js +18 -0
- package/package.json +1 -1
|
@@ -0,0 +1,370 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
|
|
7
|
+
var _modal = require("antd/lib/modal");
|
|
8
|
+
|
|
9
|
+
var _modal2 = _interopRequireDefault(_modal);
|
|
10
|
+
|
|
11
|
+
var _checkbox = require("antd/lib/checkbox");
|
|
12
|
+
|
|
13
|
+
var _checkbox2 = _interopRequireDefault(_checkbox);
|
|
14
|
+
|
|
15
|
+
var _input = require("antd/lib/input");
|
|
16
|
+
|
|
17
|
+
var _input2 = _interopRequireDefault(_input);
|
|
18
|
+
|
|
19
|
+
var _icon = require("antd/lib/icon");
|
|
20
|
+
|
|
21
|
+
var _icon2 = _interopRequireDefault(_icon);
|
|
22
|
+
|
|
23
|
+
var _extends2 = require("babel-runtime/helpers/extends");
|
|
24
|
+
|
|
25
|
+
var _extends3 = _interopRequireDefault(_extends2);
|
|
26
|
+
|
|
27
|
+
var _message2 = require("antd/lib/message");
|
|
28
|
+
|
|
29
|
+
var _message3 = _interopRequireDefault(_message2);
|
|
30
|
+
|
|
31
|
+
var _getPrototypeOf = require("babel-runtime/core-js/object/get-prototype-of");
|
|
32
|
+
|
|
33
|
+
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
|
34
|
+
|
|
35
|
+
var _classCallCheck2 = require("babel-runtime/helpers/classCallCheck");
|
|
36
|
+
|
|
37
|
+
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
|
38
|
+
|
|
39
|
+
var _createClass2 = require("babel-runtime/helpers/createClass");
|
|
40
|
+
|
|
41
|
+
var _createClass3 = _interopRequireDefault(_createClass2);
|
|
42
|
+
|
|
43
|
+
var _possibleConstructorReturn2 = require("babel-runtime/helpers/possibleConstructorReturn");
|
|
44
|
+
|
|
45
|
+
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
|
46
|
+
|
|
47
|
+
var _inherits2 = require("babel-runtime/helpers/inherits");
|
|
48
|
+
|
|
49
|
+
var _inherits3 = _interopRequireDefault(_inherits2);
|
|
50
|
+
|
|
51
|
+
require("antd/lib/modal/style");
|
|
52
|
+
|
|
53
|
+
require("antd/lib/checkbox/style");
|
|
54
|
+
|
|
55
|
+
require("antd/lib/input/style");
|
|
56
|
+
|
|
57
|
+
require("antd/lib/icon/style");
|
|
58
|
+
|
|
59
|
+
require("antd/lib/message/style");
|
|
60
|
+
|
|
61
|
+
var _react = require("react");
|
|
62
|
+
|
|
63
|
+
var _react2 = _interopRequireDefault(_react);
|
|
64
|
+
|
|
65
|
+
var _isEqual = require("lodash/isEqual");
|
|
66
|
+
|
|
67
|
+
var _isEqual2 = _interopRequireDefault(_isEqual);
|
|
68
|
+
|
|
69
|
+
var _debounce = require("lodash/debounce");
|
|
70
|
+
|
|
71
|
+
var _debounce2 = _interopRequireDefault(_debounce);
|
|
72
|
+
|
|
73
|
+
var _classnames = require("classnames");
|
|
74
|
+
|
|
75
|
+
var _classnames2 = _interopRequireDefault(_classnames);
|
|
76
|
+
|
|
77
|
+
var _reactCustomScrollbars = require("react-custom-scrollbars");
|
|
78
|
+
|
|
79
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
80
|
+
|
|
81
|
+
var currentLine = 0; /**
|
|
82
|
+
* 高级搜索-添加搜索字段
|
|
83
|
+
*/
|
|
84
|
+
|
|
85
|
+
var AddFieldsModal = function (_Component) {
|
|
86
|
+
(0, _inherits3.default)(AddFieldsModal, _Component);
|
|
87
|
+
|
|
88
|
+
function AddFieldsModal(props) {
|
|
89
|
+
(0, _classCallCheck3.default)(this, AddFieldsModal);
|
|
90
|
+
|
|
91
|
+
var _this = (0, _possibleConstructorReturn3.default)(this, (AddFieldsModal.__proto__ || (0, _getPrototypeOf2.default)(AddFieldsModal)).call(this, props));
|
|
92
|
+
|
|
93
|
+
_this.debounceSearch = function (value) {
|
|
94
|
+
_this.setState({ searchValue: value }, function () {
|
|
95
|
+
_this.changeItem();
|
|
96
|
+
});
|
|
97
|
+
// 搜索字段为空,重置currentLine
|
|
98
|
+
if (value == "") {
|
|
99
|
+
currentLine = 0;
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
_this.handleSearchChange = function (e) {
|
|
104
|
+
var value = e.target.value;
|
|
105
|
+
|
|
106
|
+
_this.debounceSearch(value);
|
|
107
|
+
};
|
|
108
|
+
|
|
109
|
+
_this.onChange = function (checkedList) {
|
|
110
|
+
var data = _this.props.data;
|
|
111
|
+
|
|
112
|
+
_this.setState({
|
|
113
|
+
checkedList: checkedList,
|
|
114
|
+
indeterminate: !!checkedList.length && checkedList.length < data.length,
|
|
115
|
+
checkAll: checkedList.length === data.length
|
|
116
|
+
});
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
_this.onCheckAllChange = function (e) {
|
|
120
|
+
var data = _this.props.data;
|
|
121
|
+
|
|
122
|
+
_this.setState({
|
|
123
|
+
checkedList: e.target.checked ? data.map(function (item) {
|
|
124
|
+
return item.dataIndex;
|
|
125
|
+
}) : [],
|
|
126
|
+
indeterminate: false,
|
|
127
|
+
checkAll: e.target.checked
|
|
128
|
+
});
|
|
129
|
+
};
|
|
130
|
+
|
|
131
|
+
_this.handleOk = function () {
|
|
132
|
+
var _this$props = _this.props,
|
|
133
|
+
data = _this$props.data,
|
|
134
|
+
onOk = _this$props.onOk;
|
|
135
|
+
var checkedList = _this.state.checkedList;
|
|
136
|
+
|
|
137
|
+
if (!checkedList || checkedList.length < 1) {
|
|
138
|
+
_message3.default.info('请至少选择一个字段');
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
141
|
+
var result = [];
|
|
142
|
+
data.forEach(function (item) {
|
|
143
|
+
if (checkedList.includes(item.dataIndex)) {
|
|
144
|
+
var nitem = (0, _extends3.default)({}, item);
|
|
145
|
+
nitem.defaultSearch = true;
|
|
146
|
+
result.push(nitem);
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
onOk && onOk(result);
|
|
150
|
+
};
|
|
151
|
+
|
|
152
|
+
_this.handleCancel = function () {
|
|
153
|
+
var onCancel = _this.props.onCancel;
|
|
154
|
+
|
|
155
|
+
_this.setState({
|
|
156
|
+
searchValue: ""
|
|
157
|
+
});
|
|
158
|
+
onCancel && onCancel();
|
|
159
|
+
};
|
|
160
|
+
|
|
161
|
+
_this.handleKeyUp = function (e) {
|
|
162
|
+
// Enter键盘事件
|
|
163
|
+
if (e.keyCode == 13) {
|
|
164
|
+
_this.changeItem();
|
|
165
|
+
}
|
|
166
|
+
};
|
|
167
|
+
|
|
168
|
+
_this.changeItem = function () {
|
|
169
|
+
var elements = document.getElementById("" + _this.listID).getElementsByClassName("textHighLight");
|
|
170
|
+
if (elements.length) {
|
|
171
|
+
// 最后一个高亮
|
|
172
|
+
if (currentLine === elements.length) {
|
|
173
|
+
currentLine = 0;
|
|
174
|
+
}
|
|
175
|
+
// 清除高亮
|
|
176
|
+
for (var index = 0; index < elements.length; index++) {
|
|
177
|
+
var element = elements[index];
|
|
178
|
+
element.classList.remove("active");
|
|
179
|
+
}
|
|
180
|
+
// 添加高亮
|
|
181
|
+
elements[currentLine].classList.add("active");
|
|
182
|
+
// currentLine + 1
|
|
183
|
+
currentLine++;
|
|
184
|
+
}
|
|
185
|
+
};
|
|
186
|
+
|
|
187
|
+
_this.listID = "fields-" + Math.random().toString(36);
|
|
188
|
+
_this.state = {
|
|
189
|
+
searchValue: "", // 搜索字段
|
|
190
|
+
checkedList: _this.props.checkedList || [], // 选中项
|
|
191
|
+
indeterminate: false, // 控制全选样式状态
|
|
192
|
+
checkAll: false // 是否全选
|
|
193
|
+
};
|
|
194
|
+
_this.debounceSearch = (0, _debounce2.default)(_this.debounceSearch, 500);
|
|
195
|
+
return _this;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
(0, _createClass3.default)(AddFieldsModal, [{
|
|
199
|
+
key: "componentWillReceiveProps",
|
|
200
|
+
value: function componentWillReceiveProps(nextProps) {
|
|
201
|
+
if ("checkedList" in nextProps && !(0, _isEqual2.default)(nextProps.checkedList, this.props.checkedList)) {
|
|
202
|
+
var checkedList = nextProps.checkedList,
|
|
203
|
+
data = nextProps.data;
|
|
204
|
+
|
|
205
|
+
this.setState({
|
|
206
|
+
checkedList: checkedList,
|
|
207
|
+
checkAll: checkedList.length === data.length,
|
|
208
|
+
indeterminate: !!checkedList.length && checkedList.length < data.length
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
// 搜索
|
|
214
|
+
|
|
215
|
+
|
|
216
|
+
// 单个选择
|
|
217
|
+
|
|
218
|
+
|
|
219
|
+
// 全选
|
|
220
|
+
|
|
221
|
+
|
|
222
|
+
// 保存
|
|
223
|
+
|
|
224
|
+
|
|
225
|
+
// Enter键切换高亮
|
|
226
|
+
|
|
227
|
+
}, {
|
|
228
|
+
key: "render",
|
|
229
|
+
value: function render() {
|
|
230
|
+
var _props = this.props,
|
|
231
|
+
wrapClassName = _props.wrapClassName,
|
|
232
|
+
visible = _props.visible,
|
|
233
|
+
width = _props.width,
|
|
234
|
+
title = _props.title,
|
|
235
|
+
data = _props.data,
|
|
236
|
+
colNum = _props.colNum,
|
|
237
|
+
onCancel = _props.onCancel;
|
|
238
|
+
var _state = this.state,
|
|
239
|
+
searchValue = _state.searchValue,
|
|
240
|
+
indeterminate = _state.indeterminate,
|
|
241
|
+
checkAll = _state.checkAll,
|
|
242
|
+
checkedList = _state.checkedList;
|
|
243
|
+
|
|
244
|
+
var reg = new RegExp(searchValue, "ig");
|
|
245
|
+
return _react2.default.createElement(
|
|
246
|
+
_modal2.default,
|
|
247
|
+
{
|
|
248
|
+
wrapClassName: (0, _classnames2.default)(wrapClassName, "addSearchFieldsModal"),
|
|
249
|
+
width: width,
|
|
250
|
+
title: title,
|
|
251
|
+
okText: "\u4FDD\u5B58",
|
|
252
|
+
visible: visible,
|
|
253
|
+
onCancel: this.handleCancel,
|
|
254
|
+
onOk: this.handleOk
|
|
255
|
+
},
|
|
256
|
+
_react2.default.createElement(
|
|
257
|
+
"div",
|
|
258
|
+
{ className: "searchBox" },
|
|
259
|
+
_react2.default.createElement(_input2.default, {
|
|
260
|
+
placeholder: "\u641C\u7D22\u5B57\u6BB5",
|
|
261
|
+
prefix: _react2.default.createElement(_icon2.default, { type: "search", style: { color: "#999" } }),
|
|
262
|
+
onChange: this.handleSearchChange,
|
|
263
|
+
onKeyUp: this.handleKeyUp,
|
|
264
|
+
style: { width: 280 }
|
|
265
|
+
})
|
|
266
|
+
),
|
|
267
|
+
_react2.default.createElement(
|
|
268
|
+
"div",
|
|
269
|
+
{ className: "checkAllBox" },
|
|
270
|
+
_react2.default.createElement(
|
|
271
|
+
_checkbox2.default,
|
|
272
|
+
{
|
|
273
|
+
indeterminate: indeterminate,
|
|
274
|
+
onChange: this.onCheckAllChange,
|
|
275
|
+
checked: checkAll
|
|
276
|
+
},
|
|
277
|
+
_react2.default.createElement(
|
|
278
|
+
"b",
|
|
279
|
+
null,
|
|
280
|
+
"\u5168\u9009"
|
|
281
|
+
)
|
|
282
|
+
),
|
|
283
|
+
_react2.default.createElement(
|
|
284
|
+
"span",
|
|
285
|
+
{ className: "tip" },
|
|
286
|
+
"\u5DF2\u9009\u62E9\uFF1A",
|
|
287
|
+
_react2.default.createElement(
|
|
288
|
+
"span",
|
|
289
|
+
{ className: "num" },
|
|
290
|
+
checkedList.length
|
|
291
|
+
)
|
|
292
|
+
)
|
|
293
|
+
),
|
|
294
|
+
_react2.default.createElement(
|
|
295
|
+
_reactCustomScrollbars.Scrollbars,
|
|
296
|
+
{ style: { height: 300 }, autoHide: true },
|
|
297
|
+
_react2.default.createElement(
|
|
298
|
+
_checkbox2.default.Group,
|
|
299
|
+
{
|
|
300
|
+
style: { width: "100%" },
|
|
301
|
+
value: checkedList,
|
|
302
|
+
onChange: this.onChange
|
|
303
|
+
},
|
|
304
|
+
_react2.default.createElement(
|
|
305
|
+
"table",
|
|
306
|
+
{ id: this.listID },
|
|
307
|
+
_react2.default.createElement(
|
|
308
|
+
"tbody",
|
|
309
|
+
null,
|
|
310
|
+
data.map(function (row, i) {
|
|
311
|
+
if (i % colNum === 0) {
|
|
312
|
+
return _react2.default.createElement(
|
|
313
|
+
"tr",
|
|
314
|
+
{ key: i },
|
|
315
|
+
data.slice(i, i % colNum === 0 ? i + colNum : i % colNum).map(function (item, j) {
|
|
316
|
+
var _label = item.title;
|
|
317
|
+
// 对label做高亮匹配
|
|
318
|
+
if (searchValue) {
|
|
319
|
+
var match = _label && _label.match(reg) || [];
|
|
320
|
+
_label = _label && _label.split(reg).map(function (_it, _idx) {
|
|
321
|
+
return _idx > 0 ? [_react2.default.createElement(
|
|
322
|
+
"span",
|
|
323
|
+
{
|
|
324
|
+
key: _idx,
|
|
325
|
+
className: "textHighLight"
|
|
326
|
+
},
|
|
327
|
+
match[0]
|
|
328
|
+
), _it] : _it;
|
|
329
|
+
});
|
|
330
|
+
}
|
|
331
|
+
return _react2.default.createElement(
|
|
332
|
+
"td",
|
|
333
|
+
{ key: j },
|
|
334
|
+
_react2.default.createElement(
|
|
335
|
+
_checkbox2.default,
|
|
336
|
+
{
|
|
337
|
+
value: item.dataIndex
|
|
338
|
+
},
|
|
339
|
+
_label
|
|
340
|
+
)
|
|
341
|
+
);
|
|
342
|
+
})
|
|
343
|
+
);
|
|
344
|
+
} else {
|
|
345
|
+
return null;
|
|
346
|
+
}
|
|
347
|
+
})
|
|
348
|
+
)
|
|
349
|
+
)
|
|
350
|
+
)
|
|
351
|
+
),
|
|
352
|
+
_react2.default.createElement(
|
|
353
|
+
"style",
|
|
354
|
+
{ jsx: "true", global: "true" },
|
|
355
|
+
"\n .addSearchFieldsModal .searchBox{\n\t\t\t\t\t\t\t\tmargin-bottom: 16px;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t.addSearchFieldsModal .checkAllBox{\n\t\t\t\t\t\t\t\tmargin: 0 0 8px 9px;\n\t\t\t\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t.addSearchFieldsModal .checkAllBox .tip{\n\t\t\t\t\t\t\t\tcolor: #bbb;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t.addSearchFieldsModal .checkAllBox .num{\n\t\t\t\t\t\t\t\tcolor: #fc0;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t.addSearchFieldsModal table{\n\t\t\t\t\t\t\t\twidth: 100%;\n\t\t\t\t\t\t\t\tborder: 1px solid #e8e8e8;\n\t\t\t\t\t\t\t\tborder-right: 0;\n\t\t\t\t\t\t\t\tborder-bottom: 0;\n\t\t\t\t\t\t\t\tborder-radius: 4px 4px 0 0;\n\t\t\t\t\t\t\t\tborder-collapse: separate;\n\t\t\t\t\t\t\t\tborder-spacing: 0;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t.addSearchFieldsModal table td{\n\t\t\t\t\t\t\t\tborder-right: 1px solid #e8e8e8;\n\t\t\t\t\t\t\t\tborder-bottom: 1px solid #e8e8e8;\n\t\t\t\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t.addSearchFieldsModal table td:hover{\n\t\t\t\t\t\t\t\tbackground-color: #eef7fe;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t.addSearchFieldsModal table .ant-checkbox-wrapper{\n\t\t\t\t\t\t\t\twidth: 100%;\n\t\t\t\t\t\t\t\theight: 100%;\n\t\t\t\t\t\t\t\tpadding: 6px 8px;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t.addSearchFieldsModal .textHighLight{\n\t\t\t\t\t\t\t\tbackground-color: #fff5cc;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t.addSearchFieldsModal .textHighLight .active{\n\t\t\t\t\t\t\t\tbackground-color: #ffdc52;\n\t\t\t\t\t\t\t}\n "
|
|
356
|
+
)
|
|
357
|
+
);
|
|
358
|
+
}
|
|
359
|
+
}]);
|
|
360
|
+
return AddFieldsModal;
|
|
361
|
+
}(_react.Component);
|
|
362
|
+
|
|
363
|
+
AddFieldsModal.defaultProps = {
|
|
364
|
+
visible: false,
|
|
365
|
+
width: 900, // 默认模态框宽度900
|
|
366
|
+
title: "添加搜索字段",
|
|
367
|
+
data: [], // 可供添加的字段列表
|
|
368
|
+
colNum: 6 // 默认一行显示6列
|
|
369
|
+
};
|
|
370
|
+
exports.default = AddFieldsModal;
|