sag_components 1.0.87 → 1.0.89
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.
|
@@ -19,7 +19,7 @@ var _styles = require("@mui/material/styles");
|
|
|
19
19
|
var _CheckBoxOutlineBlank = _interopRequireDefault(require("@mui/icons-material/CheckBoxOutlineBlank"));
|
|
20
20
|
var _CheckBox = _interopRequireDefault(require("@mui/icons-material/CheckBox"));
|
|
21
21
|
var _Search = _interopRequireDefault(require("@mui/icons-material/Search.js"));
|
|
22
|
-
var _ArrowDropDownIcon =
|
|
22
|
+
var _ArrowDropDownIcon = require("./icons/ArrowDropDownIcon");
|
|
23
23
|
//import PropTypes from "prop-types";
|
|
24
24
|
|
|
25
25
|
// import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
|
@@ -53,10 +53,14 @@ var Dropdown = function Dropdown(_ref) {
|
|
|
53
53
|
onInputChange = _ref.onInputChange,
|
|
54
54
|
_ref$labelColor = _ref.labelColor,
|
|
55
55
|
labelColor = _ref$labelColor === void 0 ? "#1B30AA" : _ref$labelColor,
|
|
56
|
-
required = _ref.required
|
|
56
|
+
required = _ref.required,
|
|
57
|
+
defaultValue = _ref.defaultValue,
|
|
58
|
+
_ref$allowedInput = _ref.allowedInput,
|
|
59
|
+
allowedInput = _ref$allowedInput === void 0 ? "all" : _ref$allowedInput;
|
|
57
60
|
/**
|
|
58
61
|
* SAG Dropdown
|
|
59
62
|
*/
|
|
63
|
+
|
|
60
64
|
var _useState = (0, _react.useState)(null),
|
|
61
65
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
62
66
|
currentInputValue = _useState2[0],
|
|
@@ -131,6 +135,31 @@ var Dropdown = function Dropdown(_ref) {
|
|
|
131
135
|
newValue: newValue
|
|
132
136
|
});
|
|
133
137
|
};
|
|
138
|
+
var getOptionByLabel = function getOptionByLabel(label) {
|
|
139
|
+
if (!options) return null;
|
|
140
|
+
var foundOption = options.find(function (item) {
|
|
141
|
+
return item.label == label;
|
|
142
|
+
});
|
|
143
|
+
if (!foundOption) return null;
|
|
144
|
+
return foundOption;
|
|
145
|
+
};
|
|
146
|
+
var isInputAllowed = function isInputAllowed(inputChar) {
|
|
147
|
+
var NUMERIC_REGEX = /^[0-9-]+$/;
|
|
148
|
+
var ALPHA_REGEX = /^[a-zA-Z]+$/;
|
|
149
|
+
var ALPHA_NUMERIC_REGEX = /^[a-zA-Z0-9-]+$/;
|
|
150
|
+
switch (allowedInput) {
|
|
151
|
+
case "all":
|
|
152
|
+
return true;
|
|
153
|
+
case "alpha":
|
|
154
|
+
if (ALPHA_REGEX.test(inputChar)) return true;else return false;
|
|
155
|
+
case "numeric":
|
|
156
|
+
if (NUMERIC_REGEX.test(inputChar)) return true;else return false;
|
|
157
|
+
case "alphaNumeric":
|
|
158
|
+
if (ALPHA_NUMERIC_REGEX.test(inputChar)) return true;else return false;
|
|
159
|
+
default:
|
|
160
|
+
return true;
|
|
161
|
+
}
|
|
162
|
+
};
|
|
134
163
|
var getAutocompleteSingle = function getAutocompleteSingle() {
|
|
135
164
|
return /*#__PURE__*/_react.default.createElement(_styles.ThemeProvider, {
|
|
136
165
|
theme: theme
|
|
@@ -142,18 +171,24 @@ var Dropdown = function Dropdown(_ref) {
|
|
|
142
171
|
onInputChangeHandler(event, newInputValue);
|
|
143
172
|
},
|
|
144
173
|
disablePortal: true,
|
|
174
|
+
defaultValue: defaultValue && getOptionByLabel(defaultValue) != null ? getOptionByLabel(defaultValue) : null,
|
|
145
175
|
id: "combo-box",
|
|
146
176
|
options: options,
|
|
147
177
|
sx: {
|
|
148
178
|
width: width
|
|
149
179
|
},
|
|
150
|
-
popupIcon: showPopupIcon ? /*#__PURE__*/_react.default.createElement(_ArrowDropDownIcon.
|
|
180
|
+
popupIcon: showPopupIcon ? /*#__PURE__*/_react.default.createElement(_ArrowDropDownIcon.ArrowDropDownIcon, {
|
|
151
181
|
width: "0.6em",
|
|
152
182
|
height: "0.6em"
|
|
153
183
|
}) : null,
|
|
154
184
|
forcePopupIcon: "auto",
|
|
155
185
|
renderInput: function renderInput(params) {
|
|
156
186
|
return /*#__PURE__*/_react.default.createElement(_TextField.default, Object.assign({}, params, {
|
|
187
|
+
onKeyDown: function onKeyDown(event) {
|
|
188
|
+
if (!isInputAllowed(event.key)) {
|
|
189
|
+
event.preventDefault();
|
|
190
|
+
}
|
|
191
|
+
},
|
|
157
192
|
required: required,
|
|
158
193
|
label: text,
|
|
159
194
|
size: size,
|
|
@@ -172,7 +207,7 @@ var Dropdown = function Dropdown(_ref) {
|
|
|
172
207
|
}),
|
|
173
208
|
InputLabelProps: {
|
|
174
209
|
style: {
|
|
175
|
-
color: labelColor,
|
|
210
|
+
//color: labelColor,
|
|
176
211
|
fontSize: "14px",
|
|
177
212
|
fontFamily: "Lato"
|
|
178
213
|
}
|
|
@@ -210,7 +245,7 @@ var Dropdown = function Dropdown(_ref) {
|
|
|
210
245
|
getOptionLabel: function getOptionLabel(option) {
|
|
211
246
|
return option.label;
|
|
212
247
|
},
|
|
213
|
-
popupIcon: showPopupIcon ? /*#__PURE__*/_react.default.createElement(_ArrowDropDownIcon.
|
|
248
|
+
popupIcon: showPopupIcon ? /*#__PURE__*/_react.default.createElement(_ArrowDropDownIcon.ArrowDropDownIcon, {
|
|
214
249
|
width: "0.6em",
|
|
215
250
|
height: "0.6em"
|
|
216
251
|
}) : null,
|
|
@@ -233,6 +268,11 @@ var Dropdown = function Dropdown(_ref) {
|
|
|
233
268
|
size: size,
|
|
234
269
|
sx: getTextFieldStyle(),
|
|
235
270
|
placeholder: placeHolder,
|
|
271
|
+
onKeyDown: function onKeyDown(event) {
|
|
272
|
+
if (!isInputAllowed(event.key)) {
|
|
273
|
+
event.preventDefault();
|
|
274
|
+
}
|
|
275
|
+
},
|
|
236
276
|
required: required,
|
|
237
277
|
InputProps: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, params.InputProps), {}, {
|
|
238
278
|
style: {
|
|
@@ -247,7 +287,7 @@ var Dropdown = function Dropdown(_ref) {
|
|
|
247
287
|
}),
|
|
248
288
|
InputLabelProps: {
|
|
249
289
|
style: {
|
|
250
|
-
color: labelColor,
|
|
290
|
+
//color: labelColor,
|
|
251
291
|
fontSize: "16px",
|
|
252
292
|
fontFamily: "Lato"
|
|
253
293
|
}
|
|
@@ -257,10 +297,15 @@ var Dropdown = function Dropdown(_ref) {
|
|
|
257
297
|
size: size,
|
|
258
298
|
sx: getTextFieldStyle(),
|
|
259
299
|
placeholder: placeHolder,
|
|
300
|
+
onKeyDown: function onKeyDown(event) {
|
|
301
|
+
if (!isInputAllowed(event.key)) {
|
|
302
|
+
event.preventDefault();
|
|
303
|
+
}
|
|
304
|
+
},
|
|
260
305
|
required: required,
|
|
261
306
|
InputLabelProps: {
|
|
262
307
|
style: {
|
|
263
|
-
color: labelColor,
|
|
308
|
+
//color: labelColor,
|
|
264
309
|
fontSize: "16px",
|
|
265
310
|
fontFamily: "Lato"
|
|
266
311
|
}
|