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

Sign up to get free protection for your applications and to get access to all the features.
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 }),