@hipay/hipay-material-ui 1.0.0-beta.6 → 1.0.0-beta.7
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.
- package/HiAlertModal/HiAlertModal.js +247 -0
- package/HiAlertModal/index.js +16 -0
- package/HiExpansionPanel/HiExpansionPanel.js +231 -0
- package/HiExpansionPanel/index.js +16 -0
- package/HiForm/HiFormControl.js +3 -0
- package/HiSelect/HiSelect.js +50 -31
- package/HiSelectableList/HiSelectableListItem.js +34 -9
- package/HiTable/BodyCells/CellCountry.js +1 -1
- package/es/HiAlertModal/HiAlertModal.js +189 -0
- package/es/HiAlertModal/index.js +1 -0
- package/es/HiExpansionPanel/HiExpansionPanel.js +170 -0
- package/es/HiExpansionPanel/index.js +1 -0
- package/es/HiForm/HiFormControl.js +3 -0
- package/es/HiSelect/HiSelect.js +49 -31
- package/es/HiSelectableList/HiSelectableListItem.js +30 -9
- package/es/HiTable/BodyCells/CellCountry.js +1 -1
- package/es/styles/createHiMuiTheme.js +4 -0
- package/index.es.js +1 -1
- package/index.js +1 -1
- package/package.json +1 -1
- package/styles/createHiMuiTheme.js +4 -0
- package/umd/hipay-material-ui.development.js +826 -775
- package/umd/hipay-material-ui.production.min.js +4 -4
@@ -0,0 +1,247 @@
|
|
1
|
+
'use strict';
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.styles = undefined;
|
7
|
+
|
8
|
+
var _extends2 = require('babel-runtime/helpers/extends');
|
9
|
+
|
10
|
+
var _extends3 = _interopRequireDefault(_extends2);
|
11
|
+
|
12
|
+
var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
|
13
|
+
|
14
|
+
var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
|
15
|
+
|
16
|
+
var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
|
17
|
+
|
18
|
+
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
19
|
+
|
20
|
+
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
|
21
|
+
|
22
|
+
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
23
|
+
|
24
|
+
var _createClass2 = require('babel-runtime/helpers/createClass');
|
25
|
+
|
26
|
+
var _createClass3 = _interopRequireDefault(_createClass2);
|
27
|
+
|
28
|
+
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
|
29
|
+
|
30
|
+
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
31
|
+
|
32
|
+
var _inherits2 = require('babel-runtime/helpers/inherits');
|
33
|
+
|
34
|
+
var _inherits3 = _interopRequireDefault(_inherits2);
|
35
|
+
|
36
|
+
var _react = require('react');
|
37
|
+
|
38
|
+
var _react2 = _interopRequireDefault(_react);
|
39
|
+
|
40
|
+
var _propTypes = require('prop-types');
|
41
|
+
|
42
|
+
var _propTypes2 = _interopRequireDefault(_propTypes);
|
43
|
+
|
44
|
+
var _Dialog = require('material-ui/Dialog');
|
45
|
+
|
46
|
+
var _Dialog2 = _interopRequireDefault(_Dialog);
|
47
|
+
|
48
|
+
var _styles = require('../styles');
|
49
|
+
|
50
|
+
var _HiButton = require('../HiButton');
|
51
|
+
|
52
|
+
var _HiButton2 = _interopRequireDefault(_HiButton);
|
53
|
+
|
54
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
55
|
+
|
56
|
+
var styles = exports.styles = function styles(theme) {
|
57
|
+
return {
|
58
|
+
classContent: {
|
59
|
+
fontSize: 14,
|
60
|
+
lineHeight: '24px',
|
61
|
+
color: '#484848'
|
62
|
+
},
|
63
|
+
classPaper: {
|
64
|
+
maxWidth: 300
|
65
|
+
},
|
66
|
+
classCancelButton: {
|
67
|
+
float: 'right'
|
68
|
+
},
|
69
|
+
classTitle: {
|
70
|
+
fontSize: 20,
|
71
|
+
fontFamily: theme.typography.fontFamily,
|
72
|
+
fontWeight: theme.typography.fontWeightLight,
|
73
|
+
lineHeight: '24px'
|
74
|
+
},
|
75
|
+
classAction: {
|
76
|
+
display: 'inline-block'
|
77
|
+
},
|
78
|
+
classDialogRoot: {
|
79
|
+
backgroundColor: 'rgba(0, 0, 0, 0.28)'
|
80
|
+
}
|
81
|
+
};
|
82
|
+
};
|
83
|
+
|
84
|
+
/**
|
85
|
+
* Pop up d'alert
|
86
|
+
*/
|
87
|
+
// @inheritedComponent Dialog
|
88
|
+
|
89
|
+
var HiAlertModal = function (_React$PureComponent) {
|
90
|
+
(0, _inherits3.default)(HiAlertModal, _React$PureComponent);
|
91
|
+
|
92
|
+
function HiAlertModal(props) {
|
93
|
+
(0, _classCallCheck3.default)(this, HiAlertModal);
|
94
|
+
|
95
|
+
var _this = (0, _possibleConstructorReturn3.default)(this, (HiAlertModal.__proto__ || (0, _getPrototypeOf2.default)(HiAlertModal)).call(this, props));
|
96
|
+
|
97
|
+
_this.handleClickCancel = function () {
|
98
|
+
if (_this.props.onCancelClick) {
|
99
|
+
_this.props.onCancelClick();
|
100
|
+
}
|
101
|
+
};
|
102
|
+
|
103
|
+
_this.handleClickSubmit = function () {
|
104
|
+
if (_this.props.onSubmitClick) {
|
105
|
+
_this.props.onSubmitClick();
|
106
|
+
}
|
107
|
+
};
|
108
|
+
|
109
|
+
_this.handleOnClose = function () {
|
110
|
+
if (_this.props.onClose) {
|
111
|
+
_this.props.onClose();
|
112
|
+
}
|
113
|
+
};
|
114
|
+
|
115
|
+
_this.handleOnClose = _this.handleOnClose.bind(_this);
|
116
|
+
_this.handleClickCancel = _this.handleClickCancel.bind(_this);
|
117
|
+
_this.handleClickSubmit = _this.handleClickSubmit.bind(_this);
|
118
|
+
return _this;
|
119
|
+
}
|
120
|
+
|
121
|
+
// Appelé au clic du bouton d'annulation
|
122
|
+
|
123
|
+
|
124
|
+
// Appelé au clic du bouton de soumission
|
125
|
+
|
126
|
+
|
127
|
+
// Appelé si clic en dehors de la pop up
|
128
|
+
|
129
|
+
|
130
|
+
(0, _createClass3.default)(HiAlertModal, [{
|
131
|
+
key: 'render',
|
132
|
+
|
133
|
+
|
134
|
+
// Render
|
135
|
+
value: function render() {
|
136
|
+
var _props = this.props,
|
137
|
+
labelSubmitButton = _props.labelSubmitButton,
|
138
|
+
labelCancelButton = _props.labelCancelButton,
|
139
|
+
content = _props.content,
|
140
|
+
title = _props.title,
|
141
|
+
positive = _props.positive,
|
142
|
+
negative = _props.negative,
|
143
|
+
open = _props.open,
|
144
|
+
onCancelClick = _props.onCancelClick,
|
145
|
+
onSubmitClick = _props.onSubmitClick,
|
146
|
+
classes = _props.classes,
|
147
|
+
props = (0, _objectWithoutProperties3.default)(_props, ['labelSubmitButton', 'labelCancelButton', 'content', 'title', 'positive', 'negative', 'open', 'onCancelClick', 'onSubmitClick', 'classes']);
|
148
|
+
|
149
|
+
return _react2.default.createElement(
|
150
|
+
_Dialog2.default,
|
151
|
+
(0, _extends3.default)({
|
152
|
+
open: open,
|
153
|
+
onClose: this.handleOnClose,
|
154
|
+
classes: { paper: classes.classPaper, root: classes.classDialogRoot }
|
155
|
+
}, props),
|
156
|
+
_react2.default.createElement(
|
157
|
+
_Dialog.DialogTitle,
|
158
|
+
{ disableTypography: true, classes: { root: classes.classTitle } },
|
159
|
+
title
|
160
|
+
),
|
161
|
+
_react2.default.createElement(
|
162
|
+
_Dialog.DialogContent,
|
163
|
+
null,
|
164
|
+
_react2.default.createElement(
|
165
|
+
_Dialog.DialogContentText,
|
166
|
+
{ classes: { root: classes.classContent } },
|
167
|
+
content
|
168
|
+
)
|
169
|
+
),
|
170
|
+
_react2.default.createElement(
|
171
|
+
_Dialog.DialogActions,
|
172
|
+
{ classes: { root: classes.classAction } },
|
173
|
+
_react2.default.createElement(
|
174
|
+
_HiButton2.default,
|
175
|
+
{
|
176
|
+
onClick: this.handleClickSubmit,
|
177
|
+
positive: positive,
|
178
|
+
negative: negative
|
179
|
+
},
|
180
|
+
labelSubmitButton
|
181
|
+
),
|
182
|
+
_react2.default.createElement(
|
183
|
+
_HiButton2.default,
|
184
|
+
{
|
185
|
+
classes: { root: classes.classCancelButton },
|
186
|
+
onClick: this.handleClickCancel
|
187
|
+
},
|
188
|
+
labelCancelButton
|
189
|
+
)
|
190
|
+
)
|
191
|
+
);
|
192
|
+
}
|
193
|
+
}]);
|
194
|
+
return HiAlertModal;
|
195
|
+
}(_react2.default.PureComponent);
|
196
|
+
|
197
|
+
HiAlertModal.defaultProps = {
|
198
|
+
negative: false,
|
199
|
+
positive: false
|
200
|
+
};
|
201
|
+
HiAlertModal.propTypes = process.env.NODE_ENV !== "production" ? {
|
202
|
+
/**
|
203
|
+
* Surcharge les classes du composant
|
204
|
+
*/
|
205
|
+
classes: _propTypes2.default.object,
|
206
|
+
/**
|
207
|
+
* Texte contenu dans la modal
|
208
|
+
*/
|
209
|
+
content: _propTypes2.default.string,
|
210
|
+
/**
|
211
|
+
* Texte sur le bouton d'annulation
|
212
|
+
*/
|
213
|
+
labelCancelButton: _propTypes2.default.string,
|
214
|
+
/**
|
215
|
+
* Texte sur le bouton de soumission
|
216
|
+
*/
|
217
|
+
labelSubmitButton: _propTypes2.default.string,
|
218
|
+
/**
|
219
|
+
* Colore le bouton de soumission en rouge
|
220
|
+
*/
|
221
|
+
negative: _propTypes2.default.bool,
|
222
|
+
/**
|
223
|
+
* Fonction de callback appelée au clic sur le bouton d'annulation
|
224
|
+
*/
|
225
|
+
onCancelClick: _propTypes2.default.func,
|
226
|
+
/**
|
227
|
+
* Fonction de callback appelée au clic en dehors de la pop up
|
228
|
+
*/
|
229
|
+
onClose: _propTypes2.default.func,
|
230
|
+
/**
|
231
|
+
* Fonction de callback appelée au clic sur le bouton de soumission
|
232
|
+
*/
|
233
|
+
onSubmitClick: _propTypes2.default.func,
|
234
|
+
/**
|
235
|
+
* pop up ouverte ou pas
|
236
|
+
*/
|
237
|
+
open: _propTypes2.default.bool.isRequired,
|
238
|
+
/**
|
239
|
+
* Colore le bouton de soumission en vert
|
240
|
+
*/
|
241
|
+
positive: _propTypes2.default.bool,
|
242
|
+
/**
|
243
|
+
* Titre de la modal
|
244
|
+
*/
|
245
|
+
title: _propTypes2.default.string
|
246
|
+
} : {};
|
247
|
+
exports.default = (0, _styles.withStyles)(styles, { name: 'HmuiHiAlertModal' })(HiAlertModal);
|
@@ -0,0 +1,16 @@
|
|
1
|
+
'use strict';
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
|
7
|
+
var _HiAlertModal = require('./HiAlertModal');
|
8
|
+
|
9
|
+
Object.defineProperty(exports, 'default', {
|
10
|
+
enumerable: true,
|
11
|
+
get: function get() {
|
12
|
+
return _interopRequireDefault(_HiAlertModal).default;
|
13
|
+
}
|
14
|
+
});
|
15
|
+
|
16
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
@@ -0,0 +1,231 @@
|
|
1
|
+
'use strict';
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.styles = undefined;
|
7
|
+
|
8
|
+
var _extends2 = require('babel-runtime/helpers/extends');
|
9
|
+
|
10
|
+
var _extends3 = _interopRequireDefault(_extends2);
|
11
|
+
|
12
|
+
var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
|
13
|
+
|
14
|
+
var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
|
15
|
+
|
16
|
+
var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
|
17
|
+
|
18
|
+
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
19
|
+
|
20
|
+
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
|
21
|
+
|
22
|
+
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
23
|
+
|
24
|
+
var _createClass2 = require('babel-runtime/helpers/createClass');
|
25
|
+
|
26
|
+
var _createClass3 = _interopRequireDefault(_createClass2);
|
27
|
+
|
28
|
+
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
|
29
|
+
|
30
|
+
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
31
|
+
|
32
|
+
var _inherits2 = require('babel-runtime/helpers/inherits');
|
33
|
+
|
34
|
+
var _inherits3 = _interopRequireDefault(_inherits2);
|
35
|
+
|
36
|
+
var _react = require('react');
|
37
|
+
|
38
|
+
var _react2 = _interopRequireDefault(_react);
|
39
|
+
|
40
|
+
var _propTypes = require('prop-types');
|
41
|
+
|
42
|
+
var _propTypes2 = _interopRequireDefault(_propTypes);
|
43
|
+
|
44
|
+
var _ExpansionPanel = require('material-ui/ExpansionPanel');
|
45
|
+
|
46
|
+
var _ExpansionPanel2 = _interopRequireDefault(_ExpansionPanel);
|
47
|
+
|
48
|
+
var _Typography = require('material-ui/Typography');
|
49
|
+
|
50
|
+
var _Typography2 = _interopRequireDefault(_Typography);
|
51
|
+
|
52
|
+
var _MenuDown = require('mdi-material-ui/MenuDown');
|
53
|
+
|
54
|
+
var _MenuDown2 = _interopRequireDefault(_MenuDown);
|
55
|
+
|
56
|
+
var _styles = require('../styles');
|
57
|
+
|
58
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
59
|
+
|
60
|
+
// @inheritedComponent ExpansionPanel
|
61
|
+
|
62
|
+
var styles = exports.styles = function styles(theme) {
|
63
|
+
return {
|
64
|
+
heading: {
|
65
|
+
fontSize: 20,
|
66
|
+
lineHeight: '24px',
|
67
|
+
fontWeight: theme.typography.fontWeightLight
|
68
|
+
},
|
69
|
+
secondaryHeading: {
|
70
|
+
fontSize: 11,
|
71
|
+
color: '#737373',
|
72
|
+
textAlign: 'right',
|
73
|
+
lineHeight: '24px',
|
74
|
+
fontWeight: theme.typography.fontWeightRegular,
|
75
|
+
verticalAlign: 'middle',
|
76
|
+
'&>svg': {
|
77
|
+
fontSize: 18,
|
78
|
+
marginLeft: 3,
|
79
|
+
marginBottom: -5
|
80
|
+
}
|
81
|
+
},
|
82
|
+
column: {
|
83
|
+
flexBasis: '100%'
|
84
|
+
},
|
85
|
+
panelSummary: {
|
86
|
+
'&>div:first-child': {
|
87
|
+
margin: '12px 0',
|
88
|
+
'&>div:last-child': {
|
89
|
+
paddingRight: 8
|
90
|
+
}
|
91
|
+
},
|
92
|
+
'&>div:last-child': {
|
93
|
+
width: 16,
|
94
|
+
height: 16
|
95
|
+
}
|
96
|
+
},
|
97
|
+
panelSummaryExpanded: {
|
98
|
+
borderBottom: '1px solid #E3E6E7',
|
99
|
+
minHeight: 0
|
100
|
+
},
|
101
|
+
expandMoreIcon: {
|
102
|
+
margin: 0,
|
103
|
+
fontSize: 18,
|
104
|
+
width: 20
|
105
|
+
},
|
106
|
+
panel: {
|
107
|
+
boxShadow: 'none',
|
108
|
+
border: 'none'
|
109
|
+
},
|
110
|
+
panelDetails: {
|
111
|
+
padding: '8px 24px 8px'
|
112
|
+
},
|
113
|
+
disabledPanel: {
|
114
|
+
backgroundColor: '#ffffff',
|
115
|
+
opacity: 1
|
116
|
+
},
|
117
|
+
expandIconExpanded: {
|
118
|
+
transform: 'translateY(-50%) rotate(-90deg)'
|
119
|
+
}
|
120
|
+
};
|
121
|
+
};
|
122
|
+
|
123
|
+
var HiExpansionPanel = function (_React$PureComponent) {
|
124
|
+
(0, _inherits3.default)(HiExpansionPanel, _React$PureComponent);
|
125
|
+
|
126
|
+
function HiExpansionPanel() {
|
127
|
+
(0, _classCallCheck3.default)(this, HiExpansionPanel);
|
128
|
+
return (0, _possibleConstructorReturn3.default)(this, (HiExpansionPanel.__proto__ || (0, _getPrototypeOf2.default)(HiExpansionPanel)).apply(this, arguments));
|
129
|
+
}
|
130
|
+
|
131
|
+
(0, _createClass3.default)(HiExpansionPanel, [{
|
132
|
+
key: 'render',
|
133
|
+
value: function render() {
|
134
|
+
var _props = this.props,
|
135
|
+
disabled = _props.disabled,
|
136
|
+
heading = _props.heading,
|
137
|
+
secondaryHeading = _props.secondaryHeading,
|
138
|
+
secondaryHeadingDisabled = _props.secondaryHeadingDisabled,
|
139
|
+
secondaryHeadingIcon = _props.secondaryHeadingIcon,
|
140
|
+
children = _props.children,
|
141
|
+
classes = _props.classes,
|
142
|
+
props = (0, _objectWithoutProperties3.default)(_props, ['disabled', 'heading', 'secondaryHeading', 'secondaryHeadingDisabled', 'secondaryHeadingIcon', 'children', 'classes']);
|
143
|
+
|
144
|
+
|
145
|
+
var effectiveDisabled = disabled || !children;
|
146
|
+
|
147
|
+
return _react2.default.createElement(
|
148
|
+
_ExpansionPanel2.default,
|
149
|
+
(0, _extends3.default)({
|
150
|
+
disabled: effectiveDisabled,
|
151
|
+
classes: { root: classes.panel, disabled: classes.disabledPanel }
|
152
|
+
}, props),
|
153
|
+
_react2.default.createElement(
|
154
|
+
_ExpansionPanel.ExpansionPanelSummary,
|
155
|
+
{
|
156
|
+
classes: {
|
157
|
+
root: classes.panelSummary,
|
158
|
+
disabled: classes.disabledPanel,
|
159
|
+
expanded: classes.panelSummaryExpanded,
|
160
|
+
expandIconExpanded: classes.expandIconExpanded
|
161
|
+
},
|
162
|
+
expandIcon: _react2.default.createElement(_MenuDown2.default, { classes: { root: classes.expandMoreIcon } })
|
163
|
+
},
|
164
|
+
_react2.default.createElement(
|
165
|
+
'div',
|
166
|
+
{ className: classes.column },
|
167
|
+
_react2.default.createElement(
|
168
|
+
_Typography2.default,
|
169
|
+
{ classes: { root: classes.heading } },
|
170
|
+
heading
|
171
|
+
)
|
172
|
+
),
|
173
|
+
_react2.default.createElement(
|
174
|
+
'div',
|
175
|
+
{ className: classes.column },
|
176
|
+
_react2.default.createElement(
|
177
|
+
_Typography2.default,
|
178
|
+
{ classes: { root: classes.secondaryHeading } },
|
179
|
+
!effectiveDisabled ? secondaryHeading : secondaryHeadingDisabled,
|
180
|
+
secondaryHeadingIcon
|
181
|
+
)
|
182
|
+
)
|
183
|
+
),
|
184
|
+
!!children && _react2.default.createElement(
|
185
|
+
_ExpansionPanel.ExpansionPanelDetails,
|
186
|
+
{ classes: { root: classes.panelDetails } },
|
187
|
+
children
|
188
|
+
)
|
189
|
+
);
|
190
|
+
}
|
191
|
+
}]);
|
192
|
+
return HiExpansionPanel;
|
193
|
+
}(_react2.default.PureComponent);
|
194
|
+
|
195
|
+
HiExpansionPanel.defaultProps = {
|
196
|
+
disabled: false,
|
197
|
+
secondaryHeading: '',
|
198
|
+
secondaryHeadingIcon: '',
|
199
|
+
secondaryHeadingDisabled: 'PAS ENCORE COMPLETE'
|
200
|
+
};
|
201
|
+
HiExpansionPanel.propTypes = process.env.NODE_ENV !== "production" ? {
|
202
|
+
/**
|
203
|
+
* Contenu du panel
|
204
|
+
*/
|
205
|
+
children: _propTypes2.default.any,
|
206
|
+
/**
|
207
|
+
* Surcharge les classes du composant
|
208
|
+
*/
|
209
|
+
classes: _propTypes2.default.object,
|
210
|
+
/**
|
211
|
+
* Désactivé
|
212
|
+
*/
|
213
|
+
disabled: _propTypes2.default.bool,
|
214
|
+
/**
|
215
|
+
* Titre principal du panel
|
216
|
+
*/
|
217
|
+
heading: _propTypes2.default.string.isRequired,
|
218
|
+
/**
|
219
|
+
* Titre secondaire du panel
|
220
|
+
*/
|
221
|
+
secondaryHeading: _propTypes2.default.string,
|
222
|
+
/**
|
223
|
+
* Titre secondaire si désactivé
|
224
|
+
*/
|
225
|
+
secondaryHeadingDisabled: _propTypes2.default.string,
|
226
|
+
/**
|
227
|
+
* Icone dans le titre secondaire du panel
|
228
|
+
*/
|
229
|
+
secondaryHeadingIcon: _propTypes2.default.any
|
230
|
+
} : {};
|
231
|
+
exports.default = (0, _styles.withStyles)(styles, { name: 'HmuiHiExpansionPanel' })(HiExpansionPanel);
|
@@ -0,0 +1,16 @@
|
|
1
|
+
'use strict';
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
|
7
|
+
var _HiExpansionPanel = require('./HiExpansionPanel');
|
8
|
+
|
9
|
+
Object.defineProperty(exports, 'default', {
|
10
|
+
enumerable: true,
|
11
|
+
get: function get() {
|
12
|
+
return _interopRequireDefault(_HiExpansionPanel).default;
|
13
|
+
}
|
14
|
+
});
|
15
|
+
|
16
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
package/HiForm/HiFormControl.js
CHANGED
@@ -175,6 +175,9 @@ var HiFormControl = function (_React$PureComponent) {
|
|
175
175
|
key: 'handleFocus',
|
176
176
|
value: function handleFocus(value) {
|
177
177
|
this.setState({ focused: value });
|
178
|
+
if (value === false && this.state.hovered) {
|
179
|
+
this.setState({ hovered: false });
|
180
|
+
}
|
178
181
|
}
|
179
182
|
}, {
|
180
183
|
key: 'handleHover',
|
package/HiSelect/HiSelect.js
CHANGED
@@ -163,43 +163,28 @@ var HiSelect = function (_React$PureComponent) {
|
|
163
163
|
|
164
164
|
// Check if value is in options
|
165
165
|
var valueInOptions = false;
|
166
|
-
var val =
|
166
|
+
var val = props.value;
|
167
167
|
// No options provided.
|
168
|
-
if (!
|
168
|
+
if (!props.options.length || !val || !val.length) {
|
169
169
|
valueInOptions = true;
|
170
|
+
} else {
|
171
|
+
// Check if an option match value prop.
|
172
|
+
props.options.forEach(function (item) {
|
173
|
+
if (!valueInOptions && val.indexOf(item.id) !== -1) {
|
174
|
+
valueInOptions = true;
|
175
|
+
}
|
176
|
+
});
|
170
177
|
}
|
171
|
-
|
172
|
-
_this.props.options.forEach(function (item) {
|
173
|
-
if (!valueInOptions && val.indexOf(item.id) !== -1) {
|
174
|
-
valueInOptions = true;
|
175
|
-
}
|
176
|
-
});
|
178
|
+
|
177
179
|
if (!valueInOptions) {
|
178
180
|
throw new Error('prop value provided does not match any option.');
|
179
181
|
}
|
180
182
|
|
181
183
|
if (props.hierarchic === true && props.options.length > 1) {
|
182
|
-
|
183
|
-
// hierarchy[parentId] => children
|
184
|
-
// hierarchySelected[parentId] => selected children
|
185
|
-
var hierarchy = {};
|
186
|
-
var hierarchySelected = {};
|
187
|
-
var value = props.value || [];
|
188
|
-
if (!Array.isArray(value)) value = [props.value];
|
189
|
-
props.options.forEach(function (option) {
|
190
|
-
if (option.hasChildren === true && !hierarchy.hasOwnProperty(option.id)) {
|
191
|
-
hierarchy[option.id] = [];
|
192
|
-
hierarchySelected[option.id] = [];
|
193
|
-
} else if (option.hasOwnProperty('parentId')) {
|
194
|
-
hierarchy[option.parentId].push(option.id);
|
195
|
-
if (value.includes(option.id)) {
|
196
|
-
hierarchySelected[option.parentId].push(option.id);
|
197
|
-
}
|
198
|
-
}
|
199
|
-
});
|
184
|
+
var hierarchyTrees = _this.buildHierarchyTrees(props);
|
200
185
|
|
201
|
-
_this.state.hierarchy = hierarchy;
|
202
|
-
_this.state.hierarchySelected = hierarchySelected;
|
186
|
+
_this.state.hierarchy = hierarchyTrees.hierarchy;
|
187
|
+
_this.state.hierarchySelected = hierarchyTrees.hierarchySelected;
|
203
188
|
}
|
204
189
|
|
205
190
|
if (props.options.length > 0) {
|
@@ -238,6 +223,34 @@ var HiSelect = function (_React$PureComponent) {
|
|
238
223
|
});
|
239
224
|
this.setState({ nbOptions: optionsLength });
|
240
225
|
}
|
226
|
+
|
227
|
+
if (nextProps.hierarchic === true && nextProps.options.length > 1) {
|
228
|
+
var hierarchyTrees = this.buildHierarchyTrees(nextProps);
|
229
|
+
this.setState({ hierarchy: hierarchyTrees.hierarchy, hierarchySelected: hierarchyTrees.hierarchySelected });
|
230
|
+
}
|
231
|
+
}
|
232
|
+
}, {
|
233
|
+
key: 'buildHierarchyTrees',
|
234
|
+
value: function buildHierarchyTrees(props) {
|
235
|
+
// Construct two associative arrays
|
236
|
+
// hierarchy[parentId] => children
|
237
|
+
// hierarchySelected[parentId] => selected children
|
238
|
+
var hierarchy = {};
|
239
|
+
var hierarchySelected = {};
|
240
|
+
var value = props.value || [];
|
241
|
+
if (!Array.isArray(value)) value = [props.value];
|
242
|
+
props.options.forEach(function (option) {
|
243
|
+
if (option.hasChildren === true && !hierarchy.hasOwnProperty(option.id)) {
|
244
|
+
hierarchy[option.id] = [];
|
245
|
+
hierarchySelected[option.id] = [];
|
246
|
+
} else if (option.hasOwnProperty('parentId')) {
|
247
|
+
hierarchy[option.parentId].push(option.id);
|
248
|
+
if (value.includes(option.id)) {
|
249
|
+
hierarchySelected[option.parentId].push(option.id);
|
250
|
+
}
|
251
|
+
}
|
252
|
+
});
|
253
|
+
return { hierarchy: hierarchy, hierarchySelected: hierarchySelected };
|
241
254
|
}
|
242
255
|
|
243
256
|
// Key down on list items
|
@@ -287,7 +300,8 @@ var HiSelect = function (_React$PureComponent) {
|
|
287
300
|
hoverIcon = _props.hoverIcon,
|
288
301
|
checkedIcon = _props.checkedIcon,
|
289
302
|
hierarchic = _props.hierarchic,
|
290
|
-
id = _props.id
|
303
|
+
id = _props.id,
|
304
|
+
placeholder = _props.placeholder;
|
291
305
|
var _state = this.state,
|
292
306
|
open = _state.open,
|
293
307
|
suggestions = _state.suggestions,
|
@@ -322,7 +336,7 @@ var HiSelect = function (_React$PureComponent) {
|
|
322
336
|
}
|
323
337
|
|
324
338
|
if (displayAsChip) {
|
325
|
-
var chipFilter = _react2.default.createElement(_HiChip2.default, { label: display, onDelete: this.handleRequestDelete });
|
339
|
+
var chipFilter = _react2.default.createElement(_HiChip2.default, { label: placeholder || display, onDelete: this.handleRequestDelete });
|
326
340
|
if (display) {
|
327
341
|
display = chipFilter;
|
328
342
|
}
|
@@ -356,7 +370,7 @@ var HiSelect = function (_React$PureComponent) {
|
|
356
370
|
null,
|
357
371
|
_react2.default.createElement(_SelectInput2.default, {
|
358
372
|
id: id,
|
359
|
-
value: display,
|
373
|
+
value: placeholder || display,
|
360
374
|
open: open,
|
361
375
|
focused: focused,
|
362
376
|
type: type,
|
@@ -808,6 +822,11 @@ HiSelect.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
808
822
|
* Les items parents sont sélectionnables
|
809
823
|
*/
|
810
824
|
parentItemSelectable: _propTypes2.default.bool,
|
825
|
+
/**
|
826
|
+
* Placeholder affiché lorsque le select est fermé
|
827
|
+
* Surcharge le placeholder par défaut
|
828
|
+
*/
|
829
|
+
placeholder: _propTypes2.default.string,
|
811
830
|
/**
|
812
831
|
* Affiche un input de recherche permettant de filtrer les options
|
813
832
|
*/
|