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.

Files changed (65) hide show
  1. package/build.js +40 -0
  2. package/lib/core/FontAwesomeContext.js +126 -0
  3. package/lib/core/components/FeAppLogo.js +54 -0
  4. package/lib/core/components/FeAvatar.js +314 -0
  5. package/lib/core/components/FeBadge.js +177 -0
  6. package/lib/core/components/FeBreadcrumb.js +205 -0
  7. package/lib/core/components/FeButton.js +185 -0
  8. package/lib/core/components/FeCheckbox.js +91 -0
  9. package/lib/core/components/FeCogButton.js +204 -0
  10. package/lib/core/components/FeDefaultLink.js +108 -0
  11. package/lib/core/components/FeDropdown.js +677 -0
  12. package/lib/core/components/FeFormGroup.js +245 -0
  13. package/lib/core/components/FeIcon.js +52 -0
  14. package/lib/core/components/FeIconStack.js +26 -0
  15. package/lib/core/components/FeInputField.js +500 -0
  16. package/lib/core/components/FeLabel.js +142 -0
  17. package/lib/core/components/FeListItem.js +719 -0
  18. package/lib/core/components/FeListItemGroup.js +364 -0
  19. package/lib/core/components/FeLoader.js +69 -0
  20. package/lib/core/components/FeNotification.js +351 -0
  21. package/lib/core/components/FePillBox.js +353 -0
  22. package/lib/core/components/FeProgressBar.js +282 -0
  23. package/lib/core/components/FeRadioButton.js +234 -0
  24. package/lib/core/components/FeSearchField.js +322 -0
  25. package/lib/core/components/FeSelfContainedInput.js +215 -0
  26. package/lib/core/components/FeTableCell.js +27 -0
  27. package/lib/core/components/FeTableHeaderCell.js +273 -0
  28. package/lib/core/components/FeTableRow.js +24 -0
  29. package/lib/core/components/FeTextEnrichment.js +78 -0
  30. package/lib/core/components/FeToggle.js +69 -0
  31. package/lib/core/index.js +243 -0
  32. package/lib/core/utils/aria-role.js +11 -0
  33. package/lib/core/utils/fe-filter.js +157 -0
  34. package/lib/core/utils/helper.js +11 -0
  35. package/lib/core/utils/index.js +268 -0
  36. package/lib/customPropTypes.js +51 -0
  37. package/lib/fe-filter/FeFilter.js +1312 -0
  38. package/lib/fe-filter/index.js +17 -0
  39. package/lib/fe-footer/FeFooter.js +81 -0
  40. package/lib/fe-footer/index.js +17 -0
  41. package/lib/fe-hero/FeHero.js +192 -0
  42. package/lib/fe-hero/index.js +17 -0
  43. package/lib/fe-modal/FeModal.js +409 -0
  44. package/lib/fe-modal/index.js +17 -0
  45. package/lib/fe-notifications/FeNotifications.js +235 -0
  46. package/lib/fe-notifications/index.js +17 -0
  47. package/lib/fe-pagination/FePagination.js +688 -0
  48. package/lib/fe-pagination/index.js +17 -0
  49. package/lib/fe-panel/FePanel.js +282 -0
  50. package/lib/fe-panel/index.js +17 -0
  51. package/lib/fe-sidenav/FeSideNav.js +78 -0
  52. package/lib/fe-sidenav/FeSideNavList.js +346 -0
  53. package/lib/fe-sidenav/index.js +17 -0
  54. package/lib/fe-table/FeTable.js +703 -0
  55. package/lib/fe-table/index.js +17 -0
  56. package/lib/fe-topnav/FeTopNav.js +110 -0
  57. package/lib/fe-topnav/FeTopNavList.js +401 -0
  58. package/lib/fe-topnav/index.js +17 -0
  59. package/lib/index.js +129 -0
  60. package/lib/layout/Col.js +187 -0
  61. package/lib/layout/Container.js +97 -0
  62. package/lib/layout/Row.js +99 -0
  63. package/lib/layout/index.js +35 -0
  64. package/package.json +42 -4
  65. 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;