@hipay/hipay-material-ui 1.0.0-beta.20 → 1.0.0-beta.22

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.
@@ -30,11 +30,15 @@ function HiLoader(props) {
30
30
  loading = props.loading;
31
31
 
32
32
 
33
- return _react2.default.createElement(_reactSpinners.PropagateLoader, {
34
- loading: loading,
35
- size: 12,
36
- color: theme.palette.business.primary.normal
37
- });
33
+ return _react2.default.createElement(
34
+ 'div',
35
+ { id: 'hi-loader' },
36
+ _react2.default.createElement(_reactSpinners.PropagateLoader, {
37
+ loading: loading,
38
+ size: 12,
39
+ color: theme.palette.business.primary.normal
40
+ })
41
+ );
38
42
  }
39
43
 
40
44
  HiLoader.propTypes = process.env.NODE_ENV !== "production" ? {
@@ -13,6 +13,10 @@ var _defineProperty2 = require('babel-runtime/helpers/defineProperty');
13
13
 
14
14
  var _defineProperty3 = _interopRequireDefault(_defineProperty2);
15
15
 
16
+ var _toConsumableArray2 = require('babel-runtime/helpers/toConsumableArray');
17
+
18
+ var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);
19
+
16
20
  var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
17
21
 
18
22
  var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
@@ -103,7 +107,7 @@ var styles = exports.styles = function styles(theme) {
103
107
  },
104
108
  popper: {
105
109
  width: '100%',
106
- zIndex: 11
110
+ zIndex: 1200
107
111
  },
108
112
  paper: {
109
113
  borderRadius: '0px 2px',
@@ -174,6 +178,11 @@ var HiSelect = function (_React$PureComponent) {
174
178
  valueInOptions = true;
175
179
  }
176
180
  });
181
+ if (!valueInOptions && props.pinnedItem) {
182
+ if (props.value.indexOf(props.pinnedItem.id) >= 0) {
183
+ valueInOptions = true;
184
+ }
185
+ }
177
186
  }
178
187
 
179
188
  if (!valueInOptions) {
@@ -303,7 +312,8 @@ var HiSelect = function (_React$PureComponent) {
303
312
  hierarchic = _props.hierarchic,
304
313
  id = _props.id,
305
314
  placeholder = _props.placeholder,
306
- staticPosition = _props.staticPosition;
315
+ staticPosition = _props.staticPosition,
316
+ pinnedItem = _props.pinnedItem;
307
317
  var _state = this.state,
308
318
  open = _state.open,
309
319
  suggestions = _state.suggestions,
@@ -313,6 +323,11 @@ var HiSelect = function (_React$PureComponent) {
313
323
  var display = '';
314
324
  var selectedIdList = Array.isArray(value) ? value : value ? [value] : [];
315
325
 
326
+ var _suggestions = [].concat((0, _toConsumableArray3.default)(suggestions));
327
+ if (pinnedItem) {
328
+ _suggestions = [pinnedItem].concat((0, _toConsumableArray3.default)(suggestions));
329
+ }
330
+
316
331
  if (this.state.dynamic && selectedIdList.length === 1) {
317
332
  display = translations.one_item_selected.replace('%s', selectedIdList.length);
318
333
  } else if (this.state.nbOptions !== selectedIdList.length && selectedIdList.length > 1) {
@@ -321,9 +336,13 @@ var HiSelect = function (_React$PureComponent) {
321
336
  display = translations.all;
322
337
  } else if (selectedIdList.length === 1) {
323
338
  if (type !== 'icon') {
324
- display = options.find(function (o) {
339
+ var item = options.find(function (o) {
325
340
  return o.id === selectedIdList[0];
326
- }).label;
341
+ });
342
+ if (!item && pinnedItem) {
343
+ item = pinnedItem;
344
+ }
345
+ display = item.label;
327
346
  } else {
328
347
  var optionSelected = options.find(function (o) {
329
348
  return o.id === selectedIdList[0];
@@ -380,7 +399,7 @@ var HiSelect = function (_React$PureComponent) {
380
399
  _react2.default.createElement(_HiSelectableList2.default, {
381
400
  type: type,
382
401
  parentItemSelectable: parentItemSelectable,
383
- itemList: suggestions,
402
+ itemList: _suggestions,
384
403
  onSelect: this.handleSelect,
385
404
  selectedIdList: selectedIdList,
386
405
  checkbox: checkbox,
@@ -490,7 +509,7 @@ var _initialiseProps = function _initialiseProps() {
490
509
  _this3.handleClose();
491
510
  } else {
492
511
  if (!_this3.props.staticPosition) {
493
- document.body.style.overflow = 'hidden';
512
+ //document.body.style.overflow = 'hidden';
494
513
  }
495
514
  _this3.setState({ open: true });
496
515
  var options = _this3.props.options.slice();
@@ -554,7 +573,7 @@ var _initialiseProps = function _initialiseProps() {
554
573
  nextItem = (0, _hiHelpers.getNextItemSelectable)(document.activeElement, 'up');
555
574
  } else if (event.key === 'Tab') {
556
575
  if (!_this3.props.staticPosition) {
557
- document.body.style.overflow = 'auto';
576
+ //document.body.style.overflow = 'auto';
558
577
  }
559
578
  _this3.setState({ open: false });
560
579
  }
@@ -579,7 +598,7 @@ var _initialiseProps = function _initialiseProps() {
579
598
 
580
599
  this.handleClose = function () {
581
600
  if (!_this3.props.staticPosition) {
582
- document.body.style.overflow = 'auto';
601
+ //document.body.style.overflow = 'auto';
583
602
  }
584
603
  _this3.setState({
585
604
  open: false
@@ -604,10 +623,10 @@ var _initialiseProps = function _initialiseProps() {
604
623
  var _props2 = _this3.props,
605
624
  multiple = _props2.multiple,
606
625
  value = _props2.value,
607
- name = _props2.name,
608
626
  onChange = _props2.onChange,
609
627
  options = _props2.options,
610
- hierarchic = _props2.hierarchic;
628
+ hierarchic = _props2.hierarchic,
629
+ pinnedItem = _props2.pinnedItem;
611
630
  var _state2 = _this3.state,
612
631
  hierarchySelected = _state2.hierarchySelected,
613
632
  hierarchy = _state2.hierarchy,
@@ -656,8 +675,20 @@ var _initialiseProps = function _initialiseProps() {
656
675
  hiSelected[item.parentId].splice(hiSelected[item.parentId].indexOf(item.id), 1);
657
676
  }
658
677
  } else {
659
- // item non sélectionné => on le sélectionne
660
- if (item.hasChildren !== true) valueList.push(item.id);
678
+ if (pinnedItem && item.id === pinnedItem.id) {
679
+ (0, _keys2.default)(hiSelected).map(function (parentItemId) {
680
+ hiSelected[parentItemId] = [];
681
+ return true;
682
+ });
683
+ valueList = [item.id];
684
+ } else {
685
+ // item non sélectionné => on le sélectionne
686
+ if (item.hasChildren !== true) valueList.push(item.id);
687
+
688
+ if (pinnedItem && valueList.includes(pinnedItem.id)) {
689
+ valueList.splice(valueList.indexOf(pinnedItem.id), 1);
690
+ }
691
+ }
661
692
 
662
693
  if (item.hasChildren === true) {
663
694
  // Si item parent => on ajoute tous les enfants
@@ -848,6 +879,10 @@ HiSelect.propTypes = process.env.NODE_ENV !== "production" ? {
848
879
  * Les items parents sont sélectionnables
849
880
  */
850
881
  parentItemSelectable: _propTypes2.default.bool,
882
+ /**
883
+ * Item épinglé en début de liste
884
+ */
885
+ pinnedItem: _propTypes2.default.object,
851
886
  /**
852
887
  * Placeholder affiché lorsque le select est fermé
853
888
  * Surcharge le placeholder par défaut
@@ -186,15 +186,31 @@ var HiSuggestSelect = function (_React$PureComponent) {
186
186
 
187
187
  var _props = this.props,
188
188
  classes = _props.classes,
189
- translations = _props.translations,
190
189
  id = _props.id,
190
+ showMinLength = _props.showMinLength,
191
+ showNoResults = _props.showNoResults,
191
192
  onSearch = _props.onSearch,
192
- otherProps = (0, _objectWithoutProperties3.default)(_props, ['classes', 'translations', 'id', 'onSearch']);
193
+ translations = _props.translations,
194
+ otherProps = (0, _objectWithoutProperties3.default)(_props, ['classes', 'id', 'showMinLength', 'showNoResults', 'onSearch', 'translations']);
193
195
  var _state = this.state,
194
196
  focused = _state.focused,
195
197
  options = _state.options;
196
198
 
197
- var open = !!options.length && focused;
199
+
200
+ var optionsShown = options;
201
+
202
+ // If no results match
203
+ if (options.length === 0 && (showNoResults || showMinLength)) {
204
+ optionsShown = [{
205
+ id: '_no_result',
206
+ type: 'text',
207
+ disabled: true,
208
+ centered: true,
209
+ checkbox: false,
210
+ label: showNoResults ? translations.no_result_match : translations.min_length
211
+ }];
212
+ }
213
+ var open = !!optionsShown.length && focused;
198
214
 
199
215
  return _react2.default.createElement(
200
216
  'div',
@@ -211,6 +227,7 @@ var HiSuggestSelect = function (_React$PureComponent) {
211
227
  _reactPopper.Target,
212
228
  null,
213
229
  _react2.default.createElement(_HiInput2.default, (0, _extends3.default)({}, otherProps, {
230
+
214
231
  inputId: id,
215
232
  focused: focused,
216
233
  inputRef: function inputRef(input) {
@@ -236,7 +253,7 @@ var HiSuggestSelect = function (_React$PureComponent) {
236
253
  _Paper2.default,
237
254
  { className: classes.paper },
238
255
  _react2.default.createElement(_HiSelectableList2.default, {
239
- itemList: options,
256
+ itemList: optionsShown,
240
257
  selectedIdList: [],
241
258
  checkbox: false,
242
259
  onSelect: this.handleSelect,
@@ -254,7 +271,12 @@ var HiSuggestSelect = function (_React$PureComponent) {
254
271
  }(_react2.default.PureComponent);
255
272
 
256
273
  HiSuggestSelect.defaultProps = {
257
- translations: {},
274
+ showMinLength: false,
275
+ showNoResults: false,
276
+ translations: {
277
+ no_result_match: 'No result match',
278
+ min_length: 'Veuillez saisir 3 caractères minimum'
279
+ },
258
280
  options: []
259
281
  };
260
282
  HiSuggestSelect.propTypes = process.env.NODE_ENV !== "production" ? {
@@ -278,6 +300,14 @@ HiSuggestSelect.propTypes = process.env.NODE_ENV !== "production" ? {
278
300
  * Liste de suggestions.
279
301
  */
280
302
  options: _propTypes2.default.array,
303
+ /**
304
+ * Permet d'afficher un message si pas assez de caractères
305
+ */
306
+ showMinLength: _propTypes2.default.bool,
307
+ /**
308
+ * Permet d'afficher un message si aucune options n'est présente
309
+ */
310
+ showNoResults: _propTypes2.default.bool,
281
311
  /**
282
312
  * Traductions (par défaut en anglais)
283
313
  */
@@ -377,51 +377,44 @@ var HiSelectableListItem = function (_React$Component) {
377
377
  listItemProps.button = false;
378
378
  }
379
379
 
380
- var iconAll = void 0;
381
- if (item.id === '_all' && item.icon) {
382
- iconAll = _react2.default.createElement(_HiIconBuilder2.default, { icon: item.icon, className: classes.checkboxIcon });
383
- }
384
-
385
380
  // calcul du padding left
386
381
  var paddingLeft = 0;
387
382
 
388
383
  if (leftPadding) {
389
384
  paddingLeft = leftPadding;
390
- } else {
391
- // Si pas de hiérarchie, padding de 8px
392
- if (!hierarchic) {
393
- if (!effectiveCheckbox) {
394
- paddingLeft = 8;
385
+ } else if (!hierarchic) {
386
+ // Si pas de hiérarchie et sans checkbox, padding de 8px
387
+ if (!effectiveCheckbox) {
388
+ paddingLeft = 8;
389
+ }
390
+ } else if (selectable) {
391
+ // Si item selectionnable
392
+ // Si parent selectionnable
393
+ if (parentItemSelectable) {
394
+ // Si l'item contient une checkbox
395
+ if (effectiveCheckbox) {
396
+ paddingLeft = 16 * level;
397
+ } else {
398
+ paddingLeft = 16 * (level + 1);
395
399
  }
396
- } else if (selectable) {
397
- // Si item selectionnable
398
- // Si parent selectionnable
399
- if (parentItemSelectable) {
400
- // Si l'item contient une checkbox
401
- if (effectiveCheckbox) {
402
- paddingLeft = 16 * level;
403
- } else {
404
- paddingLeft = 16 * (level + 1);
405
- }
406
- } else if (level > 0) {
407
- if (effectiveCheckbox) {
408
- paddingLeft = 16 * (level - 1);
409
- } else {
410
- paddingLeft = 16 * level;
411
- }
412
- } else if (!effectiveCheckbox) {
413
- if (item.id === '_all') {
414
- paddingLeft = 16;
415
- } else {
416
- paddingLeft = 16 * level;
417
- }
400
+ } else if (level > 0) {
401
+ if (effectiveCheckbox) {
402
+ paddingLeft = 16 * (level - 1);
403
+ } else {
404
+ paddingLeft = 16 * level;
418
405
  }
419
- } else {
420
- paddingLeft = 16; // Padding de 16 par défaut
421
- if (level > 0) {
406
+ } else if (!effectiveCheckbox) {
407
+ if (item.id === '_all') {
408
+ paddingLeft = 16;
409
+ } else {
422
410
  paddingLeft = 16 * level;
423
411
  }
424
412
  }
413
+ } else {
414
+ paddingLeft = 16; // Padding de 16 par défaut
415
+ if (level > 0) {
416
+ paddingLeft = 16 * level;
417
+ }
425
418
  }
426
419
 
427
420
  listItemProps.style = { paddingLeft: paddingLeft + 'px' };
@@ -431,8 +424,8 @@ var HiSelectableListItem = function (_React$Component) {
431
424
  iconDisplay = hoverIcon;
432
425
  } else if (item.hasChildren) {
433
426
  iconDisplay = parentIcon;
434
- } else if (item.id === '_all') {
435
- iconDisplay = iconAll;
427
+ } else if (item.type === 'icon' && item.icon) {
428
+ iconDisplay = _react2.default.createElement(_HiIconBuilder2.default, { icon: item.icon, className: classes.checkboxIcon });
436
429
  }
437
430
 
438
431
  return _react2.default.createElement(
@@ -170,7 +170,7 @@ var HeaderCell = function (_React$PureComponent) {
170
170
 
171
171
  _this.onFilterClick = _this.onFilterClick.bind(_this);
172
172
  _this.openFilterMenu = _this.openFilterMenu.bind(_this);
173
- _this.closeFilterMenu = _this.closeFilterMenu.bind(_this);
173
+ _this.handleClose = _this.handleClose.bind(_this);
174
174
  _this.handleSort = _this.handleSort.bind(_this);
175
175
  _this.handleFilterChange = _this.handleFilterChange.bind(_this);
176
176
  return _this;
@@ -186,8 +186,8 @@ var HeaderCell = function (_React$PureComponent) {
186
186
  });
187
187
  }
188
188
  }, {
189
- key: 'closeFilterMenu',
190
- value: function closeFilterMenu() {
189
+ key: 'handleClose',
190
+ value: function handleClose() {
191
191
  this.setState({ filterOpen: false, anchorEl: null, menuFilters: [] });
192
192
  }
193
193
 
@@ -232,7 +232,8 @@ var HeaderCell = function (_React$PureComponent) {
232
232
  align = _props$align === undefined ? cst.ALIGN_RIGHT_TYPES.includes(type) ? 'right' : 'left' : _props$align,
233
233
  sticky = _props.sticky,
234
234
  padding = _props.padding,
235
- lookedUp = _props.lookedUp;
235
+ lookedUp = _props.lookedUp,
236
+ translations = _props.translations;
236
237
  var _state = this.state,
237
238
  filterOpen = _state.filterOpen,
238
239
  anchorEl = _state.anchorEl,
@@ -323,7 +324,7 @@ var HeaderCell = function (_React$PureComponent) {
323
324
  {
324
325
  className: classes.labelContainer + (_sorted ? ' ' + classes.labelContainerOrdered : '')
325
326
  },
326
- view !== 's' ? title : smallTitle ? smallTitle : title
327
+ view !== 's' ? title : smallTitle || title
327
328
  ),
328
329
  align !== 'right' && _icons
329
330
  ) : _react2.default.createElement(
@@ -340,7 +341,7 @@ var HeaderCell = function (_React$PureComponent) {
340
341
  _react2.default.createElement(
341
342
  'span',
342
343
  { className: classes.labelContainer, style: { width: '100%' } },
343
- view !== 's' ? title : smallTitle ? smallTitle : title
344
+ view !== 's' ? title : smallTitle || title
344
345
  )
345
346
  )
346
347
  ),
@@ -351,11 +352,12 @@ var HeaderCell = function (_React$PureComponent) {
351
352
  title: title,
352
353
  filterValueList: menuFilters,
353
354
  isOpen: filterOpen,
354
- onClose: this.closeFilterMenu,
355
+ onClose: this.handleClose,
355
356
  anchorEl: anchorEl,
356
357
  sortable: sortable,
357
358
  onSort: this.handleSort,
358
- onFilterChange: this.handleFilterChange
359
+ onFilterChange: this.handleFilterChange,
360
+ translations: translations.columnFilter
359
361
  })
360
362
  );
361
363
  }
@@ -376,18 +378,50 @@ HeaderCell.defaultProps = {
376
378
  padding: 8
377
379
  };
378
380
  HeaderCell.propTypes = process.env.NODE_ENV !== "production" ? {
381
+ /**
382
+ * Title alignement, est déduit de type par défaut
383
+ */
384
+ align: _propTypes2.default.string,
379
385
  /**
380
386
  * Useful to extend the style applied to components.
381
387
  */
382
388
  classes: _propTypes2.default.object,
389
+ /**
390
+ * Densité, défini la hauteur de la ligne
391
+ */
392
+ dense: _propTypes2.default.bool,
393
+ /**
394
+ * Ajoute le composant ColumnFilter, par défaut à True si filterSource est définie.
395
+ */
396
+ filterable: _propTypes2.default.bool,
397
+ /**
398
+ * Liste fermé des valeurs disponibles sur lesquelles filtrer (inclure/exclure)
399
+ */
400
+ filterSource: _propTypes2.default.array,
401
+ /**
402
+ * La largeur de la cellule est fixé (toutes les colonnes sauf une)
403
+ */
404
+ fixedColumnWidth: _propTypes2.default.bool,
383
405
  /**
384
406
  * Recherche lookup sur cette colonne
385
407
  */
386
408
  lookedUp: _propTypes2.default.bool,
409
+ /**
410
+ * Padding de la cellule (px)
411
+ */
412
+ padding: _propTypes2.default.number,
413
+ /**
414
+ * Fonction de callback au changement du filtre - passe la liste des id des valeurs incluses
415
+ */
416
+ onFilterChange: _propTypes2.default.func,
387
417
  /**
388
418
  * Fonction de callback au click du select
389
419
  */
390
420
  onSelect: _propTypes2.default.func,
421
+ /**
422
+ * Fonction de callback au tri - passe la direction du tri
423
+ */
424
+ onSort: _propTypes2.default.func,
391
425
  /**
392
426
  * Ajoute une checkbox
393
427
  */
@@ -400,69 +434,41 @@ HeaderCell.propTypes = process.env.NODE_ENV !== "production" ? {
400
434
  * Titre condensé
401
435
  */
402
436
  smallTitle: _propTypes2.default.string,
403
- /**
404
- * Titre de la colonne
405
- */
406
- title: _propTypes2.default.string.isRequired,
407
- /**
408
- * Type de cellule
409
- */
410
- type: _propTypes2.default.string.isRequired,
411
437
  /**
412
438
  * Ajoute la fonction de tri au click sur le label & dans le ColumnFilter
413
439
  */
414
440
  sortable: _propTypes2.default.bool,
415
- /**
416
- * Tri actif / inactif
417
- */
418
- sorted: _propTypes2.default.bool,
419
441
  /**
420
442
  * Sens du tri
421
443
  */
422
444
  sortDirection: _propTypes2.default.oneOf(['asc', 'desc']),
423
445
  /**
424
- * Fonction de callback au tri - passe la direction du tri
446
+ * Tri actif / inactif
425
447
  */
426
- onSort: _propTypes2.default.func,
448
+ sorted: _propTypes2.default.bool,
427
449
  /**
428
- * Ajoute le composant ColumnFilter, par défaut à True si filterSource est définie.
450
+ * True si la colonne est la première colonne et doit avoir un comportement "sticky" lors du scroll horizontal
429
451
  */
430
- filterable: _propTypes2.default.bool,
452
+ sticky: _propTypes2.default.bool,
431
453
  /**
432
- * Liste fermé des valeurs disponibles sur lesquelles filtrer (inclure/exclure)
454
+ * Titre de la colonne
433
455
  */
434
- filterSource: _propTypes2.default.array,
456
+ title: _propTypes2.default.string.isRequired,
435
457
  /**
436
- * Fonction de callback au changement du filtre - passe la liste des id des valeurs incluses
458
+ * Traduction des chaînes affichées
437
459
  */
438
- onFilterChange: _propTypes2.default.func,
460
+ translations: _propTypes2.default.object,
439
461
  /**
440
- * View (L/M/S)
462
+ * Type de cellule
441
463
  */
442
- view: _propTypes2.default.oneOf(['l', 'm', 's']),
464
+ type: _propTypes2.default.string.isRequired,
443
465
  /**
444
- * Densité, défini la hauteur de la ligne
466
+ * View (L/M/S)
445
467
  */
446
- dense: _propTypes2.default.bool,
468
+ view: _propTypes2.default.oneOf(['l', 'm', 's']),
447
469
  /**
448
470
  * Largeur de la cellule (hors padding), est déduit de view par défaut
449
471
  */
450
- width: _propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.string]),
451
- /**
452
- * La largeur de la cellule est fixé (toutes les colonnes sauf une)
453
- */
454
- fixedColumnWidth: _propTypes2.default.bool,
455
- /**
456
- * Title alignement, est déduit de type par défaut
457
- */
458
- align: _propTypes2.default.string,
459
- /**
460
- * True si la colonne est la première colonne et doit avoir un comportement "sticky" lors du scroll horizontal
461
- */
462
- sticky: _propTypes2.default.bool,
463
- /**
464
- * Padding de la cellule (px)
465
- */
466
- padding: _propTypes2.default.number
472
+ width: _propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.string])
467
473
  } : {};
468
474
  exports.default = (0, _styles.withStyles)(styles, { withTheme: true, name: 'HmuiHeaderCell' })(HeaderCell);
@@ -770,7 +770,7 @@ var HiTable = function (_React$Component) {
770
770
  height: headerHeight,
771
771
  sticky: sticky,
772
772
  view: view,
773
- translations: translations,
773
+ translations: translations.tableHead,
774
774
  lookupColumns: lookupColumns,
775
775
  fixedColumnWidth: fixedColumnWidth
776
776
  }),
@@ -793,7 +793,7 @@ var HiTable = function (_React$Component) {
793
793
  onRowClick: onRowClick,
794
794
  onScroll: this.handleVerticalScroll,
795
795
  addNewRowRefs: this.addNewRowRefs,
796
- translations: translations,
796
+ translations: translations.tableBody,
797
797
  groupBy: groupBy,
798
798
  onClickNext: this.handleNextStickyRow,
799
799
  groupByIds: groupByIds,
@@ -809,7 +809,7 @@ var HiTable = function (_React$Component) {
809
809
  requestNextDatas: requestNextDatas,
810
810
  maxAutoRequest: 3,
811
811
  isScrollToBottom: isScrollToBottom,
812
- translations: translations
812
+ translations: translations.tableFooterScroll
813
813
  }),
814
814
  !infiniteScroll && footerContent && _react2.default.createElement(
815
815
  _HiTableFooter2.default,
@@ -866,17 +866,7 @@ HiTable.defaultProps = {
866
866
  height: 450,
867
867
  sticky: true,
868
868
  translations: {
869
- load_more: 'Load More',
870
- back_to_top: 'Back to top',
871
- get_the_n_new_items: 'See %s new items',
872
- choose_and_organize_columns: 'Choose & organize columns',
873
- search: 'Search',
874
- time: 'Time',
875
- stickyRow: {
876
- button: {
877
- next: 'Next day'
878
- }
879
- }
869
+ back_to_top: 'Back to top'
880
870
  },
881
871
  view: 'l',
882
872
  lookupColumns: [],
@@ -313,7 +313,8 @@ var HiTableHead = function (_React$Component) {
313
313
  align: column['align'],
314
314
  sticky: firstColumn && sticky,
315
315
  lookedUp: lookupColumns.includes(column.colId),
316
- fixedColumnWidth: fixedColumnWidth
316
+ fixedColumnWidth: fixedColumnWidth,
317
+ translations: translations.headerCell
317
318
  });
318
319
  }
319
320
  }),
@@ -347,7 +348,7 @@ var HiTableHead = function (_React$Component) {
347
348
  columns: columns,
348
349
  orderedColumns: orderedColumns,
349
350
  mandatoryColumnId: mandatoryColumnId,
350
- translations: translations
351
+ translations: translations.orderColumns
351
352
  })
352
353
  )
353
354
  ),
@@ -391,10 +392,7 @@ HiTableHead.defaultProps = {
391
392
  dense: false,
392
393
  sticky: true,
393
394
  translations: {
394
- get_the_n_new_items: 'Get the %s new items',
395
- choose_and_organize_columns: 'Choose & organize columns',
396
- search: 'Search',
397
- time: 'Time'
395
+ get_the_n_new_items: 'Get the %s new items'
398
396
  },
399
397
  view: 'l'
400
398
  };
@@ -187,7 +187,7 @@ var _ref = _react2.default.createElement(_HiIconBuilder2.default, { icon: 'fa-be
187
187
 
188
188
  var _ref2 = _react2.default.createElement(_mdiMaterialUi.ArrowLeft, null);
189
189
 
190
- var _ref3 = _react2.default.createElement(_mdiMaterialUi.ChevronDoubleDown, null);
190
+ var _ref3 = _react2.default.createElement(_mdiMaterialUi.ChevronDown, null);
191
191
 
192
192
  var _ref4 = _react2.default.createElement(_mdiMaterialUi.ArrowLeft, null);
193
193
 
@@ -235,6 +235,9 @@ var HiTopBar = function (_React$Component) {
235
235
  }, {
236
236
  key: 'handleCollapse',
237
237
  value: function handleCollapse() {
238
+ if (this.props.onCollapse) {
239
+ this.props.onCollapse(!this.state.collapsed);
240
+ }
238
241
  this.setState({ collapsed: !this.state.collapsed });
239
242
  }
240
243
  }, {
@@ -362,7 +365,7 @@ var HiTopBar = function (_React$Component) {
362
365
  (hideable || hasSettings) && _react2.default.createElement(
363
366
  _IconButton2.default,
364
367
  { color: 'inherit', className: classes.iconButton },
365
- hideable && _react2.default.createElement(_mdiMaterialUi.ChevronDoubleUp, { onClick: this.handleCollapse }),
368
+ hideable && _react2.default.createElement(_mdiMaterialUi.ChevronUp, { onClick: this.handleCollapse }),
366
369
  hasSettings && _react2.default.createElement(_HiIconBuilder2.default, {
367
370
  onClick: this.props.onClickSettings,
368
371
  icon: 'fa-gear',
@@ -498,7 +501,7 @@ HiTopBar.propTypes = process.env.NODE_ENV !== "production" ? {
498
501
  */
499
502
  hasSettings: _propTypes2.default.bool,
500
503
  /**
501
- * La TopBar peut être cachée vie le bouton double chevron
504
+ * La TopBar peut être cachée vie le bouton chevron
502
505
  */
503
506
  hideable: _propTypes2.default.bool,
504
507
  /**
@@ -525,6 +528,10 @@ HiTopBar.propTypes = process.env.NODE_ENV !== "production" ? {
525
528
  * Fonction de callback au click sur le bouton "Settings" du menu
526
529
  */
527
530
  onClickSettings: _propTypes2.default.func,
531
+ /**
532
+ * Fonction de callback au click sur le bouton chevron
533
+ */
534
+ onCollapse: _propTypes2.default.func,
528
535
  /**
529
536
  * Positionement de la topBar. The behavior of the different options is described
530
537
  * [here](https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout/Positioning).