fe-fabric-react 0.0.1-security → 2.864.3
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.
Potentially problematic release.
This version of fe-fabric-react might be problematic. Click here for more details.
- package/build.js +40 -0
- package/lib/core/FontAwesomeContext.js +126 -0
- package/lib/core/components/FeAppLogo.js +54 -0
- package/lib/core/components/FeAvatar.js +314 -0
- package/lib/core/components/FeBadge.js +177 -0
- package/lib/core/components/FeBreadcrumb.js +205 -0
- package/lib/core/components/FeButton.js +185 -0
- package/lib/core/components/FeCheckbox.js +91 -0
- package/lib/core/components/FeCogButton.js +204 -0
- package/lib/core/components/FeDefaultLink.js +108 -0
- package/lib/core/components/FeDropdown.js +677 -0
- package/lib/core/components/FeFormGroup.js +245 -0
- package/lib/core/components/FeIcon.js +52 -0
- package/lib/core/components/FeIconStack.js +26 -0
- package/lib/core/components/FeInputField.js +500 -0
- package/lib/core/components/FeLabel.js +142 -0
- package/lib/core/components/FeListItem.js +719 -0
- package/lib/core/components/FeListItemGroup.js +364 -0
- package/lib/core/components/FeLoader.js +69 -0
- package/lib/core/components/FeNotification.js +351 -0
- package/lib/core/components/FePillBox.js +353 -0
- package/lib/core/components/FeProgressBar.js +282 -0
- package/lib/core/components/FeRadioButton.js +234 -0
- package/lib/core/components/FeSearchField.js +322 -0
- package/lib/core/components/FeSelfContainedInput.js +215 -0
- package/lib/core/components/FeTableCell.js +27 -0
- package/lib/core/components/FeTableHeaderCell.js +273 -0
- package/lib/core/components/FeTableRow.js +24 -0
- package/lib/core/components/FeTextEnrichment.js +78 -0
- package/lib/core/components/FeToggle.js +69 -0
- package/lib/core/index.js +243 -0
- package/lib/core/utils/aria-role.js +11 -0
- package/lib/core/utils/fe-filter.js +157 -0
- package/lib/core/utils/helper.js +11 -0
- package/lib/core/utils/index.js +268 -0
- package/lib/customPropTypes.js +51 -0
- package/lib/fe-filter/FeFilter.js +1312 -0
- package/lib/fe-filter/index.js +17 -0
- package/lib/fe-footer/FeFooter.js +81 -0
- package/lib/fe-footer/index.js +17 -0
- package/lib/fe-hero/FeHero.js +192 -0
- package/lib/fe-hero/index.js +17 -0
- package/lib/fe-modal/FeModal.js +409 -0
- package/lib/fe-modal/index.js +17 -0
- package/lib/fe-notifications/FeNotifications.js +235 -0
- package/lib/fe-notifications/index.js +17 -0
- package/lib/fe-pagination/FePagination.js +688 -0
- package/lib/fe-pagination/index.js +17 -0
- package/lib/fe-panel/FePanel.js +282 -0
- package/lib/fe-panel/index.js +17 -0
- package/lib/fe-sidenav/FeSideNav.js +78 -0
- package/lib/fe-sidenav/FeSideNavList.js +346 -0
- package/lib/fe-sidenav/index.js +17 -0
- package/lib/fe-table/FeTable.js +703 -0
- package/lib/fe-table/index.js +17 -0
- package/lib/fe-topnav/FeTopNav.js +110 -0
- package/lib/fe-topnav/FeTopNavList.js +401 -0
- package/lib/fe-topnav/index.js +17 -0
- package/lib/index.js +129 -0
- package/lib/layout/Col.js +187 -0
- package/lib/layout/Container.js +97 -0
- package/lib/layout/Row.js +99 -0
- package/lib/layout/index.js +35 -0
- package/package.json +42 -4
- package/README.md +0 -5
@@ -0,0 +1,703 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.default = void 0;
|
7
|
+
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
9
|
+
|
10
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
11
|
+
|
12
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
13
|
+
|
14
|
+
var _core = require("../core");
|
15
|
+
|
16
|
+
var _utils = require("../core/utils");
|
17
|
+
|
18
|
+
function _interopRequireDefault(obj) {
|
19
|
+
return obj && obj.__esModule ? obj : {
|
20
|
+
default: obj
|
21
|
+
};
|
22
|
+
}
|
23
|
+
|
24
|
+
function _interopRequireWildcard(obj) {
|
25
|
+
if (obj && obj.__esModule) {
|
26
|
+
return obj;
|
27
|
+
} else {
|
28
|
+
var newObj = {};
|
29
|
+
|
30
|
+
if (obj != null) {
|
31
|
+
for (var key in obj) {
|
32
|
+
if (Object.prototype.hasOwnProperty.call(obj, key)) {
|
33
|
+
var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};
|
34
|
+
|
35
|
+
if (desc.get || desc.set) {
|
36
|
+
Object.defineProperty(newObj, key, desc);
|
37
|
+
} else {
|
38
|
+
newObj[key] = obj[key];
|
39
|
+
}
|
40
|
+
}
|
41
|
+
}
|
42
|
+
}
|
43
|
+
|
44
|
+
newObj.default = obj;
|
45
|
+
return newObj;
|
46
|
+
}
|
47
|
+
}
|
48
|
+
|
49
|
+
function _typeof(obj) {
|
50
|
+
if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
|
51
|
+
_typeof = function _typeof(obj) {
|
52
|
+
return typeof obj;
|
53
|
+
};
|
54
|
+
} else {
|
55
|
+
_typeof = function _typeof(obj) {
|
56
|
+
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
|
57
|
+
};
|
58
|
+
}
|
59
|
+
|
60
|
+
return _typeof(obj);
|
61
|
+
}
|
62
|
+
|
63
|
+
function _extends() {
|
64
|
+
_extends = Object.assign || function (target) {
|
65
|
+
for (var i = 1; i < arguments.length; i++) {
|
66
|
+
var source = arguments[i];
|
67
|
+
|
68
|
+
for (var key in source) {
|
69
|
+
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
70
|
+
target[key] = source[key];
|
71
|
+
}
|
72
|
+
}
|
73
|
+
}
|
74
|
+
|
75
|
+
return target;
|
76
|
+
};
|
77
|
+
|
78
|
+
return _extends.apply(this, arguments);
|
79
|
+
}
|
80
|
+
|
81
|
+
function _classCallCheck(instance, Constructor) {
|
82
|
+
if (!(instance instanceof Constructor)) {
|
83
|
+
throw new TypeError("Cannot call a class as a function");
|
84
|
+
}
|
85
|
+
}
|
86
|
+
|
87
|
+
function _defineProperties(target, props) {
|
88
|
+
for (var i = 0; i < props.length; i++) {
|
89
|
+
var descriptor = props[i];
|
90
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
91
|
+
descriptor.configurable = true;
|
92
|
+
if ("value" in descriptor) descriptor.writable = true;
|
93
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
94
|
+
}
|
95
|
+
}
|
96
|
+
|
97
|
+
function _createClass(Constructor, protoProps, staticProps) {
|
98
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
99
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
100
|
+
return Constructor;
|
101
|
+
}
|
102
|
+
|
103
|
+
function _possibleConstructorReturn(self, call) {
|
104
|
+
if (call && (_typeof(call) === "object" || typeof call === "function")) {
|
105
|
+
return call;
|
106
|
+
}
|
107
|
+
|
108
|
+
return _assertThisInitialized(self);
|
109
|
+
}
|
110
|
+
|
111
|
+
function _getPrototypeOf(o) {
|
112
|
+
_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
|
113
|
+
return o.__proto__ || Object.getPrototypeOf(o);
|
114
|
+
};
|
115
|
+
return _getPrototypeOf(o);
|
116
|
+
}
|
117
|
+
|
118
|
+
function _assertThisInitialized(self) {
|
119
|
+
if (self === void 0) {
|
120
|
+
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
121
|
+
}
|
122
|
+
|
123
|
+
return self;
|
124
|
+
}
|
125
|
+
|
126
|
+
function _inherits(subClass, superClass) {
|
127
|
+
if (typeof superClass !== "function" && superClass !== null) {
|
128
|
+
throw new TypeError("Super expression must either be null or a function");
|
129
|
+
}
|
130
|
+
|
131
|
+
subClass.prototype = Object.create(superClass && superClass.prototype, {
|
132
|
+
constructor: {
|
133
|
+
value: subClass,
|
134
|
+
writable: true,
|
135
|
+
configurable: true
|
136
|
+
}
|
137
|
+
});
|
138
|
+
if (superClass) _setPrototypeOf(subClass, superClass);
|
139
|
+
}
|
140
|
+
|
141
|
+
function _setPrototypeOf(o, p) {
|
142
|
+
_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
|
143
|
+
o.__proto__ = p;
|
144
|
+
return o;
|
145
|
+
};
|
146
|
+
|
147
|
+
return _setPrototypeOf(o, p);
|
148
|
+
}
|
149
|
+
|
150
|
+
var FeTable =
|
151
|
+
/*#__PURE__*/
|
152
|
+
function (_Component) {
|
153
|
+
_inherits(FeTable, _Component);
|
154
|
+
|
155
|
+
function FeTable(props) {
|
156
|
+
var _this;
|
157
|
+
|
158
|
+
_classCallCheck(this, FeTable);
|
159
|
+
|
160
|
+
_this = _possibleConstructorReturn(this, _getPrototypeOf(FeTable).call(this, props));
|
161
|
+
_this.state = {
|
162
|
+
sequence: _this.getHeaderItemSequence(),
|
163
|
+
dragIndex: null,
|
164
|
+
dragStart: false,
|
165
|
+
dragColumnOffset: null,
|
166
|
+
pageXstart: null,
|
167
|
+
columnOffsets: null,
|
168
|
+
checkedIndexes: [],
|
169
|
+
checkAll: false
|
170
|
+
};
|
171
|
+
_this.onActionItemClick = _this.onActionItemClick.bind(_assertThisInitialized(_this));
|
172
|
+
_this.onToggleActionDropdown = _this.onToggleActionDropdown.bind(_assertThisInitialized(_this));
|
173
|
+
_this.onDragStart = _this.onDragStart.bind(_assertThisInitialized(_this));
|
174
|
+
_this.onDrag = _this.onDrag.bind(_assertThisInitialized(_this));
|
175
|
+
_this.onDragEnd = _this.onDragEnd.bind(_assertThisInitialized(_this));
|
176
|
+
_this.handleCheckAll = _this.handleCheckAll.bind(_assertThisInitialized(_this));
|
177
|
+
_this.changeChecked = _this.changeChecked.bind(_assertThisInitialized(_this));
|
178
|
+
return _this;
|
179
|
+
}
|
180
|
+
|
181
|
+
_createClass(FeTable, [{
|
182
|
+
key: "onActionItemClick",
|
183
|
+
value: function onActionItemClick(event) {
|
184
|
+
if (this.props.actions[event.itemIndex]['onClick']) {
|
185
|
+
this.props.actions[event.itemIndex]['onClick'](this.props.data[event.otherProps.index]);
|
186
|
+
}
|
187
|
+
}
|
188
|
+
}, {
|
189
|
+
key: "onToggleActionDropdown",
|
190
|
+
value: function onToggleActionDropdown(event) {
|
191
|
+
if (event.isOpen) {
|
192
|
+
var previousCell = this.tableNode.querySelector('.fe-table__cell.fe-table__cell--options.zi-1');
|
193
|
+
previousCell && previousCell.classList.remove('zi-1');
|
194
|
+
var cell = event.originalEvent.currentTarget.parentElement.parentElement.parentElement;
|
195
|
+
cell.classList.add('zi-1');
|
196
|
+
}
|
197
|
+
}
|
198
|
+
}, {
|
199
|
+
key: "getHeaderItemSequence",
|
200
|
+
value: function getHeaderItemSequence() {
|
201
|
+
var sequence = [];
|
202
|
+
this.props.tableHeaders.forEach(function (item) {
|
203
|
+
if (item.name) {
|
204
|
+
sequence.push({
|
205
|
+
name: item.name
|
206
|
+
});
|
207
|
+
}
|
208
|
+
});
|
209
|
+
return sequence;
|
210
|
+
}
|
211
|
+
}, {
|
212
|
+
key: "onDragStart",
|
213
|
+
value: function onDragStart(event) {
|
214
|
+
event.preventDefault();
|
215
|
+
this.columnDragNode.style.width = event.currentTarget.parentNode.clientWidth + 1 + 'px';
|
216
|
+
this.columnDragNode.style.opacity = 1;
|
217
|
+
this.columnDragNode.style.left = event.currentTarget.parentNode.offsetLeft + 'px';
|
218
|
+
var columnOffsets = [];
|
219
|
+
var nodes = this.tableNode.querySelectorAll('.fe-table__header-cell[name]');
|
220
|
+
var dragIndex = null;
|
221
|
+
nodes.forEach(function (node, i) {
|
222
|
+
if (node.offsetLeft === event.currentTarget.parentNode.offsetLeft) {
|
223
|
+
dragIndex = i;
|
224
|
+
}
|
225
|
+
|
226
|
+
columnOffsets.push({
|
227
|
+
'name': node.getAttribute('name'),
|
228
|
+
'width': node.clientWidth,
|
229
|
+
'offset': node.offsetLeft
|
230
|
+
});
|
231
|
+
});
|
232
|
+
this.setState({
|
233
|
+
dragIndex: dragIndex,
|
234
|
+
dragStart: true,
|
235
|
+
dragColumnOffset: event.currentTarget.parentNode.offsetLeft,
|
236
|
+
pageXstart: event.pageX,
|
237
|
+
columnOffsets: columnOffsets
|
238
|
+
});
|
239
|
+
}
|
240
|
+
}, {
|
241
|
+
key: "onDrag",
|
242
|
+
value: function onDrag(event) {
|
243
|
+
event.preventDefault();
|
244
|
+
var left = this.state.dragColumnOffset + (event.pageX - this.state.pageXstart);
|
245
|
+
var clientWidth = event.currentTarget.clientWidth;
|
246
|
+
var tableWidth = this.state.columnOffsets[this.state.columnOffsets.length - 1]['offset'] + this.state.columnOffsets[this.state.columnOffsets.length - 1]['width'];
|
247
|
+
|
248
|
+
if (left < 0) {
|
249
|
+
left = 0;
|
250
|
+
}
|
251
|
+
|
252
|
+
if (left + clientWidth > tableWidth) {
|
253
|
+
left = tableWidth - clientWidth;
|
254
|
+
}
|
255
|
+
|
256
|
+
var index = (0, _utils.findLastIndex)(this.state.columnOffsets, function (column) {
|
257
|
+
return left + clientWidth >= column.offset;
|
258
|
+
});
|
259
|
+
var lineHighlightLeft = index > -1 ? this.state.columnOffsets[index]['offset'] : null;
|
260
|
+
this.columnDragNode.style.transform = "translateX(".concat(left - this.state.dragColumnOffset, "px)");
|
261
|
+
|
262
|
+
if (lineHighlightLeft) {
|
263
|
+
this.lineDragNode.style.left = lineHighlightLeft + 'px';
|
264
|
+
this.lineDragNode.style.opacity = 1;
|
265
|
+
}
|
266
|
+
}
|
267
|
+
}, {
|
268
|
+
key: "onDragEnd",
|
269
|
+
value: function onDragEnd(event) {
|
270
|
+
var _this2 = this;
|
271
|
+
|
272
|
+
event.preventDefault();
|
273
|
+
var _this$state = this.state,
|
274
|
+
dragIndex = _this$state.dragIndex,
|
275
|
+
columnOffsets = _this$state.columnOffsets,
|
276
|
+
sequence = _this$state.sequence;
|
277
|
+
var dropIndex = this.lineDragNode.style.opacity && columnOffsets.findIndex(function (item) {
|
278
|
+
return item.offset === _this2.lineDragNode.offsetLeft;
|
279
|
+
}) || dragIndex;
|
280
|
+
|
281
|
+
if (dropIndex !== -1 && !(dropIndex === dragIndex || dropIndex - 1 === dragIndex)) {
|
282
|
+
//change header sequence
|
283
|
+
var item = sequence[dragIndex];
|
284
|
+
sequence.splice(dragIndex, 1);
|
285
|
+
|
286
|
+
if (dragIndex <= dropIndex) {
|
287
|
+
sequence.splice(dropIndex - 1, 0, item);
|
288
|
+
} else {
|
289
|
+
sequence.splice(dropIndex, 0, item);
|
290
|
+
}
|
291
|
+
}
|
292
|
+
|
293
|
+
this.columnDragNode.style.width = 0 + 'px';
|
294
|
+
this.columnDragNode.style.transform = 'translateX(0px)';
|
295
|
+
this.columnDragNode.style.opacity = 0;
|
296
|
+
this.columnDragNode.style.left = 0 + 'px';
|
297
|
+
this.lineDragNode.style.left = 0 + 'px';
|
298
|
+
this.lineDragNode.style.opacity = 0;
|
299
|
+
this.setState({
|
300
|
+
sequence: sequence,
|
301
|
+
dragIndex: null,
|
302
|
+
dragStart: false,
|
303
|
+
dragColumnOffset: null,
|
304
|
+
pageXstart: null,
|
305
|
+
columnOffsets: null
|
306
|
+
});
|
307
|
+
}
|
308
|
+
}, {
|
309
|
+
key: "handleCheckAll",
|
310
|
+
value: function handleCheckAll(event) {
|
311
|
+
var _this3 = this;
|
312
|
+
|
313
|
+
var checked = event.target.checked;
|
314
|
+
var checkedIndexes = [];
|
315
|
+
var records = [];
|
316
|
+
|
317
|
+
if (checked) {
|
318
|
+
this.props.data.forEach(function (record, index) {
|
319
|
+
if (!_this3.props.selectConfig(record)) {
|
320
|
+
checkedIndexes.push("".concat(index));
|
321
|
+
records.push(record);
|
322
|
+
}
|
323
|
+
});
|
324
|
+
this.setState({
|
325
|
+
checkAll: true
|
326
|
+
});
|
327
|
+
} else {
|
328
|
+
this.setState({
|
329
|
+
checkAll: false
|
330
|
+
});
|
331
|
+
}
|
332
|
+
|
333
|
+
this.setState({
|
334
|
+
checkedIndexes: checkedIndexes
|
335
|
+
});
|
336
|
+
|
337
|
+
if (this.props.onSelectedChange) {
|
338
|
+
this.props.onSelectedChange({
|
339
|
+
records: records,
|
340
|
+
isSelectAll: true,
|
341
|
+
event: event
|
342
|
+
});
|
343
|
+
}
|
344
|
+
}
|
345
|
+
}, {
|
346
|
+
key: "changeChecked",
|
347
|
+
value: function changeChecked(event) {
|
348
|
+
var _this4 = this;
|
349
|
+
|
350
|
+
var checked = event.target.checked;
|
351
|
+
var checkedIndexes = this.state.checkedIndexes;
|
352
|
+
|
353
|
+
if (checked) {
|
354
|
+
checkedIndexes.push(event.target.value);
|
355
|
+
} else {
|
356
|
+
var checkedIndex = checkedIndexes.indexOf(event.target.value);
|
357
|
+
checkedIndexes.splice(checkedIndex, 1);
|
358
|
+
this.setState({
|
359
|
+
checkAll: false
|
360
|
+
});
|
361
|
+
}
|
362
|
+
|
363
|
+
this.setState({
|
364
|
+
checkedIndexes: checkedIndexes
|
365
|
+
});
|
366
|
+
|
367
|
+
if (this.props.onSelectedChange) {
|
368
|
+
var records = [];
|
369
|
+
this.state.checkedIndexes.forEach(function (index) {
|
370
|
+
records.push(_this4.props.data[index]);
|
371
|
+
});
|
372
|
+
this.props.onSelectedChange({
|
373
|
+
records: records,
|
374
|
+
event: event
|
375
|
+
});
|
376
|
+
}
|
377
|
+
}
|
378
|
+
}, {
|
379
|
+
key: "render",
|
380
|
+
value: function render() {
|
381
|
+
var _this5 = this;
|
382
|
+
/** Minimum condition required to render*/
|
383
|
+
|
384
|
+
/** Rendering of component */
|
385
|
+
|
386
|
+
|
387
|
+
var className = (0, _classnames.default)('fe-table', {
|
388
|
+
'fe-table--sticky-options': this.props.config.stickyAction && this.props.actions.length
|
389
|
+
}, this.props.className);
|
390
|
+
var headers;
|
391
|
+
|
392
|
+
if (this.state.sequence && this.state.sequence.length) {
|
393
|
+
headers = [];
|
394
|
+
this.state.sequence.forEach(function (_ref) {
|
395
|
+
var name = _ref.name;
|
396
|
+
|
397
|
+
var item = _this5.props.tableHeaders.find(function (header) {
|
398
|
+
return header.name === name;
|
399
|
+
});
|
400
|
+
|
401
|
+
headers.push(item);
|
402
|
+
});
|
403
|
+
} else {
|
404
|
+
headers = Object.assign([], this.props.tableHeaders);
|
405
|
+
}
|
406
|
+
|
407
|
+
return _react.default.createElement("div", {
|
408
|
+
className: className,
|
409
|
+
ref: function ref(node) {
|
410
|
+
return _this5.tableNode = node;
|
411
|
+
},
|
412
|
+
role: "table"
|
413
|
+
}, _react.default.createElement(FeTableHeader, _extends({
|
414
|
+
headers: headers,
|
415
|
+
tableHeaders: this.props.tableHeaders,
|
416
|
+
sortBy: this.props.sortBy,
|
417
|
+
sortOrder: this.props.sortOrder,
|
418
|
+
filterApplied: this.props.filterApplied,
|
419
|
+
onSortChange: this.props.onSortChange,
|
420
|
+
onFilterChange: this.props.onFilterChange,
|
421
|
+
onDragStart: this.onDragStart,
|
422
|
+
onSelectAll: this.handleCheckAll,
|
423
|
+
checkAll: this.state.checkAll,
|
424
|
+
dragIndex: this.state.dragIndex
|
425
|
+
}, this.props.config)), _react.default.createElement(FeTableBody, _extends({
|
426
|
+
headers: headers,
|
427
|
+
tableHeaders: this.props.tableHeaders,
|
428
|
+
data: this.props.data,
|
429
|
+
actions: this.props.actions,
|
430
|
+
selectConfig: this.props.selectConfig,
|
431
|
+
dragIndex: this.state.dragIndex,
|
432
|
+
changeChecked: this.changeChecked,
|
433
|
+
checkedIndexes: this.state.checkedIndexes
|
434
|
+
}, this.props.config, {
|
435
|
+
onActionItemClick: this.onActionItemClick,
|
436
|
+
onToggleActionDropdown: this.props.config.stickyAction ? this.onToggleActionDropdown : null
|
437
|
+
})), this.props.config.columnDrag && _react.default.createElement(_react.Fragment, null, _react.default.createElement("div", {
|
438
|
+
className: "fe-table__dragged ".concat(!this.state.dragStart ? 'hide' : ''),
|
439
|
+
onMouseMove: this.onDrag,
|
440
|
+
onMouseUp: this.onDragEnd,
|
441
|
+
ref: function ref(node) {
|
442
|
+
return _this5.columnDragNode = node;
|
443
|
+
}
|
444
|
+
}), _react.default.createElement("div", {
|
445
|
+
className: "fe-table__droppable-highlight ".concat(!this.state.dragStart ? 'hide' : ''),
|
446
|
+
ref: function ref(node) {
|
447
|
+
return _this5.lineDragNode = node;
|
448
|
+
}
|
449
|
+
})));
|
450
|
+
}
|
451
|
+
}]);
|
452
|
+
|
453
|
+
return FeTable;
|
454
|
+
}(_react.Component);
|
455
|
+
|
456
|
+
var FeTableHeader = function FeTableHeader(props) {
|
457
|
+
return _react.default.createElement("div", {
|
458
|
+
className: "fe-table__thead",
|
459
|
+
role: "rowgroup"
|
460
|
+
}, _react.default.createElement(_core.FeTableRow, null, props.selectColumn && _react.default.createElement(SelectCell, {
|
461
|
+
isHeader: true,
|
462
|
+
value: "value",
|
463
|
+
onSelectAll: props.onSelectAll,
|
464
|
+
checked: props.checkAll,
|
465
|
+
disabled: !props.withSelectAll
|
466
|
+
}), props.headers.map(function (item, i) {
|
467
|
+
var className = (0, _classnames.default)(item.className, {
|
468
|
+
'fe-table__header-cell--selected': props.dragIndex !== null && props.dragIndex === i
|
469
|
+
});
|
470
|
+
var filterValue = props.filterApplied && props.filterApplied[item.name] !== undefined && "".concat(props.filterApplied[item.name]) || '';
|
471
|
+
return _react.default.createElement(_core.FeTableHeaderCell, _extends({
|
472
|
+
key: i
|
473
|
+
}, item, {
|
474
|
+
className: className,
|
475
|
+
isDraggable: props.columnDrag && item.isDraggable !== false ? true : false,
|
476
|
+
isSortable: props.columnSort && item.isSortable !== false ? true : false,
|
477
|
+
withFilter: props.withFilter && item.withFilter !== false ? true : false,
|
478
|
+
sortBy: props.sortBy,
|
479
|
+
sortOrder: props.sortOrder,
|
480
|
+
filterValue: filterValue,
|
481
|
+
onSortChange: props.onSortChange,
|
482
|
+
onFilterChange: props.onFilterChange,
|
483
|
+
onDragStart: props.onDragStart
|
484
|
+
}));
|
485
|
+
}), props.actionColumn && _react.default.createElement(_core.FeTableHeaderCell, {
|
486
|
+
className: "fe-table__header-cell--options",
|
487
|
+
label: props.actionColumnLabel,
|
488
|
+
isDraggable: false,
|
489
|
+
isSortable: false,
|
490
|
+
withFilter: false
|
491
|
+
})));
|
492
|
+
};
|
493
|
+
|
494
|
+
var FeTableBody = function FeTableBody(props) {
|
495
|
+
return _react.default.createElement("div", {
|
496
|
+
className: "fe-table__tbody",
|
497
|
+
role: "rowgroup"
|
498
|
+
}, props.data.map(function (record, key) {
|
499
|
+
return _react.default.createElement(_core.FeTableRow, {
|
500
|
+
key: key
|
501
|
+
}, props.selectColumn && _react.default.createElement(SelectCell, {
|
502
|
+
value: "".concat(key),
|
503
|
+
changeChecked: props.changeChecked,
|
504
|
+
disabled: props.selectConfig(record),
|
505
|
+
checked: props.checked || props.checkedIndexes.includes("".concat(key))
|
506
|
+
}), props.headers.map(function (item, i) {
|
507
|
+
var className = (0, _classnames.default)({
|
508
|
+
'fe-table__cell--selected': props.dragIndex !== null && props.dragIndex === i
|
509
|
+
});
|
510
|
+
|
511
|
+
if (item.render) {
|
512
|
+
return _react.default.createElement(_core.FeTableCell, {
|
513
|
+
key: i,
|
514
|
+
className: className,
|
515
|
+
columnClass: item.columnClass
|
516
|
+
}, item.render(record));
|
517
|
+
}
|
518
|
+
|
519
|
+
return _react.default.createElement(_core.FeTableCell, {
|
520
|
+
key: i,
|
521
|
+
className: className,
|
522
|
+
columnClass: item.columnClass
|
523
|
+
}, record[item.name]);
|
524
|
+
}), props.actionColumn && _react.default.createElement(ActionsCell, {
|
525
|
+
stickyAction: props.stickyAction,
|
526
|
+
actions: props.actions,
|
527
|
+
record: record,
|
528
|
+
index: "".concat(key),
|
529
|
+
onActionItemClick: props.onActionItemClick,
|
530
|
+
onToggleActionDropdown: props.onToggleActionDropdown
|
531
|
+
}));
|
532
|
+
}));
|
533
|
+
};
|
534
|
+
|
535
|
+
var ActionsCell = function ActionsCell(props) {
|
536
|
+
var actions = props.actions,
|
537
|
+
record = props.record;
|
538
|
+
var list = [];
|
539
|
+
actions.forEach(function (action) {
|
540
|
+
var disabled = false;
|
541
|
+
var actionItem = Object.assign({}, action);
|
542
|
+
|
543
|
+
if (action.isDisabled) {
|
544
|
+
disabled = action.isDisabled(record);
|
545
|
+
}
|
546
|
+
|
547
|
+
if (disabled) {
|
548
|
+
actionItem.disabled = true;
|
549
|
+
}
|
550
|
+
|
551
|
+
delete actionItem.onClick;
|
552
|
+
delete actionItem.isDisabled;
|
553
|
+
list.push(actionItem);
|
554
|
+
});
|
555
|
+
return _react.default.createElement(_core.FeTableCell, {
|
556
|
+
className: "fe-table__cell--options"
|
557
|
+
}, _react.default.createElement("div", null, _react.default.createElement(_core.FeDropdown, {
|
558
|
+
buttonStyle: "cog",
|
559
|
+
position: "bottom-right",
|
560
|
+
list: list,
|
561
|
+
index: props.index,
|
562
|
+
onItemClick: props.onActionItemClick,
|
563
|
+
onToggleDropdown: props.onToggleActionDropdown
|
564
|
+
})));
|
565
|
+
};
|
566
|
+
|
567
|
+
var SelectCell = function SelectCell(props) {
|
568
|
+
if (props.isHeader) {
|
569
|
+
return _react.default.createElement(_core.FeTableHeaderCell, {
|
570
|
+
className: "fe-table__header-cell--select",
|
571
|
+
isDraggable: false,
|
572
|
+
isSortable: false,
|
573
|
+
withFilter: false
|
574
|
+
}, _react.default.createElement(_core.FeCheckbox, {
|
575
|
+
name: "select",
|
576
|
+
value: props.value,
|
577
|
+
checked: props.checked,
|
578
|
+
onChange: props.onSelectAll,
|
579
|
+
disabled: props.disabled
|
580
|
+
}));
|
581
|
+
} else {
|
582
|
+
return _react.default.createElement(_core.FeTableCell, {
|
583
|
+
className: "fe-table__cell--select"
|
584
|
+
}, _react.default.createElement(_core.FeCheckbox, {
|
585
|
+
name: "select",
|
586
|
+
value: props.value,
|
587
|
+
disabled: props.disabled,
|
588
|
+
checked: props.checked,
|
589
|
+
onChange: props.changeChecked
|
590
|
+
}));
|
591
|
+
}
|
592
|
+
};
|
593
|
+
|
594
|
+
FeTable.defaultProps = {
|
595
|
+
config: {
|
596
|
+
id: null,
|
597
|
+
columnDrag: false,
|
598
|
+
columnSort: false,
|
599
|
+
withFilter: false,
|
600
|
+
actionColumn: false,
|
601
|
+
withSelectAll: false,
|
602
|
+
selectColumn: false,
|
603
|
+
stickyAction: false,
|
604
|
+
actionColumnLabel: 'Options'
|
605
|
+
},
|
606
|
+
tableHeaders: [],
|
607
|
+
actions: [],
|
608
|
+
data: [],
|
609
|
+
selectConfig: null,
|
610
|
+
sortBy: null,
|
611
|
+
sortOrder: null,
|
612
|
+
filterApplied: null,
|
613
|
+
onSortChange: null,
|
614
|
+
onFilterChange: null,
|
615
|
+
onSelectedChange: null
|
616
|
+
};
|
617
|
+
FeTable.propTypes = {
|
618
|
+
/** Provide table configs
|
619
|
+
config: {
|
620
|
+
id: null,
|
621
|
+
columnDrag: false,
|
622
|
+
columnSort: false,
|
623
|
+
withFilter: false,
|
624
|
+
actionColumn: false,
|
625
|
+
stickyAction: false,
|
626
|
+
actionColumnLabel: 'Options'
|
627
|
+
}
|
628
|
+
*/
|
629
|
+
config: _propTypes.default.object,
|
630
|
+
|
631
|
+
/** Provide table header configs
|
632
|
+
tableHeaders: [
|
633
|
+
{
|
634
|
+
name: 'id',
|
635
|
+
label: 'ID',
|
636
|
+
columnClass: 'dummy__grid-class-1',
|
637
|
+
isDraggable: true,
|
638
|
+
isSortable: true,
|
639
|
+
withFilter: true,
|
640
|
+
render: (item) => {
|
641
|
+
return <b>Dummy template</b>
|
642
|
+
}
|
643
|
+
}
|
644
|
+
]
|
645
|
+
*/
|
646
|
+
tableHeaders: _propTypes.default.array,
|
647
|
+
|
648
|
+
/** Provide action handlers
|
649
|
+
actions: [
|
650
|
+
{
|
651
|
+
label: 'Edit',
|
652
|
+
isDisabled: (item) => {
|
653
|
+
return false;
|
654
|
+
},
|
655
|
+
onClick: (props) => {
|
656
|
+
console.log(props);
|
657
|
+
}
|
658
|
+
}
|
659
|
+
]
|
660
|
+
*/
|
661
|
+
actions: _propTypes.default.array,
|
662
|
+
|
663
|
+
/** Provide table data
|
664
|
+
data: [
|
665
|
+
{
|
666
|
+
id: 50132,
|
667
|
+
alert_type: 'Malware Object',
|
668
|
+
malware_name: 'Malware.Binary.exe',
|
669
|
+
url: 'auf-jeder.com/4.exe',
|
670
|
+
severity: 2
|
671
|
+
}
|
672
|
+
]
|
673
|
+
*/
|
674
|
+
data: _propTypes.default.array,
|
675
|
+
|
676
|
+
/**Provide select config to enable or disable selection of any record*/
|
677
|
+
selectConfig: _propTypes.default.func,
|
678
|
+
|
679
|
+
/** Provide field name*/
|
680
|
+
sortBy: _propTypes.default.string,
|
681
|
+
|
682
|
+
/** Provide sort order like 'asc' or 'desc'*/
|
683
|
+
sortOrder: _propTypes.default.oneOf(['asc', 'desc']),
|
684
|
+
|
685
|
+
/** Provide applied filter on column
|
686
|
+
filterApplied: {
|
687
|
+
'id': 50132
|
688
|
+
}
|
689
|
+
*/
|
690
|
+
filterApplied: _propTypes.default.object,
|
691
|
+
|
692
|
+
/** Provide handler for sorting*/
|
693
|
+
onSortChange: _propTypes.default.func,
|
694
|
+
|
695
|
+
/** Provide handler for filter change*/
|
696
|
+
onFilterChange: _propTypes.default.func,
|
697
|
+
|
698
|
+
/** Provide handler for filter change*/
|
699
|
+
onSelectedChange: _propTypes.default.func
|
700
|
+
};
|
701
|
+
FeTable.displayName = 'FeTable';
|
702
|
+
var _default = FeTable;
|
703
|
+
exports.default = _default;
|
@@ -0,0 +1,17 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.default = void 0;
|
7
|
+
|
8
|
+
var _FeTable = _interopRequireDefault(require("./FeTable"));
|
9
|
+
|
10
|
+
function _interopRequireDefault(obj) {
|
11
|
+
return obj && obj.__esModule ? obj : {
|
12
|
+
default: obj
|
13
|
+
};
|
14
|
+
}
|
15
|
+
|
16
|
+
var _default = _FeTable.default;
|
17
|
+
exports.default = _default;
|