@hipay/hipay-material-ui 2.0.0-beta.58 → 2.0.0-beta.60
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/CHANGELOG.md +117 -0
- package/HiCell/CellNumeric.js +1 -1
- package/HiColoredLabel/HiColoredLabel.js +16 -4
- package/HiDatePicker/HiDatePicker.js +11 -2
- package/HiDatePicker/HiDateRangePicker.js +49 -8
- package/HiDatePicker/HiDateRangeSelector.js +39 -30
- package/HiDatePicker/Overlays/YearPickerOverlay.js +8 -3
- package/HiForm/HiFormControl.js +26 -11
- package/HiForm/HiFormLabel.js +3 -1
- package/HiForm/HiInput.js +33 -1
- package/HiForm/HiUpload.js +290 -45
- package/HiForm/HiUploadField.js +19 -51
- package/HiForm/HiUploadInput.js +18 -7
- package/HiSelect/HiSuggestSelect.js +3 -3
- package/HiSelectNew/HiDynamicSelect.js +3 -3
- package/HiSelectNew/HiNestedSelect.js +29 -15
- package/HiSelectNew/HiNestedSelectContent.js +29 -15
- package/HiSelectNew/HiSelect.js +23 -12
- package/HiSelectNew/HiSelectContent.js +23 -11
- package/HiSelectNew/HiSelectInput.js +4 -4
- package/HiSelectableList/HiSelectableListItem.js +8 -10
- package/README.md +1 -1
- package/es/HiCell/CellNumeric.js +1 -1
- package/es/HiColoredLabel/HiColoredLabel.js +21 -4
- package/es/HiDatePicker/HiDatePicker.js +11 -2
- package/es/HiDatePicker/HiDateRangePicker.js +42 -8
- package/es/HiDatePicker/HiDateRangeSelector.js +38 -27
- package/es/HiDatePicker/Overlays/YearPickerOverlay.js +8 -3
- package/es/HiForm/HiFormControl.js +27 -11
- package/es/HiForm/HiFormLabel.js +3 -1
- package/es/HiForm/HiInput.js +32 -1
- package/es/HiForm/HiUpload.js +276 -35
- package/es/HiForm/HiUploadField.js +19 -43
- package/es/HiForm/HiUploadInput.js +16 -7
- package/es/HiSelect/HiSuggestSelect.js +3 -3
- package/es/HiSelectNew/HiNestedSelect.js +17 -7
- package/es/HiSelectNew/HiNestedSelectContent.js +16 -6
- package/es/HiSelectNew/HiSelect.js +15 -3
- package/es/HiSelectNew/HiSelectContent.js +11 -2
- package/es/HiSelectNew/HiSelectInput.js +4 -3
- package/es/HiSelectableList/HiSelectableListItem.js +8 -10
- package/es/utils/helpers.js +6 -5
- package/index.es.js +1 -1
- package/index.js +1 -1
- package/package.json +3 -2
- package/umd/hipay-material-ui.development.js +4632 -1923
- package/umd/hipay-material-ui.production.min.js +2 -2
- package/utils/helpers.js +6 -4
package/HiForm/HiUploadField.js
CHANGED
|
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.default =
|
|
8
|
+
exports.default = void 0;
|
|
9
9
|
|
|
10
10
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
11
|
|
|
@@ -25,51 +25,10 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
25
25
|
|
|
26
26
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
27
27
|
|
|
28
|
-
var _withStyles = _interopRequireDefault(require("../styles/withStyles"));
|
|
29
|
-
|
|
30
28
|
var _HiFormControl = _interopRequireDefault(require("./HiFormControl"));
|
|
31
29
|
|
|
32
30
|
var _HiUpload = _interopRequireDefault(require("./HiUpload"));
|
|
33
31
|
|
|
34
|
-
var styles = function styles(theme) {
|
|
35
|
-
return {
|
|
36
|
-
flexContainer: {
|
|
37
|
-
display: ' flex',
|
|
38
|
-
alignItems: 'center'
|
|
39
|
-
},
|
|
40
|
-
statusIcon: {
|
|
41
|
-
height: '80px',
|
|
42
|
-
width: '80px',
|
|
43
|
-
marginRight: '8px',
|
|
44
|
-
padding: '24px',
|
|
45
|
-
borderRadius: '2px',
|
|
46
|
-
backgroundColor: theme.palette.local.background2,
|
|
47
|
-
border: "1px solid ".concat(theme.palette.middle.main),
|
|
48
|
-
color: "".concat(theme.palette.middle.main, " !important"),
|
|
49
|
-
fontSize: '80px'
|
|
50
|
-
},
|
|
51
|
-
inputContainer: {
|
|
52
|
-
flex: '1',
|
|
53
|
-
width: 'calc(100% - 88px)'
|
|
54
|
-
},
|
|
55
|
-
empty: {
|
|
56
|
-
border: "1px solid ".concat(theme.palette.input.bottomLine),
|
|
57
|
-
color: "".concat(theme.palette.neutral.main, " !important")
|
|
58
|
-
},
|
|
59
|
-
complete: {
|
|
60
|
-
border: "1px solid ".concat(theme.palette.positive.main),
|
|
61
|
-
color: "".concat(theme.palette.positive.main, " !important"),
|
|
62
|
-
fontSize: '32px'
|
|
63
|
-
},
|
|
64
|
-
error: {
|
|
65
|
-
border: "1px solid ".concat(theme.palette.negative.main),
|
|
66
|
-
color: "".concat(theme.palette.negative.main, " !important")
|
|
67
|
-
}
|
|
68
|
-
};
|
|
69
|
-
};
|
|
70
|
-
|
|
71
|
-
exports.styles = styles;
|
|
72
|
-
|
|
73
32
|
var HiUploadField =
|
|
74
33
|
/*#__PURE__*/
|
|
75
34
|
function (_React$PureComponent) {
|
|
@@ -89,7 +48,8 @@ function (_React$PureComponent) {
|
|
|
89
48
|
helperIcon = _this$props.helperIcon,
|
|
90
49
|
helperText = _this$props.helperText,
|
|
91
50
|
values = _this$props.values,
|
|
92
|
-
|
|
51
|
+
fullWidth = _this$props.fullWidth,
|
|
52
|
+
others = (0, _objectWithoutProperties2.default)(_this$props, ["className", "label", "helperIcon", "helperText", "values", "fullWidth"]);
|
|
93
53
|
var empty = true;
|
|
94
54
|
var error = false;
|
|
95
55
|
var errorText = '';
|
|
@@ -110,7 +70,8 @@ function (_React$PureComponent) {
|
|
|
110
70
|
errorText: errorText,
|
|
111
71
|
error: error,
|
|
112
72
|
helperIcon: helperIcon,
|
|
113
|
-
helperText: helperText
|
|
73
|
+
helperText: helperText,
|
|
74
|
+
fullWidth: fullWidth
|
|
114
75
|
}, _react.default.createElement(_HiUpload.default, (0, _extends2.default)({
|
|
115
76
|
values: values
|
|
116
77
|
}, others)));
|
|
@@ -121,7 +82,9 @@ function (_React$PureComponent) {
|
|
|
121
82
|
|
|
122
83
|
HiUploadField.defaultProps = {
|
|
123
84
|
helperText: '',
|
|
124
|
-
helperIcon: false
|
|
85
|
+
helperIcon: false,
|
|
86
|
+
seeFile: true,
|
|
87
|
+
fullWidth: false
|
|
125
88
|
};
|
|
126
89
|
HiUploadField.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
127
90
|
/**
|
|
@@ -134,6 +97,11 @@ HiUploadField.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
134
97
|
*/
|
|
135
98
|
className: _propTypes.default.string,
|
|
136
99
|
|
|
100
|
+
/**
|
|
101
|
+
* Si "true", applique l'attribut css correspondant
|
|
102
|
+
*/
|
|
103
|
+
fullWidth: _propTypes.default.bool,
|
|
104
|
+
|
|
137
105
|
/**
|
|
138
106
|
* Si "true", le texte d'aide s'affichera seulement au clic sur l'icône "Information"
|
|
139
107
|
*/
|
|
@@ -169,15 +137,15 @@ HiUploadField.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
169
137
|
*/
|
|
170
138
|
onSeeFile: _propTypes.default.func,
|
|
171
139
|
|
|
140
|
+
/**
|
|
141
|
+
* set to false to hide the eye button
|
|
142
|
+
*/
|
|
143
|
+
seeFile: _propTypes.default.bool,
|
|
144
|
+
|
|
172
145
|
/**
|
|
173
146
|
* Valeurs des inputs
|
|
174
147
|
*/
|
|
175
148
|
values: _propTypes.default.array
|
|
176
149
|
} : {};
|
|
177
|
-
|
|
178
|
-
var _default = (0, _withStyles.default)(styles, {
|
|
179
|
-
hiComponent: true,
|
|
180
|
-
name: 'HmuiHiUploadField'
|
|
181
|
-
})(HiUploadField);
|
|
182
|
-
|
|
150
|
+
var _default = HiUploadField;
|
|
183
151
|
exports.default = _default;
|
package/HiForm/HiUploadInput.js
CHANGED
|
@@ -46,6 +46,7 @@ var styles = function styles(theme) {
|
|
|
46
46
|
height: 40,
|
|
47
47
|
display: 'inline-flex',
|
|
48
48
|
justifyContent: 'flex-start',
|
|
49
|
+
cursor: 'pointer',
|
|
49
50
|
'&$focused, &$dragOver': {
|
|
50
51
|
backgroundColor: theme.palette.global.background1
|
|
51
52
|
},
|
|
@@ -112,7 +113,7 @@ var styles = function styles(theme) {
|
|
|
112
113
|
transform: 'scaleX(1)'
|
|
113
114
|
},
|
|
114
115
|
'&$error': {
|
|
115
|
-
borderBottom: "1px solid ".concat(theme.palette.negative.
|
|
116
|
+
borderBottom: "1px solid ".concat(theme.palette.negative.main)
|
|
116
117
|
}
|
|
117
118
|
}
|
|
118
119
|
},
|
|
@@ -120,7 +121,8 @@ var styles = function styles(theme) {
|
|
|
120
121
|
color: "".concat(theme.palette.action.disabled),
|
|
121
122
|
'&:before': {
|
|
122
123
|
display: 'none'
|
|
123
|
-
}
|
|
124
|
+
},
|
|
125
|
+
cursor: 'default'
|
|
124
126
|
},
|
|
125
127
|
focused: {
|
|
126
128
|
backgroundColor: theme.palette.background3
|
|
@@ -137,6 +139,7 @@ var styles = function styles(theme) {
|
|
|
137
139
|
height: 39,
|
|
138
140
|
display: 'inline-flex',
|
|
139
141
|
width: '100%',
|
|
142
|
+
cursor: 'pointer',
|
|
140
143
|
'&$empty': {
|
|
141
144
|
opacity: 0.42
|
|
142
145
|
}
|
|
@@ -160,7 +163,7 @@ var styles = function styles(theme) {
|
|
|
160
163
|
}),
|
|
161
164
|
'&:hover': {
|
|
162
165
|
color: 'inherit',
|
|
163
|
-
|
|
166
|
+
background: 'none'
|
|
164
167
|
}
|
|
165
168
|
}
|
|
166
169
|
};
|
|
@@ -344,6 +347,12 @@ function (_React$Component) {
|
|
|
344
347
|
droppable = _this$state.droppable; // On utilise classNames pour variabiliser les styles et merger les classes appliquées
|
|
345
348
|
|
|
346
349
|
var rootClass = (0, _classnames.default)(classes.root, classes.inkbar, classes.underline, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.disabled, disabled), (0, _defineProperty2.default)(_classNames, classes.focused, focused), (0, _defineProperty2.default)(_classNames, classes.error, error && !focused), (0, _defineProperty2.default)(_classNames, classes.dragOver, dragOver), (0, _defineProperty2.default)(_classNames, classes.droppable, droppable), _classNames));
|
|
350
|
+
|
|
351
|
+
var eyeButton = _react.default.createElement(_HiIconButton.default, {
|
|
352
|
+
className: classes.icon,
|
|
353
|
+
onClick: this.handleSeeFile
|
|
354
|
+
}, _ref);
|
|
355
|
+
|
|
347
356
|
return _react.default.createElement("div", {
|
|
348
357
|
className: rootClass
|
|
349
358
|
}, _react.default.createElement("label", {
|
|
@@ -358,10 +367,7 @@ function (_React$Component) {
|
|
|
358
367
|
onChange: this.handleChange
|
|
359
368
|
})), value === null || _react.default.createElement("div", {
|
|
360
369
|
className: classes.endAdornment
|
|
361
|
-
}, _react.default.createElement(_HiIconButton.default, {
|
|
362
|
-
className: classes.icon,
|
|
363
|
-
onClick: this.handleSeeFile
|
|
364
|
-
}, _ref), _react.default.createElement(_HiIconButton.default, {
|
|
370
|
+
}, this.props.seeFile && eyeButton, _react.default.createElement(_HiIconButton.default, {
|
|
365
371
|
className: classes.icon,
|
|
366
372
|
onClick: this.handleDeleteFile
|
|
367
373
|
}, _ref2)));
|
|
@@ -440,6 +446,11 @@ HiUploadInput.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
440
446
|
*/
|
|
441
447
|
placeholder: _propTypes.default.string,
|
|
442
448
|
|
|
449
|
+
/**
|
|
450
|
+
* set to false to hide the eye button
|
|
451
|
+
*/
|
|
452
|
+
seeFile: _propTypes.default.bool,
|
|
453
|
+
|
|
443
454
|
/**
|
|
444
455
|
* The translations of the error messages.
|
|
445
456
|
*/
|
|
@@ -205,10 +205,10 @@ function (_React$PureComponent) {
|
|
|
205
205
|
options: [],
|
|
206
206
|
focused: false
|
|
207
207
|
});
|
|
208
|
-
}
|
|
209
208
|
|
|
210
|
-
|
|
211
|
-
|
|
209
|
+
if (this.props.onBlurInput) {
|
|
210
|
+
this.props.onBlurInput(event);
|
|
211
|
+
}
|
|
212
212
|
}
|
|
213
213
|
}
|
|
214
214
|
}, {
|
|
@@ -80,7 +80,7 @@ function (_React$PureComponent) {
|
|
|
80
80
|
return id !== item.id;
|
|
81
81
|
}), item);
|
|
82
82
|
} else {
|
|
83
|
-
onChange(event, (0, _toConsumableArray2.default)(value)
|
|
83
|
+
onChange(event, [].concat((0, _toConsumableArray2.default)(value), [item.id]), item);
|
|
84
84
|
}
|
|
85
85
|
};
|
|
86
86
|
|
|
@@ -91,14 +91,14 @@ function (_React$PureComponent) {
|
|
|
91
91
|
var _this$props2 = _this.props,
|
|
92
92
|
nextPage = _this$props2.nextPage,
|
|
93
93
|
translations = _this$props2.translations;
|
|
94
|
-
var itemList = (0, _toConsumableArray2.default)(options.length === 0 && !loading ? [{
|
|
94
|
+
var itemList = [].concat((0, _toConsumableArray2.default)(options.length === 0 && !loading ? [{
|
|
95
95
|
id: '_no_result',
|
|
96
96
|
type: 'text',
|
|
97
97
|
disabled: true,
|
|
98
98
|
centered: true,
|
|
99
99
|
hideCheckbox: true,
|
|
100
100
|
label: translations.no_result_match
|
|
101
|
-
}] : [])
|
|
101
|
+
}] : []), (0, _toConsumableArray2.default)(options), (0, _toConsumableArray2.default)(!loading && nextPage === 'manual' ? [{
|
|
102
102
|
id: '_next_page',
|
|
103
103
|
type: 'button',
|
|
104
104
|
centered: true,
|
|
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.default = exports.styles = void 0;
|
|
8
|
+
exports.default = exports.styles = exports.filterValue = void 0;
|
|
9
9
|
|
|
10
10
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
11
11
|
|
|
@@ -47,12 +47,12 @@ var _helpers = require("../utils/helpers");
|
|
|
47
47
|
*/
|
|
48
48
|
function getRecursiveFinalItemIdList(itemList) {
|
|
49
49
|
var finalItemIdList = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
50
|
-
return (0, _toConsumableArray2.default)(finalItemIdList)
|
|
50
|
+
return [].concat((0, _toConsumableArray2.default)(finalItemIdList), (0, _toConsumableArray2.default)(itemList.reduce(function (memo, item) {
|
|
51
51
|
if (item.children) {
|
|
52
52
|
return getRecursiveFinalItemIdList(item.children, memo);
|
|
53
53
|
}
|
|
54
54
|
|
|
55
|
-
return (0, _toConsumableArray2.default)(memo)
|
|
55
|
+
return [].concat((0, _toConsumableArray2.default)(memo), [item.id]);
|
|
56
56
|
}, [])));
|
|
57
57
|
}
|
|
58
58
|
/**
|
|
@@ -76,6 +76,10 @@ function findFinalItemRecursively(itemList, searchId) {
|
|
|
76
76
|
});
|
|
77
77
|
return foundItem;
|
|
78
78
|
}
|
|
79
|
+
|
|
80
|
+
var filterValue = function filterValue(item, searchValue) {
|
|
81
|
+
return searchValue === '' || (0, _helpers.foldAccents)(item.label.toString().toLowerCase()).search((0, _helpers.foldAccents)(searchValue.toLowerCase())) !== -1;
|
|
82
|
+
};
|
|
79
83
|
/**
|
|
80
84
|
* Build item list by settings item props relative to the nested parent/child situation
|
|
81
85
|
* Reduce the item list to build specified items (displayed, pinned, disabled, selected, indeterminate)
|
|
@@ -94,6 +98,8 @@ function findFinalItemRecursively(itemList, searchId) {
|
|
|
94
98
|
*/
|
|
95
99
|
|
|
96
100
|
|
|
101
|
+
exports.filterValue = filterValue;
|
|
102
|
+
|
|
97
103
|
function buildFilteredItemList(itemList) {
|
|
98
104
|
var selectedItemIdList = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
99
105
|
var searchValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
|
|
@@ -102,15 +108,16 @@ function buildFilteredItemList(itemList) {
|
|
|
102
108
|
var disabledParent = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;
|
|
103
109
|
var nbChildrenAsInfo = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false;
|
|
104
110
|
var translations = arguments.length > 7 ? arguments[7] : undefined;
|
|
111
|
+
var filterFunc = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : filterValue;
|
|
105
112
|
return itemList.reduce(function (_ref, item) {
|
|
106
113
|
var memoItemList = _ref.l,
|
|
107
114
|
memoSelected = _ref.s,
|
|
108
115
|
memoUnselected = _ref.u,
|
|
109
116
|
memoVisible = _ref.v;
|
|
110
|
-
var itemVisible =
|
|
117
|
+
var itemVisible = filterFunc(item, searchValue); // Parent item
|
|
111
118
|
|
|
112
119
|
if (item.children) {
|
|
113
|
-
var _buildFilteredItemLis = buildFilteredItemList(item.children, selectedItemIdList, searchValue, itemVisible, pinnedParent, disabledParent),
|
|
120
|
+
var _buildFilteredItemLis = buildFilteredItemList(item.children, selectedItemIdList, searchValue, itemVisible, pinnedParent, disabledParent, nbChildrenAsInfo, translations, filterFunc),
|
|
114
121
|
customizedChildren = _buildFilteredItemLis.l,
|
|
115
122
|
selected = _buildFilteredItemLis.s,
|
|
116
123
|
unselected = _buildFilteredItemLis.u,
|
|
@@ -121,7 +128,7 @@ function buildFilteredItemList(itemList) {
|
|
|
121
128
|
}
|
|
122
129
|
|
|
123
130
|
return {
|
|
124
|
-
l: (0, _toConsumableArray2.default)(memoItemList)
|
|
131
|
+
l: [].concat((0, _toConsumableArray2.default)(memoItemList), [(0, _extends2.default)({}, item, disabledParent && {
|
|
125
132
|
disabled: true,
|
|
126
133
|
hideCheckbox: true // don't display checkbox on disabled parent
|
|
127
134
|
|
|
@@ -140,7 +147,7 @@ function buildFilteredItemList(itemList) {
|
|
|
140
147
|
|
|
141
148
|
var itemSelected = selectedItemIdList.includes(item.id);
|
|
142
149
|
return {
|
|
143
|
-
l: (0, _toConsumableArray2.default)(memoItemList)
|
|
150
|
+
l: [].concat((0, _toConsumableArray2.default)(memoItemList), [(0, _extends2.default)({
|
|
144
151
|
displayed: itemVisible || visibleParent
|
|
145
152
|
}, item)]),
|
|
146
153
|
s: itemSelected && memoSelected,
|
|
@@ -259,9 +266,9 @@ function (_React$PureComponent) {
|
|
|
259
266
|
}), item);
|
|
260
267
|
} else {
|
|
261
268
|
// select parent > add each selectable child without duplicates.
|
|
262
|
-
onChange(event, (0, _toConsumableArray2.default)(value.filter(function (vid) {
|
|
269
|
+
onChange(event, [].concat((0, _toConsumableArray2.default)(value.filter(function (vid) {
|
|
263
270
|
return !parentSelectableItemIdList.includes(vid);
|
|
264
|
-
}))
|
|
271
|
+
})), (0, _toConsumableArray2.default)(parentSelectableItemIdList)), item);
|
|
265
272
|
}
|
|
266
273
|
} else if (value.includes(item.id)) {
|
|
267
274
|
// unselect item
|
|
@@ -269,7 +276,7 @@ function (_React$PureComponent) {
|
|
|
269
276
|
return id !== item.id;
|
|
270
277
|
}), item);
|
|
271
278
|
} else {
|
|
272
|
-
onChange(event, (0, _toConsumableArray2.default)(value)
|
|
279
|
+
onChange(event, [].concat((0, _toConsumableArray2.default)(value), [item.id]), item);
|
|
273
280
|
}
|
|
274
281
|
};
|
|
275
282
|
|
|
@@ -285,9 +292,10 @@ function (_React$PureComponent) {
|
|
|
285
292
|
multiple = _this$props2.multiple,
|
|
286
293
|
nbChildrenAsInfo = _this$props2.nbChildrenAsInfo,
|
|
287
294
|
pinnedParent = _this$props2.pinnedParent,
|
|
288
|
-
translations = _this$props2.translations
|
|
295
|
+
translations = _this$props2.translations,
|
|
296
|
+
filterFunc = _this$props2.filterFunc; // build item list
|
|
289
297
|
|
|
290
|
-
var _buildFilteredItemLis2 = buildFilteredItemList(options, value, search, false, pinnedParent, disabledParent || !multiple, nbChildrenAsInfo, translations),
|
|
298
|
+
var _buildFilteredItemLis2 = buildFilteredItemList(options, value, search, false, pinnedParent, disabledParent || !multiple, nbChildrenAsInfo, translations, filterFunc),
|
|
291
299
|
filteredItemList = _buildFilteredItemLis2.l,
|
|
292
300
|
allSelected = _buildFilteredItemLis2.s,
|
|
293
301
|
allUnselected = _buildFilteredItemLis2.u,
|
|
@@ -307,14 +315,14 @@ function (_React$PureComponent) {
|
|
|
307
315
|
centered: true,
|
|
308
316
|
hideCheckbox: true,
|
|
309
317
|
label: translations.no_result_match
|
|
310
|
-
}]) : (0, _toConsumableArray2.default)(loading ? [{
|
|
318
|
+
}]) : [].concat((0, _toConsumableArray2.default)(loading ? [{
|
|
311
319
|
id: '_loading',
|
|
312
320
|
type: 'loader',
|
|
313
321
|
disabled: true,
|
|
314
322
|
centered: true,
|
|
315
323
|
hideCheckbox: true,
|
|
316
324
|
label: 'loading'
|
|
317
|
-
}] : [])
|
|
325
|
+
}] : []), (0, _toConsumableArray2.default)(hasAll ? [{
|
|
318
326
|
id: '_all',
|
|
319
327
|
iconAll: iconAll,
|
|
320
328
|
label: translations.all,
|
|
@@ -426,7 +434,8 @@ HiNestedSelect.defaultProps = {
|
|
|
426
434
|
one_item_selected: '%s item selected',
|
|
427
435
|
n_children: '%s',
|
|
428
436
|
one_child: '%s item'
|
|
429
|
-
}
|
|
437
|
+
},
|
|
438
|
+
filterFunc: filterValue
|
|
430
439
|
};
|
|
431
440
|
HiNestedSelect.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
432
441
|
/**
|
|
@@ -444,6 +453,11 @@ HiNestedSelect.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
444
453
|
*/
|
|
445
454
|
displayAsChip: _propTypes.default.bool,
|
|
446
455
|
|
|
456
|
+
/*
|
|
457
|
+
* Fonction de filtrage custom
|
|
458
|
+
*/
|
|
459
|
+
filterFunc: _propTypes.default.func,
|
|
460
|
+
|
|
447
461
|
/**
|
|
448
462
|
* Affiche l'élément 'All'
|
|
449
463
|
*/
|
|
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.getRecursiveFinalItemIdList = getRecursiveFinalItemIdList;
|
|
9
9
|
exports.findFinalItemRecursively = findFinalItemRecursively;
|
|
10
|
-
exports.default = void 0;
|
|
10
|
+
exports.default = exports.filterValue = void 0;
|
|
11
11
|
|
|
12
12
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
13
13
|
|
|
@@ -43,12 +43,12 @@ var _helpers = require("../utils/helpers");
|
|
|
43
43
|
*/
|
|
44
44
|
function getRecursiveFinalItemIdList(itemList) {
|
|
45
45
|
var finalItemIdList = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
46
|
-
return (0, _toConsumableArray2.default)(finalItemIdList)
|
|
46
|
+
return [].concat((0, _toConsumableArray2.default)(finalItemIdList), (0, _toConsumableArray2.default)(itemList.reduce(function (memo, item) {
|
|
47
47
|
if (item.children) {
|
|
48
48
|
return getRecursiveFinalItemIdList(item.children, memo);
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
-
return (0, _toConsumableArray2.default)(memo)
|
|
51
|
+
return [].concat((0, _toConsumableArray2.default)(memo), [item.id]);
|
|
52
52
|
}, [])));
|
|
53
53
|
}
|
|
54
54
|
/**
|
|
@@ -72,6 +72,10 @@ function findFinalItemRecursively(itemList, searchId) {
|
|
|
72
72
|
});
|
|
73
73
|
return foundItem;
|
|
74
74
|
}
|
|
75
|
+
|
|
76
|
+
var filterValue = function filterValue(item, searchValue) {
|
|
77
|
+
return searchValue === '' || (0, _helpers.foldAccents)(item.label.toString().toLowerCase()).search((0, _helpers.foldAccents)(searchValue.toLowerCase())) !== -1;
|
|
78
|
+
};
|
|
75
79
|
/**
|
|
76
80
|
* Build item list by settings item props relative to the nested parent/child situation
|
|
77
81
|
* Reduce the item list to build specified items (displayed, pinned, disabled, selected, indeterminate)
|
|
@@ -90,6 +94,8 @@ function findFinalItemRecursively(itemList, searchId) {
|
|
|
90
94
|
*/
|
|
91
95
|
|
|
92
96
|
|
|
97
|
+
exports.filterValue = filterValue;
|
|
98
|
+
|
|
93
99
|
function buildFilteredItemList(itemList) {
|
|
94
100
|
var selectedItemIdList = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
95
101
|
var searchValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
|
|
@@ -98,15 +104,16 @@ function buildFilteredItemList(itemList) {
|
|
|
98
104
|
var disabledParent = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;
|
|
99
105
|
var nbChildrenAsInfo = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false;
|
|
100
106
|
var translations = arguments.length > 7 ? arguments[7] : undefined;
|
|
107
|
+
var filterFunc = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : filterValue;
|
|
101
108
|
return itemList.reduce(function (_ref, item) {
|
|
102
109
|
var memoItemList = _ref.l,
|
|
103
110
|
memoSelected = _ref.s,
|
|
104
111
|
memoUnselected = _ref.u,
|
|
105
112
|
memoVisible = _ref.v;
|
|
106
|
-
var itemVisible =
|
|
113
|
+
var itemVisible = filterFunc(item, searchValue); // Parent item
|
|
107
114
|
|
|
108
115
|
if (item.children) {
|
|
109
|
-
var _buildFilteredItemLis = buildFilteredItemList(item.children, selectedItemIdList, searchValue, itemVisible, pinnedParent, disabledParent),
|
|
116
|
+
var _buildFilteredItemLis = buildFilteredItemList(item.children, selectedItemIdList, searchValue, itemVisible, pinnedParent, disabledParent, nbChildrenAsInfo, translations, filterFunc),
|
|
110
117
|
customizedChildren = _buildFilteredItemLis.l,
|
|
111
118
|
selected = _buildFilteredItemLis.s,
|
|
112
119
|
unselected = _buildFilteredItemLis.u,
|
|
@@ -117,7 +124,7 @@ function buildFilteredItemList(itemList) {
|
|
|
117
124
|
}
|
|
118
125
|
|
|
119
126
|
return {
|
|
120
|
-
l: (0, _toConsumableArray2.default)(memoItemList)
|
|
127
|
+
l: [].concat((0, _toConsumableArray2.default)(memoItemList), [(0, _extends2.default)({}, item, disabledParent && {
|
|
121
128
|
disabled: true,
|
|
122
129
|
hideCheckbox: true // don't display checkbox on disabled parent
|
|
123
130
|
|
|
@@ -136,7 +143,7 @@ function buildFilteredItemList(itemList) {
|
|
|
136
143
|
|
|
137
144
|
var itemSelected = selectedItemIdList.includes(item.id);
|
|
138
145
|
return {
|
|
139
|
-
l: (0, _toConsumableArray2.default)(memoItemList)
|
|
146
|
+
l: [].concat((0, _toConsumableArray2.default)(memoItemList), [(0, _extends2.default)({
|
|
140
147
|
displayed: itemVisible || visibleParent
|
|
141
148
|
}, item)]),
|
|
142
149
|
s: itemSelected && memoSelected,
|
|
@@ -216,9 +223,9 @@ function (_React$PureComponent) {
|
|
|
216
223
|
}), item);
|
|
217
224
|
} else {
|
|
218
225
|
// select parent > add each selectable child without duplicates.
|
|
219
|
-
onChange(event, (0, _toConsumableArray2.default)(value.filter(function (vid) {
|
|
226
|
+
onChange(event, [].concat((0, _toConsumableArray2.default)(value.filter(function (vid) {
|
|
220
227
|
return !parentSelectableItemIdList.includes(vid);
|
|
221
|
-
}))
|
|
228
|
+
})), (0, _toConsumableArray2.default)(parentSelectableItemIdList)), item);
|
|
222
229
|
}
|
|
223
230
|
} else if (value.includes(item.id)) {
|
|
224
231
|
// unselect item
|
|
@@ -226,7 +233,7 @@ function (_React$PureComponent) {
|
|
|
226
233
|
return id !== item.id;
|
|
227
234
|
}), item);
|
|
228
235
|
} else {
|
|
229
|
-
onChange(event, (0, _toConsumableArray2.default)(value)
|
|
236
|
+
onChange(event, [].concat((0, _toConsumableArray2.default)(value), [item.id]), item);
|
|
230
237
|
}
|
|
231
238
|
};
|
|
232
239
|
|
|
@@ -241,9 +248,10 @@ function (_React$PureComponent) {
|
|
|
241
248
|
multiple = _this$props2.multiple,
|
|
242
249
|
nbChildrenAsInfo = _this$props2.nbChildrenAsInfo,
|
|
243
250
|
pinnedParent = _this$props2.pinnedParent,
|
|
244
|
-
translations = _this$props2.translations
|
|
251
|
+
translations = _this$props2.translations,
|
|
252
|
+
filterFunc = _this$props2.filterFunc; // build item list
|
|
245
253
|
|
|
246
|
-
var _buildFilteredItemLis2 = buildFilteredItemList(options, value, search, false, pinnedParent, disabledParent || !multiple, nbChildrenAsInfo, translations),
|
|
254
|
+
var _buildFilteredItemLis2 = buildFilteredItemList(options, value, search, false, pinnedParent, disabledParent || !multiple, nbChildrenAsInfo, translations, filterFunc),
|
|
247
255
|
filteredItemList = _buildFilteredItemLis2.l,
|
|
248
256
|
allSelected = _buildFilteredItemLis2.s,
|
|
249
257
|
allUnselected = _buildFilteredItemLis2.u,
|
|
@@ -263,14 +271,14 @@ function (_React$PureComponent) {
|
|
|
263
271
|
centered: true,
|
|
264
272
|
hideCheckbox: true,
|
|
265
273
|
label: translations.no_result_match
|
|
266
|
-
}]) : (0, _toConsumableArray2.default)(loading ? [{
|
|
274
|
+
}]) : [].concat((0, _toConsumableArray2.default)(loading ? [{
|
|
267
275
|
id: '_loading',
|
|
268
276
|
type: 'loader',
|
|
269
277
|
disabled: true,
|
|
270
278
|
centered: true,
|
|
271
279
|
hideCheckbox: true,
|
|
272
280
|
label: 'loading'
|
|
273
|
-
}] : [])
|
|
281
|
+
}] : []), (0, _toConsumableArray2.default)(hasAll ? [{
|
|
274
282
|
id: '_all',
|
|
275
283
|
iconAll: iconAll,
|
|
276
284
|
label: translations.all,
|
|
@@ -334,7 +342,8 @@ HiNestedSelectContent.defaultProps = {
|
|
|
334
342
|
search: 'Search',
|
|
335
343
|
n_children: '%s',
|
|
336
344
|
one_child: '%s item'
|
|
337
|
-
}
|
|
345
|
+
},
|
|
346
|
+
filterFunc: filterValue
|
|
338
347
|
};
|
|
339
348
|
HiNestedSelectContent.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
340
349
|
/**
|
|
@@ -347,6 +356,11 @@ HiNestedSelectContent.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
347
356
|
*/
|
|
348
357
|
disabledParent: _propTypes.default.bool,
|
|
349
358
|
|
|
359
|
+
/*
|
|
360
|
+
* Fonction de filtrage custom
|
|
361
|
+
*/
|
|
362
|
+
filterFunc: _propTypes.default.func,
|
|
363
|
+
|
|
350
364
|
/**
|
|
351
365
|
* Affiche l'élément 'All'
|
|
352
366
|
*/
|
package/HiSelectNew/HiSelect.js
CHANGED
|
@@ -110,6 +110,12 @@ var styles = function styles(theme) {
|
|
|
110
110
|
}
|
|
111
111
|
};
|
|
112
112
|
};
|
|
113
|
+
|
|
114
|
+
exports.styles = styles;
|
|
115
|
+
|
|
116
|
+
function filterValue(item, search) {
|
|
117
|
+
return search === '' || (0, _helpers.foldAccents)(item.label.toString().toLowerCase()).search((0, _helpers.foldAccents)(search.toLowerCase())) !== -1;
|
|
118
|
+
}
|
|
113
119
|
/**
|
|
114
120
|
*
|
|
115
121
|
* Utilisé pour tous types de selects dans les formulaires.
|
|
@@ -126,8 +132,6 @@ var styles = function styles(theme) {
|
|
|
126
132
|
*/
|
|
127
133
|
|
|
128
134
|
|
|
129
|
-
exports.styles = styles;
|
|
130
|
-
|
|
131
135
|
var HiSelect =
|
|
132
136
|
/*#__PURE__*/
|
|
133
137
|
function (_React$PureComponent) {
|
|
@@ -144,22 +148,22 @@ function (_React$PureComponent) {
|
|
|
144
148
|
var search = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
|
|
145
149
|
var loading = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
146
150
|
// build item list
|
|
147
|
-
var itemList = (0, _toConsumableArray2.default)(loading ? [{
|
|
151
|
+
var itemList = [].concat((0, _toConsumableArray2.default)(loading ? [{
|
|
148
152
|
id: '_loading',
|
|
149
153
|
type: 'loader',
|
|
150
154
|
disabled: true,
|
|
151
155
|
centered: true,
|
|
152
156
|
hideCheckbox: true,
|
|
153
157
|
label: 'loading'
|
|
154
|
-
}] : [])
|
|
155
|
-
return
|
|
156
|
-
})) : (0, _toConsumableArray2.default)(_this.props.hasAll ? [(0, _extends2.default)({
|
|
158
|
+
}] : []), (0, _toConsumableArray2.default)(search !== '' ? (0, _toConsumableArray2.default)(options.filter(function (item) {
|
|
159
|
+
return _this.props.filterFunc(item, search);
|
|
160
|
+
})) : [].concat((0, _toConsumableArray2.default)(_this.props.hasAll ? [(0, _extends2.default)({
|
|
157
161
|
id: '_all',
|
|
158
162
|
label: _this.props.translations.all
|
|
159
163
|
}, _this.props.iconAll && {
|
|
160
164
|
type: 'icon',
|
|
161
165
|
icon: _this.props.iconAll
|
|
162
|
-
})] : [])
|
|
166
|
+
})] : []), (0, _toConsumableArray2.default)(options))));
|
|
163
167
|
return {
|
|
164
168
|
itemList: itemList,
|
|
165
169
|
inputValue: _this.buildInputValue(options, value, loading)
|
|
@@ -458,7 +462,7 @@ function (_React$PureComponent) {
|
|
|
458
462
|
return id !== item.id;
|
|
459
463
|
}), item);
|
|
460
464
|
} else {
|
|
461
|
-
onChange(event, (0, _toConsumableArray2.default)(value)
|
|
465
|
+
onChange(event, [].concat((0, _toConsumableArray2.default)(value), [item.id]), item);
|
|
462
466
|
}
|
|
463
467
|
};
|
|
464
468
|
|
|
@@ -484,13 +488,13 @@ function (_React$PureComponent) {
|
|
|
484
488
|
});
|
|
485
489
|
} else {
|
|
486
490
|
_this.setState({
|
|
487
|
-
suggestions: (0, _toConsumableArray2.default)(hasAll ? [(0, _extends2.default)({
|
|
491
|
+
suggestions: [].concat((0, _toConsumableArray2.default)(hasAll ? [(0, _extends2.default)({
|
|
488
492
|
id: '_all',
|
|
489
493
|
label: translations.all
|
|
490
494
|
}, iconAll && {
|
|
491
495
|
type: 'icon',
|
|
492
496
|
icon: iconAll
|
|
493
|
-
})] : [])
|
|
497
|
+
})] : []), (0, _toConsumableArray2.default)(suggestions))
|
|
494
498
|
});
|
|
495
499
|
}
|
|
496
500
|
};
|
|
@@ -522,11 +526,12 @@ function (_React$PureComponent) {
|
|
|
522
526
|
suggestions: props.options,
|
|
523
527
|
openDown: true
|
|
524
528
|
};
|
|
529
|
+
_this.handleBlur = _this.handleBlur.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)));
|
|
525
530
|
_this.handleClick = _this.handleClick.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)));
|
|
526
531
|
_this.handleClose = _this.handleClose.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)));
|
|
527
532
|
_this.handleClickAway = _this.handleClickAway.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)));
|
|
528
533
|
_this.handleFocus = _this.handleFocus.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)));
|
|
529
|
-
_this.
|
|
534
|
+
_this.handleKeyDownInput = _this.handleKeyDownInput.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)));
|
|
530
535
|
_this.handleSearch = _this.handleSearch.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)));
|
|
531
536
|
_this.handleSearchReset = _this.handleSearchReset.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)));
|
|
532
537
|
_this.handleSelect = _this.handleSelect.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)));
|
|
@@ -751,7 +756,8 @@ HiSelect.defaultProps = {
|
|
|
751
756
|
n_children: '%s items',
|
|
752
757
|
one_child: '%s item'
|
|
753
758
|
},
|
|
754
|
-
type: 'text'
|
|
759
|
+
type: 'text',
|
|
760
|
+
filterFunc: filterValue
|
|
755
761
|
};
|
|
756
762
|
HiSelect.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
757
763
|
align: _propTypes.default.oneOf(['left', 'right']),
|
|
@@ -786,6 +792,11 @@ HiSelect.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
786
792
|
*/
|
|
787
793
|
fallbackImage: _propTypes.default.string,
|
|
788
794
|
|
|
795
|
+
/*
|
|
796
|
+
* Fonction de filtrage custom
|
|
797
|
+
*/
|
|
798
|
+
filterFunc: _propTypes.default.func,
|
|
799
|
+
|
|
789
800
|
/**
|
|
790
801
|
* Affiche l'élément 'All'
|
|
791
802
|
*/
|