@hipay/hipay-material-ui 2.0.0-beta.46 → 2.0.0-beta.47

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 (39) hide show
  1. package/HiCell/CellIcon.js +14 -6
  2. package/HiCell/CellNumeric.js +3 -2
  3. package/HiCell/CellRate.js +2 -1
  4. package/HiCell/CellSentinel.js +2 -1
  5. package/HiChip/HiChip.js +8 -8
  6. package/HiSelect/HiSelect.js +8 -2
  7. package/HiSelectNew/HiSelect.js +37 -5
  8. package/HiSelectableList/HiSelectableListItem.js +9 -3
  9. package/HiTable/HiCellBuilder.js +229 -0
  10. package/HiTable/HiTable.js +155 -0
  11. package/HiTable/HiTableBody.js +90 -0
  12. package/HiTable/HiTableHeader.js +162 -0
  13. package/HiTable/HiTableRow.js +154 -0
  14. package/HiTable/constants.js +145 -0
  15. package/HiTable/index.js +15 -0
  16. package/es/HiCell/CellIcon.js +14 -6
  17. package/es/HiCell/CellNumeric.js +3 -2
  18. package/es/HiCell/CellRate.js +2 -1
  19. package/es/HiCell/CellSentinel.js +2 -1
  20. package/es/HiChip/HiChip.js +10 -10
  21. package/es/HiSelect/HiSelect.js +8 -2
  22. package/es/HiSelectNew/HiSelect.js +34 -4
  23. package/es/HiSelectableList/HiSelectableListItem.js +9 -3
  24. package/es/HiTable/HiCellBuilder.js +181 -0
  25. package/es/HiTable/HiTable.js +114 -0
  26. package/es/HiTable/HiTableBody.js +56 -0
  27. package/es/HiTable/HiTableHeader.js +108 -0
  28. package/es/HiTable/HiTableRow.js +103 -0
  29. package/es/HiTable/constants.js +182 -0
  30. package/es/HiTable/index.js +1 -0
  31. package/es/index.js +1 -0
  32. package/es/utils/helpers.js +1 -1
  33. package/index.es.js +2 -1
  34. package/index.js +9 -1
  35. package/package.json +1 -1
  36. package/umd/hipay-material-ui.development.js +16018 -13677
  37. package/umd/hipay-material-ui.production.min.js +2 -2
  38. package/utils/helpers.js +1 -1
  39. package/yarn-error.log +0 -109
@@ -65,16 +65,19 @@ function (_React$PureComponent) {
65
65
  color = _this$props.color,
66
66
  icon = _this$props.icon,
67
67
  label = _this$props.label,
68
- view = _this$props.view;
68
+ view = _this$props.view,
69
+ size = _this$props.size;
69
70
  return _react.default.createElement("div", {
70
71
  className: classes.wrapper,
71
72
  title: label
72
73
  }, icon && _react.default.createElement(_HiIcon.default, {
73
- color: color,
74
+ color: "inherit",
75
+ style: {
76
+ color: color,
77
+ fontSize: size ? size : 24
78
+ },
74
79
  className: classes.icon,
75
- icon: icon,
76
- width: 40,
77
- height: 24
80
+ icon: icon
78
81
  }), view !== 's' && label && _react.default.createElement("span", {
79
82
  className: classes.label
80
83
  }, label));
@@ -112,7 +115,12 @@ CellIcon.propTypes = process.env.NODE_ENV !== "production" ? {
112
115
  /**
113
116
  * View (L/M/S)
114
117
  */
115
- view: _propTypes.default.oneOf(['l', 'm', 's'])
118
+ view: _propTypes.default.oneOf(['l', 'm', 's']),
119
+
120
+ /**
121
+ * Icon size
122
+ */
123
+ size: _propTypes.default.number
116
124
  } : {};
117
125
 
118
126
  var _default = (0, _withStyles.default)(styles, {
@@ -68,7 +68,7 @@ function (_React$PureComponent) {
68
68
  title = (0, _helpers.formatCurrencyAmount)(value, 'l', locale, currency);
69
69
  } else {
70
70
  displayedValue = (0, _helpers.formatNumber)(value, view, locale, precision);
71
- title = (0, _helpers.formatNumber)(value, 'l', locale);
71
+ title = (0, _helpers.formatNumber)(value, 'l', locale, precision);
72
72
  }
73
73
 
74
74
  return _react.default.createElement("div", {
@@ -81,7 +81,8 @@ function (_React$PureComponent) {
81
81
  }(_react.default.PureComponent);
82
82
 
83
83
  CellNumeric.defaultProps = {
84
- view: 'm'
84
+ view: 'm',
85
+ locale: 'en'
85
86
  };
86
87
  CellNumeric.propTypes = process.env.NODE_ENV !== "production" ? {
87
88
  /**
@@ -138,7 +138,8 @@ function (_React$PureComponent) {
138
138
  }(_react.default.PureComponent);
139
139
 
140
140
  CellRate.defaultProps = {
141
- isPositive: true
141
+ isPositive: true,
142
+ locale: 'en'
142
143
  };
143
144
  CellRate.propTypes = process.env.NODE_ENV !== "production" ? {
144
145
  /**
@@ -104,7 +104,8 @@ function (_React$PureComponent) {
104
104
  var scoreLabel = score > 0 ? "+".concat(score) : "".concat(score);
105
105
  return _react.default.createElement("div", {
106
106
  style: {
107
- textAlign: 'right'
107
+ textAlign: 'right',
108
+ minWidth: '100px'
108
109
  }
109
110
  }, _react.default.createElement(_HiColoredLabel.default, {
110
111
  label: scoreLabel,
package/HiChip/HiChip.js CHANGED
@@ -133,9 +133,15 @@ function HiChip(props) {
133
133
  id: id,
134
134
  className: (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.leftNavigation, onPrevious), (0, _defineProperty2.default)(_classNames, classes.rightNavigation, onNext), (0, _defineProperty2.default)(_classNames, classes.deletable, onDelete), (0, _defineProperty2.default)(_classNames, classes.leftIcon, icon), _classNames)),
135
135
  title: title
136
- }, prefix && _react.default.createElement("span", {
136
+ }, icon && _react.default.createElement(_HiIcon.default, {
137
+ className: (0, _classnames.default)(classes.icon, (0, _defineProperty2.default)({}, classes.iconClickable, onIconClick)),
138
+ icon: icon,
139
+ size: iconSize,
140
+ onClick: onIconClick,
141
+ title: titleIcon
142
+ }), prefix && _react.default.createElement("span", {
137
143
  className: classes.prefix
138
- }, prefix, " : "), img && _react.default.createElement("img", {
144
+ }, prefix), img && _react.default.createElement("img", {
139
145
  className: classes.badge,
140
146
  src: img,
141
147
  alt: img,
@@ -147,12 +153,6 @@ function HiChip(props) {
147
153
  }
148
154
  },
149
155
  title: titleImg
150
- }), icon && _react.default.createElement(_HiIcon.default, {
151
- className: (0, _classnames.default)(classes.icon, (0, _defineProperty2.default)({}, classes.iconClickable, onIconClick)),
152
- icon: icon,
153
- size: iconSize,
154
- onClick: onIconClick,
155
- title: titleIcon
156
156
  }), onPrevious && _react.default.createElement(_HiIcon.default, {
157
157
  className: (0, _classnames.default)(classes.navigate),
158
158
  icon: "arrow_left",
@@ -72,9 +72,11 @@ var styles = function styles(theme) {
72
72
  position: 'relative'
73
73
  },
74
74
  popper: {
75
- width: '100% !important',
76
75
  zIndex: 1200
77
76
  },
77
+ popperWidth: {
78
+ width: '100% !important'
79
+ },
78
80
  paper: {
79
81
  borderRadius: '0px 2px',
80
82
  maxHeight: 440,
@@ -667,7 +669,7 @@ function (_React$PureComponent) {
667
669
  }
668
670
  }
669
671
 
670
- var popperClass = (0, _classnames.default)(classes.popper, (0, _defineProperty2.default)({}, classes.popperClose, !open));
672
+ var popperClass = (0, _classnames.default)(classes.popper, (0, _defineProperty2.default)({}, classes.popperWidth, !this.props.containerWidth));
671
673
  var allSelected = false;
672
674
 
673
675
  if (selectedIdList.length === this.state.nbOptions) {
@@ -680,6 +682,10 @@ function (_React$PureComponent) {
680
682
  popperStyle = {
681
683
  width: this.props.containerWidth
682
684
  };
685
+
686
+ if (!staticPosition) {
687
+ popperStyle.position = 'absolute';
688
+ }
683
689
  }
684
690
 
685
691
  if (infiniteScroll && loadingMoreResults) {
@@ -7,6 +7,8 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = exports.styles = void 0;
9
9
 
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
10
12
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
13
 
12
14
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
@@ -53,6 +55,8 @@ var _HiIcon = _interopRequireDefault(require("../HiIcon"));
53
55
 
54
56
  var _keycode = _interopRequireDefault(require("keycode"));
55
57
 
58
+ var _classnames = _interopRequireDefault(require("classnames"));
59
+
56
60
  var styles = function styles(theme) {
57
61
  return {
58
62
  root: {
@@ -62,9 +66,15 @@ var styles = function styles(theme) {
62
66
  position: 'relative'
63
67
  },
64
68
  popper: {
65
- width: '100% !important',
66
69
  zIndex: 1200
67
70
  },
71
+ popperWidth: {
72
+ width: '100% !important'
73
+ },
74
+ popperRightAlign: {
75
+ right: 0,
76
+ left: 'unset!important'
77
+ },
68
78
  paper: {
69
79
  borderRadius: '0px 2px',
70
80
  maxHeight: 480,
@@ -431,7 +441,8 @@ function (_React$PureComponent) {
431
441
  }, {
432
442
  key: "render",
433
443
  value: function render() {
434
- var _this2 = this;
444
+ var _classNames,
445
+ _this2 = this;
435
446
 
436
447
  var _this$props4 = this.props,
437
448
  classes = _this$props4.classes,
@@ -478,6 +489,20 @@ function (_React$PureComponent) {
478
489
  _buildSelectProps$inp = _buildSelectProps.inputValue,
479
490
  inputValue = _buildSelectProps$inp === void 0 ? this.buildInputValue(options, selectedItemIdList, loading) : _buildSelectProps$inp;
480
491
 
492
+ var popperStyle = {};
493
+
494
+ if (this.props.containerWidth > 0) {
495
+ popperStyle = {
496
+ width: this.props.containerWidth
497
+ };
498
+
499
+ if (!staticPosition) {
500
+ popperStyle.position = 'absolute';
501
+ }
502
+ }
503
+
504
+ var popperClass = (0, _classnames.default)(classes.popper, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.popperWidth, !this.props.containerWidth), (0, _defineProperty2.default)(_classNames, classes.popperRightAlign, this.props.containerWidth), _classNames));
505
+
481
506
  var content = _react.default.createElement(_ClickAwayListener.default, {
482
507
  onClickAway: this.handleClickAway
483
508
  }, _react.default.createElement(_Grow.default, {
@@ -543,13 +568,15 @@ function (_React$PureComponent) {
543
568
  _this2.inputEl = el;
544
569
  }
545
570
  })), open && staticPosition ? _react.default.createElement("div", {
546
- className: classes.popper
571
+ style: popperStyle,
572
+ className: popperClass
547
573
  }, content) : _react.default.createElement(_Popper.default, {
548
574
  anchorEl: this.inputEl,
549
575
  placement: "bottom-start",
550
576
  open: open,
551
- className: classes.popper,
552
- disablePortal: true
577
+ className: popperClass,
578
+ disablePortal: true,
579
+ style: popperStyle
553
580
  }, content));
554
581
  }
555
582
  }], [{
@@ -595,6 +622,11 @@ HiSelect.propTypes = process.env.NODE_ENV !== "production" ? {
595
622
  */
596
623
  classes: _propTypes.default.object,
597
624
 
625
+ /**
626
+ * Popper width
627
+ */
628
+ containerWidth: _propTypes.default.number,
629
+
598
630
  /**
599
631
  * Inactif
600
632
  */
@@ -111,6 +111,7 @@ var styles = function styles(theme) {
111
111
  }, theme.typography.b1, {
112
112
  fontWeight: 'inherit',
113
113
  width: '100%',
114
+ minWidth: '50%',
114
115
  padding: '5px 0',
115
116
  '& strong': {
116
117
  fontWeight: theme.typography.fontWeightMedium
@@ -137,11 +138,11 @@ var styles = function styles(theme) {
137
138
  color: theme.palette.neutral.main,
138
139
  fontWeight: theme.typography.fontWeightLight,
139
140
  fontSize: 12,
140
- whiteSpace: 'nowrap',
141
141
  textOverflow: 'ellipsis',
142
142
  textAlign: 'right',
143
143
  margin: '4px 12px 4px 8px',
144
- alignSelf: 'center'
144
+ alignSelf: 'center',
145
+ width: '100%'
145
146
  }),
146
147
  checkbox: {
147
148
  marginTop: 3
@@ -421,6 +422,11 @@ HiSelectableListItem.propTypes = process.env.NODE_ENV !== "production" ? {
421
422
  */
422
423
  indeterminate: _propTypes.default.bool,
423
424
 
425
+ /**
426
+ * icon à afficher quand le composant a la prop indeterminate.
427
+ */
428
+ indeterminateIcon: _propTypes.default.string,
429
+
424
430
  /**
425
431
  * Text d'information affiché à droite de l'élément
426
432
  */
@@ -484,7 +490,7 @@ HiSelectableListItem.propTypes = process.env.NODE_ENV !== "production" ? {
484
490
 
485
491
  var _default = (0, _withStyles.default)(styles, {
486
492
  hiComponent: true,
487
- name: 'HmuiHiSelectableList'
493
+ name: 'HmuiHiSelectableListItem'
488
494
  })(HiSelectableListItem);
489
495
 
490
496
  exports.default = _default;
@@ -0,0 +1,229 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.default = void 0;
11
+
12
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
+
14
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
+
16
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
17
+
18
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
19
+
20
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
21
+
22
+ var _react = _interopRequireDefault(require("react"));
23
+
24
+ var _propTypes = _interopRequireDefault(require("prop-types"));
25
+
26
+ var _TableCell = _interopRequireDefault(require("@material-ui/core/TableCell"));
27
+
28
+ var _CellAddress = _interopRequireDefault(require("@hipay/hipay-material-ui/HiCell/CellAddress"));
29
+
30
+ var _CellDate = _interopRequireDefault(require("@hipay/hipay-material-ui/HiCell/CellDate"));
31
+
32
+ var _CellIcon = _interopRequireDefault(require("@hipay/hipay-material-ui/HiCell/CellIcon"));
33
+
34
+ var _CellImage = _interopRequireDefault(require("@hipay/hipay-material-ui/HiCell/CellImage"));
35
+
36
+ var _CellNumeric = _interopRequireDefault(require("@hipay/hipay-material-ui/HiCell/CellNumeric"));
37
+
38
+ var _CellSentinel = _interopRequireDefault(require("@hipay/hipay-material-ui/HiCell/CellSentinel"));
39
+
40
+ var _CellText = _interopRequireDefault(require("@hipay/hipay-material-ui/HiCell/CellText"));
41
+
42
+ var _CellRate = _interopRequireDefault(require("@hipay/hipay-material-ui/HiCell/CellRate"));
43
+
44
+ var _CellPinToAction = _interopRequireDefault(require("@hipay/hipay-material-ui/HiCell/CellPinToAction"));
45
+
46
+ var cst = _interopRequireWildcard(require("./constants"));
47
+
48
+ // @inheritedComponent CellBuilder
49
+ var HiCellBuilder =
50
+ /*#__PURE__*/
51
+ function (_React$PureComponent) {
52
+ (0, _inherits2.default)(HiCellBuilder, _React$PureComponent);
53
+
54
+ function HiCellBuilder() {
55
+ (0, _classCallCheck2.default)(this, HiCellBuilder);
56
+ return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(HiCellBuilder).apply(this, arguments));
57
+ }
58
+
59
+ (0, _createClass2.default)(HiCellBuilder, [{
60
+ key: "createCell",
61
+ value: function createCell(cell, rowdata, locale) {
62
+ if (rowdata.datas[cell.colId]) {
63
+ var datacell = rowdata.datas[cell.colId];
64
+
65
+ if (cell.data !== undefined) {
66
+ var refproperties = cell.data.find(function (el) {
67
+ return el.id === datacell.value;
68
+ });
69
+
70
+ if (refproperties) {
71
+ Object.keys(refproperties).forEach(function (key) {
72
+ datacell[key] = refproperties[key];
73
+ });
74
+ } else {
75
+ datacell = undefined;
76
+ }
77
+ }
78
+
79
+ if (datacell) {
80
+ switch (cell.type) {
81
+ case cst.TYPE_NUMERIC:
82
+ return _react.default.createElement(_CellNumeric.default, {
83
+ value: datacell.value,
84
+ view: cell.view ? cell.view : cst.DEFAULT_VIEWS[cell.type],
85
+ precision: cell.precision,
86
+ currency: datacell.currency,
87
+ locale: datacell.locale || cell.locale || locale
88
+ });
89
+
90
+ case cst.TYPE_COUNTRY:
91
+ return _react.default.createElement(_CellImage.default, {
92
+ label: datacell.label,
93
+ shortLabel: datacell.id,
94
+ path: datacell.img,
95
+ size: datacell.size,
96
+ view: cell.view ? cell.view : cst.DEFAULT_VIEWS[cell.type]
97
+ });
98
+
99
+ case cst.TYPE_IMAGE:
100
+ return _react.default.createElement(_CellImage.default, {
101
+ label: datacell.label,
102
+ shortLabel: datacell.id,
103
+ path: datacell.img,
104
+ size: datacell.size,
105
+ view: cell.view ? cell.view : cst.DEFAULT_VIEWS[cell.type]
106
+ });
107
+
108
+ case cst.TYPE_RATE:
109
+ return _react.default.createElement(_CellRate.default, {
110
+ indicator: datacell.indicator,
111
+ isPositive: datacell.isPositive,
112
+ locale: datacell.locale || cell.locale || locale,
113
+ value: datacell.value,
114
+ trendchip: datacell.trendchip,
115
+ view: cell.view ? cell.view : cst.DEFAULT_VIEWS[cell.type]
116
+ });
117
+
118
+ case cst.TYPE_ADDRESS:
119
+ return _react.default.createElement(_CellAddress.default, {
120
+ city: datacell.city,
121
+ country: datacell.country,
122
+ isoCountry: datacell.isoCountry,
123
+ name: datacell.name,
124
+ postalCode: datacell.postalCode,
125
+ streetAddress: datacell.streetAddress,
126
+ view: cell.view ? cell.view : cst.DEFAULT_VIEWS[cell.type]
127
+ });
128
+
129
+ case cst.TYPE_DATE:
130
+ return _react.default.createElement(_CellDate.default, {
131
+ date: datacell.date,
132
+ displayTime: datacell.displayTime,
133
+ formatShort: datacell.formatShort,
134
+ locale: datacell.locale || cell.precision || locale,
135
+ view: cell.view ? cell.view : cst.DEFAULT_VIEWS[cell.type]
136
+ });
137
+
138
+ case cst.TYPE_ICON:
139
+ return _react.default.createElement(_CellIcon.default, {
140
+ color: datacell.color,
141
+ icon: datacell.icon,
142
+ label: datacell.label,
143
+ view: cell.view ? cell.view : cst.DEFAULT_VIEWS[cell.type],
144
+ size: cell.size
145
+ });
146
+
147
+ case cst.TYPE_THIRD_PARTY_SECURITY:
148
+ return _react.default.createElement(_CellIcon.default, {
149
+ color: datacell.color,
150
+ icon: datacell.icon,
151
+ label: datacell.label,
152
+ view: cell.view ? cell.view : cst.DEFAULT_VIEWS[cell.type],
153
+ size: cell.size
154
+ });
155
+
156
+ case cst.TYPE_SENTINEL:
157
+ return _react.default.createElement(_CellSentinel.default, {
158
+ automaticFraudReviewResult: datacell.automaticFraudReviewResult,
159
+ fraudResult: datacell.value,
160
+ hideFraudResult: datacell.hideFraudResult,
161
+ pendingManualAction: datacell.pendingManualAction,
162
+ score: datacell.score,
163
+ smartDecision: datacell.smartDecision,
164
+ view: cell.view ? cell.view : cst.DEFAULT_VIEWS[cell.type]
165
+ });
166
+
167
+ case cst.TYPE_PIN_TO_ACTION:
168
+ return _react.default.createElement(_CellPinToAction.default, {
169
+ number: datacell.number,
170
+ onClick: datacell.onClick
171
+ });
172
+
173
+ case cst.TYPE_ACCOUNT_NUMBER:
174
+ return _react.default.createElement(_CellText.default, {
175
+ label: datacell.value,
176
+ color: datacell.color,
177
+ ellipsis: datacell.ellipse
178
+ });
179
+
180
+ default:
181
+ return _react.default.createElement(_CellText.default, {
182
+ label: datacell.value,
183
+ color: datacell.color,
184
+ ellipsis: datacell.ellipse,
185
+ view: cell.view ? cell.view : cst.DEFAULT_VIEWS[cell.type]
186
+ });
187
+ }
188
+ }
189
+ }
190
+
191
+ return null;
192
+ }
193
+ }, {
194
+ key: "render",
195
+ value: function render() {
196
+ var _this$props = this.props,
197
+ column = _this$props.column,
198
+ data = _this$props.data,
199
+ locale = _this$props.locale;
200
+ return _react.default.createElement(_TableCell.default, {
201
+ style: {
202
+ border: 'none',
203
+ paddingRight: '13px',
204
+ paddingLeft: '13px'
205
+ }
206
+ }, this.createCell(column, data, locale));
207
+ }
208
+ }]);
209
+ return HiCellBuilder;
210
+ }(_react.default.PureComponent);
211
+
212
+ HiCellBuilder.propTypes = process.env.NODE_ENV !== "production" ? {
213
+ /**
214
+ * Propriétés de la colonne
215
+ */
216
+ column: _propTypes.default.object.isRequired,
217
+
218
+ /**
219
+ * Données de la cellule
220
+ */
221
+ data: _propTypes.default.object.isRequired,
222
+
223
+ /**
224
+ * Locale pour afficher les nombres et montants
225
+ */
226
+ locale: _propTypes.default.string
227
+ } : {};
228
+ var _default = HiCellBuilder;
229
+ exports.default = _default;
@@ -0,0 +1,155 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+
12
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
+
14
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
15
+
16
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
17
+
18
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
+
20
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
21
+
22
+ var _react = _interopRequireDefault(require("react"));
23
+
24
+ var _propTypes = _interopRequireDefault(require("prop-types"));
25
+
26
+ var _withStyles = _interopRequireDefault(require("../styles/withStyles"));
27
+
28
+ var _Table = _interopRequireDefault(require("@material-ui/core/Table"));
29
+
30
+ var _HiTableHeader = _interopRequireDefault(require("./HiTableHeader"));
31
+
32
+ var _HiTableBody = _interopRequireDefault(require("./HiTableBody"));
33
+
34
+ // @inheritedComponent Table
35
+ var styles = function styles(theme) {
36
+ return {
37
+ root: {
38
+ backgroundColor: theme.palette.background3
39
+ }
40
+ };
41
+ };
42
+
43
+ var HiTable =
44
+ /*#__PURE__*/
45
+ function (_React$PureComponent) {
46
+ (0, _inherits2.default)(HiTable, _React$PureComponent);
47
+
48
+ function HiTable(props) {
49
+ var _this;
50
+
51
+ (0, _classCallCheck2.default)(this, HiTable);
52
+ _this = (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(HiTable).call(this, props));
53
+
54
+ _this.handleRequestSort = function (event, property) {
55
+ if (_this.props.onSort) {
56
+ _this.props.onSort(property);
57
+ }
58
+ };
59
+
60
+ _this.handleRequestSort = _this.handleRequestSort.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)));
61
+ return _this;
62
+ }
63
+
64
+ (0, _createClass2.default)(HiTable, [{
65
+ key: "render",
66
+ value: function render() {
67
+ var _this$props = this.props,
68
+ classes = _this$props.classes,
69
+ data = _this$props.data,
70
+ columns = _this$props.columns,
71
+ locale = _this$props.locale,
72
+ sortable = _this$props.sortable,
73
+ onRowClick = _this$props.onRowClick,
74
+ dense = _this$props.dense,
75
+ order = _this$props.order,
76
+ orderBy = _this$props.orderBy;
77
+ return _react.default.createElement(_Table.default, {
78
+ className: classes.root
79
+ }, _react.default.createElement(_HiTableHeader.default, {
80
+ columns: columns,
81
+ order: order,
82
+ orderBy: orderBy,
83
+ onRequestSort: this.handleRequestSort,
84
+ sortable: sortable,
85
+ dense: dense
86
+ }), _react.default.createElement(_HiTableBody.default, {
87
+ data: data,
88
+ columns: columns,
89
+ onClick: onRowClick,
90
+ dense: dense,
91
+ locale: locale
92
+ }));
93
+ }
94
+ }]);
95
+ return HiTable;
96
+ }(_react.default.PureComponent);
97
+
98
+ HiTable.propTypes = process.env.NODE_ENV !== "production" ? {
99
+ /**
100
+ * Surcharge les classes du composant
101
+ */
102
+ classes: _propTypes.default.object,
103
+
104
+ /**
105
+ * En-tête des données et leurs paramètres
106
+ */
107
+ columns: _propTypes.default.object.isRequired,
108
+
109
+ /**
110
+ * Données du tableau
111
+ */
112
+ data: _propTypes.default.array.isRequired,
113
+
114
+ /**
115
+ * Densité d'affichage (joue sur la hauteur des lignes)
116
+ */
117
+ dense: _propTypes.default.bool,
118
+
119
+ /**
120
+ * Locale pour afficher les nombres et montants
121
+ */
122
+ locale: _propTypes.default.string,
123
+
124
+ /**
125
+ * Fonction se déclanchant au clic sur une ligne
126
+ */
127
+ onRowClick: _propTypes.default.func,
128
+
129
+ /**
130
+ * Fonction de trie des données
131
+ */
132
+ onSort: _propTypes.default.func,
133
+
134
+ /**
135
+ * Sens du tri
136
+ */
137
+ order: _propTypes.default.oneOf(['asc', 'desc']),
138
+
139
+ /**
140
+ * Id de la colonne trié
141
+ */
142
+ orderBy: _propTypes.default.string,
143
+
144
+ /**
145
+ * Le tableau est-il triable ?
146
+ */
147
+ sortable: _propTypes.default.bool
148
+ } : {};
149
+
150
+ var _default = (0, _withStyles.default)(styles, {
151
+ hiComponent: true,
152
+ name: 'HmuiHiTable'
153
+ })(HiTable);
154
+
155
+ exports.default = _default;