@hipay/hipay-material-ui 1.0.0-beta.23 → 1.0.0-beta.25

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.
Files changed (77) hide show
  1. package/HI-CHANGELOG.md +26 -43
  2. package/HiChip/HiChip.js +61 -8
  3. package/HiDatePicker/HiDateRangePicker.js +27 -13
  4. package/HiDatePicker/HiDateRangeSelector.js +13 -2
  5. package/HiForm/HiInput.js +1 -0
  6. package/HiForm/HiPasswordField.js +2 -2
  7. package/HiPins/HiPins.js +6 -4
  8. package/HiSelect/HiSelect.js +7 -5
  9. package/HiSelect/SelectInput.js +3 -8
  10. package/HiSelectableList/HiSelectableList.js +51 -49
  11. package/HiSelectableList/HiSelectableListItem.js +4 -2
  12. package/HiTable/BodyCellBuilder.js +22 -12
  13. package/HiTable/BodyCells/CellAccount.js +12 -3
  14. package/HiTable/BodyCells/CellAccountNumber.js +12 -3
  15. package/HiTable/BodyCells/CellAddress.js +12 -3
  16. package/HiTable/BodyCells/CellCountry.js +12 -3
  17. package/HiTable/BodyCells/CellDate.js +43 -42
  18. package/HiTable/BodyCells/CellIcon.js +12 -3
  19. package/HiTable/BodyCells/CellImage.js +12 -3
  20. package/HiTable/BodyCells/CellNumeric.js +12 -3
  21. package/HiTable/BodyCells/CellRate.js +12 -3
  22. package/HiTable/BodyCells/CellSentinel.js +17 -7
  23. package/HiTable/BodyCells/CellStatus.js +12 -3
  24. package/HiTable/BodyCells/CellText.js +17 -7
  25. package/HiTable/BodyCells/CellThirdPartySecurity.js +12 -3
  26. package/HiTable/BodyRow.js +12 -3
  27. package/HiTable/ColumnFilter.js +1 -4
  28. package/HiTable/HeaderCell.js +21 -11
  29. package/HiTable/HiStickyRow.js +24 -13
  30. package/HiTable/HiTable.js +30 -69
  31. package/HiTable/HiTableBody.js +99 -29
  32. package/HiTable/HiTableContextMenu.js +31 -16
  33. package/HiTable/HiTableFooter.js +9 -0
  34. package/HiTable/HiTableHead.js +15 -7
  35. package/HiTopBar/HiTopBar.js +6 -0
  36. package/README.md +71 -6
  37. package/es/HiChip/HiChip.js +74 -8
  38. package/es/HiDatePicker/HiDateRangePicker.js +25 -12
  39. package/es/HiDatePicker/HiDateRangeSelector.js +12 -2
  40. package/es/HiForm/HiInput.js +1 -0
  41. package/es/HiForm/HiPasswordField.js +2 -2
  42. package/es/HiPins/HiPins.js +4 -4
  43. package/es/HiSelect/HiSelect.js +6 -5
  44. package/es/HiSelect/SelectInput.js +3 -8
  45. package/es/HiSelectableList/HiSelectableList.js +51 -49
  46. package/es/HiSelectableList/HiSelectableListItem.js +4 -2
  47. package/es/HiTable/BodyCellBuilder.js +8 -2
  48. package/es/HiTable/BodyCells/CellAccount.js +6 -1
  49. package/es/HiTable/BodyCells/CellAccountNumber.js +6 -1
  50. package/es/HiTable/BodyCells/CellAddress.js +6 -1
  51. package/es/HiTable/BodyCells/CellCountry.js +6 -1
  52. package/es/HiTable/BodyCells/CellDate.js +28 -37
  53. package/es/HiTable/BodyCells/CellIcon.js +6 -1
  54. package/es/HiTable/BodyCells/CellImage.js +6 -1
  55. package/es/HiTable/BodyCells/CellNumeric.js +6 -1
  56. package/es/HiTable/BodyCells/CellRate.js +6 -1
  57. package/es/HiTable/BodyCells/CellSentinel.js +6 -1
  58. package/es/HiTable/BodyCells/CellStatus.js +6 -1
  59. package/es/HiTable/BodyCells/CellText.js +6 -1
  60. package/es/HiTable/BodyCells/CellThirdPartySecurity.js +6 -1
  61. package/es/HiTable/BodyRow.js +7 -2
  62. package/es/HiTable/ColumnFilter.js +1 -4
  63. package/es/HiTable/HeaderCell.js +16 -9
  64. package/es/HiTable/HiStickyRow.js +20 -13
  65. package/es/HiTable/HiTable.js +4 -40
  66. package/es/HiTable/HiTableBody.js +78 -26
  67. package/es/HiTable/HiTableContextMenu.js +28 -16
  68. package/es/HiTable/HiTableFooter.js +5 -0
  69. package/es/HiTable/HiTableHead.js +11 -6
  70. package/es/HiTopBar/HiTopBar.js +5 -0
  71. package/es/utils/HiIconBuilder.js +6 -2
  72. package/index.es.js +1 -1
  73. package/index.js +1 -1
  74. package/package.json +6 -1
  75. package/umd/hipay-material-ui.development.js +80901 -47149
  76. package/umd/hipay-material-ui.production.min.js +5 -5
  77. package/utils/HiIconBuilder.js +6 -2
@@ -13,18 +13,22 @@ var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
13
13
 
14
14
  var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
15
15
 
16
- var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
16
+ var _stringify = require('babel-runtime/core-js/json/stringify');
17
17
 
18
- var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
18
+ var _stringify2 = _interopRequireDefault(_stringify);
19
19
 
20
- var _createClass2 = require('babel-runtime/helpers/createClass');
20
+ var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
21
21
 
22
- var _createClass3 = _interopRequireDefault(_createClass2);
22
+ var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
23
23
 
24
24
  var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
25
25
 
26
26
  var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
27
27
 
28
+ var _createClass2 = require('babel-runtime/helpers/createClass');
29
+
30
+ var _createClass3 = _interopRequireDefault(_createClass2);
31
+
28
32
  var _inherits2 = require('babel-runtime/helpers/inherits');
29
33
 
30
34
  var _inherits3 = _interopRequireDefault(_inherits2);
@@ -77,8 +81,14 @@ var styles = exports.styles = function styles(theme) {
77
81
  };
78
82
  };
79
83
 
80
- var CellText = function (_React$PureComponent) {
81
- (0, _inherits3.default)(CellText, _React$PureComponent);
84
+ var CellText = function (_React$Component) {
85
+ (0, _inherits3.default)(CellText, _React$Component);
86
+ (0, _createClass3.default)(CellText, [{
87
+ key: 'shouldComponentUpdate',
88
+ value: function shouldComponentUpdate(nextProps, nextState) {
89
+ return (0, _stringify2.default)(this.props) !== (0, _stringify2.default)(nextProps) || (0, _stringify2.default)(this.state) !== (0, _stringify2.default)(nextState);
90
+ }
91
+ }]);
82
92
 
83
93
  function CellText(props) {
84
94
  (0, _classCallCheck3.default)(this, CellText);
@@ -249,7 +259,7 @@ var CellText = function (_React$PureComponent) {
249
259
  }
250
260
  }]);
251
261
  return CellText;
252
- }(_react2.default.PureComponent);
262
+ }(_react2.default.Component);
253
263
 
254
264
  CellText.propTypes = process.env.NODE_ENV !== "production" ? {
255
265
  /**
@@ -5,6 +5,10 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.styles = undefined;
7
7
 
8
+ var _stringify = require('babel-runtime/core-js/json/stringify');
9
+
10
+ var _stringify2 = _interopRequireDefault(_stringify);
11
+
8
12
  var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
9
13
 
10
14
  var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
@@ -58,8 +62,8 @@ var styles = exports.styles = {
58
62
  */
59
63
  // @inheritedComponent CellLayout
60
64
 
61
- var CellThirdPartySecurity = function (_React$PureComponent) {
62
- (0, _inherits3.default)(CellThirdPartySecurity, _React$PureComponent);
65
+ var CellThirdPartySecurity = function (_React$Component) {
66
+ (0, _inherits3.default)(CellThirdPartySecurity, _React$Component);
63
67
 
64
68
  function CellThirdPartySecurity() {
65
69
  (0, _classCallCheck3.default)(this, CellThirdPartySecurity);
@@ -67,6 +71,11 @@ var CellThirdPartySecurity = function (_React$PureComponent) {
67
71
  }
68
72
 
69
73
  (0, _createClass3.default)(CellThirdPartySecurity, [{
74
+ key: 'shouldComponentUpdate',
75
+ value: function shouldComponentUpdate(nextProps, nextState) {
76
+ return (0, _stringify2.default)(this.props) !== (0, _stringify2.default)(nextProps) || (0, _stringify2.default)(this.state) !== (0, _stringify2.default)(nextState);
77
+ }
78
+ }, {
70
79
  key: 'render',
71
80
  value: function render() {
72
81
  var _props = this.props,
@@ -133,7 +142,7 @@ var CellThirdPartySecurity = function (_React$PureComponent) {
133
142
  }
134
143
  }]);
135
144
  return CellThirdPartySecurity;
136
- }(_react2.default.PureComponent);
145
+ }(_react2.default.Component);
137
146
 
138
147
  CellThirdPartySecurity.propTypes = process.env.NODE_ENV !== "production" ? {
139
148
  /**
@@ -17,6 +17,10 @@ var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProp
17
17
 
18
18
  var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
19
19
 
20
+ var _stringify = require('babel-runtime/core-js/json/stringify');
21
+
22
+ var _stringify2 = _interopRequireDefault(_stringify);
23
+
20
24
  var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
21
25
 
22
26
  var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
@@ -104,8 +108,8 @@ var styles = exports.styles = function styles(theme) {
104
108
  };
105
109
  };
106
110
 
107
- var BodyRow = function (_React$PureComponent) {
108
- (0, _inherits3.default)(BodyRow, _React$PureComponent);
111
+ var BodyRow = function (_React$Component) {
112
+ (0, _inherits3.default)(BodyRow, _React$Component);
109
113
 
110
114
  function BodyRow(props) {
111
115
  (0, _classCallCheck3.default)(this, BodyRow);
@@ -133,6 +137,11 @@ var BodyRow = function (_React$PureComponent) {
133
137
  }
134
138
 
135
139
  (0, _createClass3.default)(BodyRow, [{
140
+ key: 'shouldComponentUpdate',
141
+ value: function shouldComponentUpdate(nextProps, nextState) {
142
+ return (0, _stringify2.default)(this.props) !== (0, _stringify2.default)(nextProps) || (0, _stringify2.default)(this.state) !== (0, _stringify2.default)(nextState);
143
+ }
144
+ }, {
136
145
  key: 'componentDidMount',
137
146
  value: function componentDidMount() {
138
147
  // Live data animation
@@ -337,7 +346,7 @@ var BodyRow = function (_React$PureComponent) {
337
346
  }
338
347
  }]);
339
348
  return BodyRow;
340
- }(_react2.default.PureComponent);
349
+ }(_react2.default.Component);
341
350
 
342
351
  BodyRow.defaultProps = {
343
352
  selectable: false,
@@ -95,9 +95,6 @@ var styles = exports.styles = function styles(theme) {
95
95
  padding: 10,
96
96
  color: theme.palette.neutral.normal
97
97
  },
98
- menuItemSortable: {
99
- paddingLeft: 8
100
- },
101
98
  menuItemFilter: (0, _extends3.default)({}, theme.typography.body1, {
102
99
  color: theme.palette.neutral.dark,
103
100
  fontWeight: theme.typography.fontWeightMedium,
@@ -299,7 +296,7 @@ var ColumnFilter = function (_React$Component) {
299
296
  ),
300
297
  !!sortable && _react2.default.createElement(
301
298
  'div',
302
- { className: classes.menuItemSortable },
299
+ null,
303
300
  _react2.default.createElement(
304
301
  _MenuItem2.default,
305
302
  {
@@ -9,6 +9,10 @@ var _defineProperty2 = require('babel-runtime/helpers/defineProperty');
9
9
 
10
10
  var _defineProperty3 = _interopRequireDefault(_defineProperty2);
11
11
 
12
+ var _stringify = require('babel-runtime/core-js/json/stringify');
13
+
14
+ var _stringify2 = _interopRequireDefault(_stringify);
15
+
12
16
  var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
13
17
 
14
18
  var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
@@ -150,21 +154,22 @@ var styles = exports.styles = function styles(theme) {
150
154
  * Construit une cellule d'entête avec le titre, clickable, triable et filtrable
151
155
  */
152
156
 
153
- var HeaderCell = function (_React$PureComponent) {
154
- (0, _inherits3.default)(HeaderCell, _React$PureComponent);
157
+ var HeaderCell = function (_React$Component) {
158
+ (0, _inherits3.default)(HeaderCell, _React$Component);
155
159
 
156
160
  function HeaderCell(props) {
157
161
  (0, _classCallCheck3.default)(this, HeaderCell);
158
162
 
159
163
  var _this = (0, _possibleConstructorReturn3.default)(this, (HeaderCell.__proto__ || (0, _getPrototypeOf2.default)(HeaderCell)).call(this, props));
160
164
 
165
+ _this.anchorEl = null;
166
+
161
167
  _this.onFilterClick = function (event, columnDataset) {
162
168
  _this.openFilterMenu(event, columnDataset);
163
169
  };
164
170
 
165
171
  _this.state = {
166
172
  filterOpen: false,
167
- anchorEl: null,
168
173
  menuFilters: []
169
174
  };
170
175
 
@@ -177,18 +182,24 @@ var HeaderCell = function (_React$PureComponent) {
177
182
  }
178
183
 
179
184
  (0, _createClass3.default)(HeaderCell, [{
185
+ key: 'shouldComponentUpdate',
186
+ value: function shouldComponentUpdate(nextProps, nextState) {
187
+ return (0, _stringify2.default)(nextProps) !== (0, _stringify2.default)(this.props) || (0, _stringify2.default)(nextState) !== (0, _stringify2.default)(this.state);
188
+ }
189
+ }, {
180
190
  key: 'openFilterMenu',
181
191
  value: function openFilterMenu(event, columnDataset) {
182
192
  this.setState({
183
193
  filterOpen: true,
184
- anchorEl: event.currentTarget,
185
194
  menuFilters: columnDataset
186
195
  });
196
+ this.anchorEl = event.currentTarget;
187
197
  }
188
198
  }, {
189
199
  key: 'handleClose',
190
200
  value: function handleClose() {
191
- this.setState({ filterOpen: false, anchorEl: null, menuFilters: [] });
201
+ this.setState({ filterOpen: false, menuFilters: [] });
202
+ this.anchorEl = null;
192
203
  }
193
204
 
194
205
  /**
@@ -236,7 +247,6 @@ var HeaderCell = function (_React$PureComponent) {
236
247
  translations = _props.translations;
237
248
  var _state = this.state,
238
249
  filterOpen = _state.filterOpen,
239
- anchorEl = _state.anchorEl,
240
250
  menuFilters = _state.menuFilters;
241
251
 
242
252
 
@@ -318,7 +328,6 @@ var HeaderCell = function (_React$PureComponent) {
318
328
  _filterable ? _this2.onFilterClick(event, filterSource) : _this2.handleSort(sortDirection === 'asc' ? 'desc' : 'asc');
319
329
  }
320
330
  },
321
- align === 'right' && _icons,
322
331
  _react2.default.createElement(
323
332
  'span',
324
333
  {
@@ -326,7 +335,7 @@ var HeaderCell = function (_React$PureComponent) {
326
335
  },
327
336
  view !== 's' ? title : smallTitle || title
328
337
  ),
329
- align !== 'right' && _icons
338
+ _icons
330
339
  ) : _react2.default.createElement(
331
340
  'div',
332
341
  {
@@ -353,7 +362,7 @@ var HeaderCell = function (_React$PureComponent) {
353
362
  filterValueList: menuFilters,
354
363
  isOpen: filterOpen,
355
364
  onClose: this.handleClose,
356
- anchorEl: anchorEl,
365
+ anchorEl: this.anchorEl,
357
366
  sortable: sortable,
358
367
  onSort: this.handleSort,
359
368
  onFilterChange: this.handleFilterChange,
@@ -363,7 +372,7 @@ var HeaderCell = function (_React$PureComponent) {
363
372
  }
364
373
  }]);
365
374
  return HeaderCell;
366
- }(_react2.default.PureComponent);
375
+ }(_react2.default.Component);
367
376
 
368
377
  HeaderCell.defaultProps = {
369
378
  selectable: false,
@@ -375,7 +384,8 @@ HeaderCell.defaultProps = {
375
384
  dense: false,
376
385
  fixedColumnWidth: true,
377
386
  sticky: true,
378
- padding: 8
387
+ padding: 8,
388
+ translations: {}
379
389
  };
380
390
  HeaderCell.propTypes = process.env.NODE_ENV !== "production" ? {
381
391
  /**
@@ -9,6 +9,10 @@ var _defineProperty2 = require('babel-runtime/helpers/defineProperty');
9
9
 
10
10
  var _defineProperty3 = _interopRequireDefault(_defineProperty2);
11
11
 
12
+ var _stringify = require('babel-runtime/core-js/json/stringify');
13
+
14
+ var _stringify2 = _interopRequireDefault(_stringify);
15
+
12
16
  var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
13
17
 
14
18
  var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
@@ -138,6 +142,11 @@ var HiStickyRow = function (_React$PureComponent) {
138
142
  }
139
143
 
140
144
  (0, _createClass3.default)(HiStickyRow, [{
145
+ key: 'shouldComponentUpdate',
146
+ value: function shouldComponentUpdate(nextProps, nextState) {
147
+ return (0, _stringify2.default)(this.props) !== (0, _stringify2.default)(nextProps) || (0, _stringify2.default)(this.state) !== (0, _stringify2.default)(nextState);
148
+ }
149
+ }, {
141
150
  key: 'render',
142
151
  value: function render() {
143
152
  var _this2 = this;
@@ -189,18 +198,24 @@ var HiStickyRow = function (_React$PureComponent) {
189
198
  className: 'stickyRowContent',
190
199
  style: {
191
200
  position: 'relative',
192
- top: dense ? 3 : 2
201
+ top: dense ? 3 : 2,
202
+ display: 'flex',
203
+ alignItems: 'center'
193
204
  }
194
205
  },
195
206
  _react2.default.createElement(
196
- 'span',
197
- { id: 'sticky-label', className: classes.label },
198
- label
199
- ),
200
- _react2.default.createElement(
201
- 'span',
202
- { id: 'sticky-badge', style: { position: 'relative' } },
203
- _react2.default.createElement(_HiChip2.default, { label: length, classes: { root: classes.badgeRoot } })
207
+ 'div',
208
+ null,
209
+ _react2.default.createElement(
210
+ 'span',
211
+ { id: 'sticky-label', className: classes.label },
212
+ label
213
+ ),
214
+ _react2.default.createElement(
215
+ 'span',
216
+ { id: 'sticky-badge', style: { position: 'relative' } },
217
+ _react2.default.createElement(_HiChip2.default, { label: length, classes: { root: classes.badgeRoot } })
218
+ )
204
219
  ),
205
220
  _react2.default.createElement(
206
221
  _Button2.default,
@@ -287,10 +302,6 @@ HiStickyRow.propTypes = process.env.NODE_ENV !== "production" ? {
287
302
  * Objet contenant les éléments textuels du composant
288
303
  */
289
304
  translations: _propTypes2.default.object.isRequired,
290
- /**
291
- * Valeur de la ligne
292
- */
293
- value: _propTypes2.default.string,
294
305
  /**
295
306
  * Taille du tableau (L/M/S),
296
307
  * définit l'espace entre les cellules et leurs tailles par default
@@ -221,27 +221,9 @@ var HiTable = function (_React$Component) {
221
221
 
222
222
  _this.state = {
223
223
  dateUpdate: Date.now(),
224
- isScrollToBottom: false,
225
- groupByIds: {}
224
+ isScrollToBottom: false
226
225
  };
227
226
 
228
- // create associative array (object) with sticky row key & its values
229
- // => used for sticky row badges
230
- if (props.groupBy) {
231
- props.dataSource.map(function (row) {
232
- var value = row.datas[props.groupBy].value;
233
- var date = new Date(value);
234
-
235
- if (date instanceof Date && isFinite(date)) {
236
- value = value.substr(0, 10);
237
- }
238
- if (!_this.state.groupByIds.hasOwnProperty(value)) {
239
- _this.state.groupByIds[value] = [];
240
- }
241
- _this.state.groupByIds[value].push(row.datas);
242
- });
243
- }
244
-
245
227
  // Orderable
246
228
  _this.openOrderColumnsMenu = _this.openOrderColumnsMenu.bind(_this);
247
229
  _this.closeOrderColumnsMenu = _this.closeOrderColumnsMenu.bind(_this);
@@ -313,8 +295,6 @@ var HiTable = function (_React$Component) {
313
295
  }, {
314
296
  key: 'componentDidUpdate',
315
297
  value: function componentDidUpdate(prevProps, prevState, prevContext) {
316
- var _this2 = this;
317
-
318
298
  this.wrapperScrollOffset = this.wrapperDiv.scrollWidth - this.wrapperDiv.offsetWidth;
319
299
 
320
300
  // If orderedColumns has change, possibly the sticky cells has changed too
@@ -342,28 +322,10 @@ var HiTable = function (_React$Component) {
342
322
  // Only if needed
343
323
  if (this.props.dataSource.length > prevProps.dataSource.length || this.props.dense !== prevProps.dense || this.props.sortedColumnId !== prevProps.sortedColumnId || this.props.sortDirection !== prevProps.sortDirection) {
344
324
  this.updateStickyRowsPosition();
345
- if (this.props.dataSource.length > prevProps.dataSource.length) {
325
+ if (this.props.dataSource.length !== prevProps.dataSource.length) {
346
326
  this.handleStickyRowPositions();
347
327
  }
348
328
  }
349
- if (this.props.dataSource.length > prevProps.dataSource.length && this.props.groupBy) {
350
- // create associative array (object) with sticky row key & its values
351
- // => used for sticky row badges
352
- var groupByIds = {};
353
- this.props.dataSource.map(function (row) {
354
- var value = row.datas[_this2.props.groupBy].value;
355
- var date = new Date(value);
356
-
357
- if (date instanceof Date && isFinite(date)) {
358
- value = value.substr(0, 10);
359
- }
360
- if (!groupByIds.hasOwnProperty(value)) {
361
- groupByIds[value] = [];
362
- }
363
- groupByIds[value].push(row.datas);
364
- });
365
- this.setState({ groupByIds: groupByIds });
366
- }
367
329
 
368
330
  this.isScrollToBottom(this.scrollTop === this.tBody.scrollHeight - this.tBody.offsetHeight);
369
331
 
@@ -375,7 +337,7 @@ var HiTable = function (_React$Component) {
375
337
  }, {
376
338
  key: 'updateStickyRowsPosition',
377
339
  value: function updateStickyRowsPosition() {
378
- var _this3 = this;
340
+ var _this2 = this;
379
341
 
380
342
  var rowHeight = this.props.dense ? cst.CELL_HEIGHT_DENSE : cst.CELL_HEIGHT;
381
343
  this.groupByRowsPositions = [];
@@ -384,7 +346,7 @@ var HiTable = function (_React$Component) {
384
346
  var stickyRows = tableBody.getElementsByClassName('stickyGroupBy');
385
347
  if (stickyRows.length > 0) {
386
348
  Array.prototype.filter.call(stickyRows, function (stickyRow) {
387
- _this3.groupByRowsPositions.push(stickyRow.nextSibling.nextSibling.offsetTop - rowHeight);
349
+ _this2.groupByRowsPositions.push(stickyRow.nextSibling.nextSibling.offsetTop - rowHeight);
388
350
  });
389
351
  }
390
352
  }
@@ -509,7 +471,7 @@ var HiTable = function (_React$Component) {
509
471
  }, {
510
472
  key: 'handleStickyRowPositions',
511
473
  value: function handleStickyRowPositions() {
512
- var _this4 = this;
474
+ var _this3 = this;
513
475
 
514
476
  var tableBody = document.getElementById(this.props.tabId + '-body');
515
477
  var stickyRows = tableBody.getElementsByClassName('stickyGroupBy');
@@ -517,14 +479,14 @@ var HiTable = function (_React$Component) {
517
479
  if (stickyRows.length > 0) {
518
480
  Array.prototype.filter.call(stickyRows, function (stickyRow, index) {
519
481
  var fakeTr = stickyRow.nextSibling;
520
- if (tableBody.scrollTop > _this4.groupByRowsPositions[index]) {
482
+ if (tableBody.scrollTop > _this3.groupByRowsPositions[index]) {
521
483
  // Calcul de la position du 'pinned' item
522
484
  // positionnement juste en dessous du header
523
485
  if (typeof stickyRows[index + 1] === 'undefined' || tableBody.scrollTop < stickyRows[index + 1].offsetTop) {
524
486
  // Si la prochaine ligne est aussi un 'pinned' item,
525
487
  // il pousse le précédent vers le haut
526
- if (typeof _this4.groupByRowsPositions[index + 1] !== 'undefined' && _this4.groupByRowsPositions[index + 1] - tableBody.scrollTop < rowHeight - 10) {
527
- stickyRow.style.top = tableBody.scrollTop + _this4.groupByRowsPositions[index + 1] - tableBody.scrollTop - rowHeight + '\n px';
488
+ if (typeof _this3.groupByRowsPositions[index + 1] !== 'undefined' && _this3.groupByRowsPositions[index + 1] - tableBody.scrollTop < rowHeight - 10) {
489
+ stickyRow.style.top = tableBody.scrollTop + _this3.groupByRowsPositions[index + 1] - tableBody.scrollTop - rowHeight + '\n px';
528
490
  } else {
529
491
  stickyRow.style.top = tableBody.scrollTop + 'px';
530
492
  }
@@ -533,13 +495,13 @@ var HiTable = function (_React$Component) {
533
495
  // Repositionnement des éléments dans une row en position absolute
534
496
  stickyRow.style.position = 'absolute';
535
497
  fakeTr.style.display = 'inline-block';
536
- stickyRow.style.height = _this4.props.dense ? cst.CELL_HEIGHT_DENSE - 8 + 'px' : cst.CELL_HEIGHT - 8 + 'px';
537
- stickyRow.querySelector('button').style.maxHeight = _this4.props.dense ? cst.CELL_HEIGHT_DENSE - 16 + 'px' : cst.CELL_HEIGHT - 16 + 'px';
538
- stickyRow.querySelector('button').style.minHeight = _this4.props.dense ? cst.CELL_HEIGHT_DENSE - 16 + 'px' : cst.CELL_HEIGHT - 16 + 'px';
498
+ stickyRow.style.height = _this3.props.dense ? cst.CELL_HEIGHT_DENSE - 8 + 'px' : cst.CELL_HEIGHT - 8 + 'px';
499
+ stickyRow.querySelector('button').style.maxHeight = _this3.props.dense ? cst.CELL_HEIGHT_DENSE - 16 + 'px' : cst.CELL_HEIGHT - 16 + 'px';
500
+ stickyRow.querySelector('button').style.minHeight = _this3.props.dense ? cst.CELL_HEIGHT_DENSE - 16 + 'px' : cst.CELL_HEIGHT - 16 + 'px';
539
501
  stickyRow.querySelector('button').style.top = '-3px';
540
- stickyRow.querySelector('#stickyRowContent').style.top = !_this4.props.dense ? '4px' : '-3px';
541
- stickyRow.querySelector('td').style.height = _this4.props.dense ? cst.CELL_HEIGHT_DENSE - 8 + 'px' : cst.CELL_HEIGHT - 8 + 'px';
542
- if (_this4.props.dense) {
502
+ stickyRow.querySelector('#stickyRowContent').style.top = !_this3.props.dense ? '4px' : '-3px';
503
+ stickyRow.querySelector('td').style.height = _this3.props.dense ? cst.CELL_HEIGHT_DENSE - 8 + 'px' : cst.CELL_HEIGHT - 8 + 'px';
504
+ if (_this3.props.dense) {
543
505
  stickyRow.querySelector('button').style.top = '0px';
544
506
  stickyRow.querySelector('button span').style.position = 'relative';
545
507
  stickyRow.querySelector('button span').style.top = '-4px';
@@ -551,13 +513,13 @@ var HiTable = function (_React$Component) {
551
513
  stickyRow.style.position = 'relative';
552
514
  stickyRow.style.top = '0px';
553
515
  fakeTr.style.display = 'none';
554
- stickyRow.style.height = _this4.props.dense ? cst.CELL_HEIGHT_DENSE + 'px' : cst.CELL_HEIGHT + 'px';
516
+ stickyRow.style.height = _this3.props.dense ? cst.CELL_HEIGHT_DENSE + 'px' : cst.CELL_HEIGHT + 'px';
555
517
  stickyRow.querySelector('#sticky-badge').style.top = '0px';
556
518
  stickyRow.querySelector('#stickyRowContent').style.top = '2px';
557
- stickyRow.querySelector('td').style.height = _this4.props.dense ? cst.CELL_HEIGHT_DENSE + 'px' : cst.CELL_HEIGHT + 'px';
558
- stickyRow.querySelector('button').style.maxHeight = _this4.props.dense ? cst.CELL_HEIGHT_DENSE - 2 + 'px' : cst.CELL_HEIGHT - 8 + 'px';
559
- stickyRow.querySelector('button').style.minHeight = _this4.props.dense ? cst.CELL_HEIGHT_DENSE - 2 + 'px' : cst.CELL_HEIGHT - 8 + 'px';
560
- if (_this4.props.dense) {
519
+ stickyRow.querySelector('td').style.height = _this3.props.dense ? cst.CELL_HEIGHT_DENSE + 'px' : cst.CELL_HEIGHT + 'px';
520
+ stickyRow.querySelector('button').style.maxHeight = _this3.props.dense ? cst.CELL_HEIGHT_DENSE - 2 + 'px' : cst.CELL_HEIGHT - 8 + 'px';
521
+ stickyRow.querySelector('button').style.minHeight = _this3.props.dense ? cst.CELL_HEIGHT_DENSE - 2 + 'px' : cst.CELL_HEIGHT - 8 + 'px';
522
+ if (_this3.props.dense) {
561
523
  stickyRow.querySelector('button span').style.top = '0px';
562
524
  }
563
525
  }
@@ -572,7 +534,7 @@ var HiTable = function (_React$Component) {
572
534
  }, {
573
535
  key: 'placeHorizontalFloatingElement',
574
536
  value: function placeHorizontalFloatingElement() {
575
- var _this5 = this;
537
+ var _this4 = this;
576
538
 
577
539
  // live datas notification
578
540
  if (this.liveDataSpan) {
@@ -581,7 +543,7 @@ var HiTable = function (_React$Component) {
581
543
 
582
544
  // Replace left padding cells
583
545
  [].concat((0, _toConsumableArray3.default)(this.tBodyLeftPaddingElements), [this.tHeadLeftPadding]).forEach(function (element) {
584
- element.style.left = _this5.scrollLeft + 'px';
546
+ element.style.left = _this4.scrollLeft + 'px';
585
547
  });
586
548
 
587
549
  // TODO - FIX
@@ -590,15 +552,15 @@ var HiTable = function (_React$Component) {
590
552
 
591
553
  // Replace right padding cells
592
554
  [].concat((0, _toConsumableArray3.default)(this.tBodyRightPaddingElements), [this.tHeadRightPadding]).forEach(function (element) {
593
- element.style.right = Math.max(0, _this5.wrapperScrollOffset - _this5.scrollLeft - _this5.tBodyScrollbarWidth) + 'px';
555
+ element.style.right = Math.max(0, _this4.wrapperScrollOffset - _this4.scrollLeft - _this4.tBodyScrollbarWidth) + 'px';
594
556
  });
595
557
 
596
558
  // Replace first cells & add right shadows
597
559
  if (this.props.sticky) {
598
560
  var shadowRight = '1px 0px 0px 0px rgba(128, 128, 128, 0.32)';
599
561
  [].concat((0, _toConsumableArray3.default)(this.tBodyFirstElements), [this.tHeadFirst]).forEach(function (element) {
600
- element.style.left = _this5.scrollLeft + 'px';
601
- element.style['box-shadow'] = _this5.scrollLeft > 0 ? shadowRight : 'none';
562
+ element.style.left = _this4.scrollLeft + 'px';
563
+ element.style['box-shadow'] = _this4.scrollLeft > 0 ? shadowRight : 'none';
602
564
  });
603
565
  }
604
566
 
@@ -612,7 +574,7 @@ var HiTable = function (_React$Component) {
612
574
  var stickyRowContentDiv = tableBody.getElementsByClassName('stickyRowContent');
613
575
  if (stickyRowContentDiv.length > 0) {
614
576
  Array.prototype.filter.call(stickyRowContentDiv, function (div) {
615
- div.style.left = _this5.wrapperDiv.scrollLeft + (_this5.props.selectable ? 25 : 0) + 'px';
577
+ div.style.left = _this4.wrapperDiv.scrollLeft + (_this4.props.selectable ? 25 : 0) + 'px';
616
578
  });
617
579
  }
618
580
  }
@@ -677,7 +639,7 @@ var HiTable = function (_React$Component) {
677
639
  }, {
678
640
  key: 'render',
679
641
  value: function render() {
680
- var _this6 = this;
642
+ var _this5 = this;
681
643
 
682
644
  var _props = this.props,
683
645
  classes = _props.classes,
@@ -717,8 +679,7 @@ var HiTable = function (_React$Component) {
717
679
  detailRowsOptions = _props.detailRowsOptions;
718
680
  var _state = this.state,
719
681
  dateUpdate = _state.dateUpdate,
720
- isScrollToBottom = _state.isScrollToBottom,
721
- groupByIds = _state.groupByIds;
682
+ isScrollToBottom = _state.isScrollToBottom;
722
683
 
723
684
 
724
685
  var headerHeight = dense ? cst.CELL_HEADER_HEIGHT_DENSE : cst.CELL_HEADER_HEIGHT;
@@ -739,7 +700,7 @@ var HiTable = function (_React$Component) {
739
700
  id: tabId,
740
701
  className: classes.tableWrapper,
741
702
  ref: function ref(div) {
742
- return _this6.wrapperDiv = div;
703
+ return _this5.wrapperDiv = div;
743
704
  },
744
705
  onScroll: this.handleHorizontalScroll
745
706
  },
@@ -796,7 +757,6 @@ var HiTable = function (_React$Component) {
796
757
  translations: translations.tableBody,
797
758
  groupBy: groupBy,
798
759
  onClickNext: this.handleNextStickyRow,
799
- groupByIds: groupByIds,
800
760
  lookupColumns: lookupColumns,
801
761
  loading: loading,
802
762
  fixedColumnWidth: fixedColumnWidth,
@@ -822,6 +782,7 @@ var HiTable = function (_React$Component) {
822
782
  ),
823
783
  _react2.default.createElement(_HiTableContextMenu2.default, {
824
784
  tabId: tabId,
785
+ columns: columns,
825
786
  onSearch: this.props.onSearch,
826
787
  onRedirect: this.props.onRedirect
827
788
  }),
@@ -835,7 +796,7 @@ var HiTable = function (_React$Component) {
835
796
  color: 'primary',
836
797
  className: classes.backToTopButton,
837
798
  onClick: function onClick() {
838
- return _this6.scrollToTop();
799
+ return _this5.scrollToTop();
839
800
  }
840
801
  },
841
802
  _react2.default.createElement(_ArrowUp2.default, { className: classes.backToTopButtonArrow }),