@xaypay/tui 0.0.21 → 0.0.23
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/dist/index.es.js
CHANGED
|
@@ -195,45 +195,55 @@ const Autocomplate = ({
|
|
|
195
195
|
onChange,
|
|
196
196
|
value,
|
|
197
197
|
searchCount,
|
|
198
|
+
placeHolder,
|
|
198
199
|
keyNames,
|
|
200
|
+
errorMesage,
|
|
199
201
|
...props
|
|
200
202
|
}) => {
|
|
201
203
|
classnames(styles$7.searchBox, className);
|
|
202
|
-
const
|
|
203
|
-
|
|
204
|
+
const parseSelectedOptionsData = jsonSelectedOptionsData ? JSON.parse(jsonSelectedOptionsData) : {
|
|
205
|
+
name: '',
|
|
206
|
+
id: ''
|
|
207
|
+
};
|
|
208
|
+
const [inputValue, setInputValue] = useState(parseSelectedOptionsData[keyNames.name]);
|
|
209
|
+
const [inputId, setInputId] = useState(parseSelectedOptionsData[keyNames.id]);
|
|
204
210
|
const [activeOption, setActiveOption] = useState(0);
|
|
205
|
-
const [filteredOptions, setFilteredOptions] = useState([]);
|
|
206
211
|
const [showOptions, setShowOptions] = useState(false);
|
|
207
|
-
const parseOptionsData = jsonOptionsData ? JSON.parse(jsonOptionsData)
|
|
208
|
-
|
|
212
|
+
const parseOptionsData = jsonOptionsData ? JSON.parse(jsonOptionsData) : [];
|
|
213
|
+
useEffect(() => {
|
|
214
|
+
setInputValue(JSON.parse(jsonSelectedOptionsData)[keyNames.name]);
|
|
215
|
+
setInputId(JSON.parse(jsonSelectedOptionsData)[keyNames.id]);
|
|
216
|
+
}, [jsonSelectedOptionsData]);
|
|
209
217
|
const handleChange = e => {
|
|
210
218
|
const currentInputValue = e.currentTarget.value;
|
|
211
219
|
setInputId(null);
|
|
212
|
-
const filteredOptions = parseOptionsData.filter(optionName => optionName[keyNames.name].toLowerCase().indexOf(currentInputValue.toLowerCase()) > -1);
|
|
213
220
|
setInputValue(currentInputValue);
|
|
221
|
+
setInputId('');
|
|
214
222
|
setActiveOption(0);
|
|
215
|
-
setFilteredOptions(filteredOptions);
|
|
216
223
|
setShowOptions(true);
|
|
224
|
+
onChange({
|
|
225
|
+
name: currentInputValue,
|
|
226
|
+
id: e.target.id
|
|
227
|
+
});
|
|
217
228
|
};
|
|
218
229
|
const handleClick = e => {
|
|
219
|
-
setInputValue(e.currentTarget.innerText);
|
|
220
|
-
setInputId();
|
|
221
230
|
setActiveOption(0);
|
|
222
|
-
setFilteredOptions([]);
|
|
223
231
|
setShowOptions(false);
|
|
232
|
+
setInputValue(e.target.innerText);
|
|
233
|
+
setInputId(e.target.id);
|
|
224
234
|
onChange({
|
|
225
|
-
name: e.
|
|
235
|
+
name: e.target.innerText,
|
|
226
236
|
id: e.target.id
|
|
227
237
|
});
|
|
228
238
|
};
|
|
229
239
|
let optionList;
|
|
230
240
|
if (showOptions && inputValue) {
|
|
231
|
-
if (
|
|
241
|
+
if (parseOptionsData.length && inputValue.length >= searchCount) {
|
|
232
242
|
optionList = /*#__PURE__*/React.createElement("div", {
|
|
233
243
|
className: styles$7['autocomplate-content-bottom']
|
|
234
244
|
}, /*#__PURE__*/React.createElement("div", {
|
|
235
245
|
className: styles$7['autocomplate-content-bottom-inner']
|
|
236
|
-
},
|
|
246
|
+
}, parseOptionsData.map((optionName, index) => {
|
|
237
247
|
let className;
|
|
238
248
|
if (index === activeOption) {
|
|
239
249
|
className = "option-active";
|
|
@@ -270,13 +280,19 @@ const Autocomplate = ({
|
|
|
270
280
|
required: required,
|
|
271
281
|
disabled: disabled,
|
|
272
282
|
onChange: handleChange,
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
283
|
+
onClick: () => {
|
|
284
|
+
setShowOptions(!showOptions);
|
|
285
|
+
},
|
|
286
|
+
value: inputValue,
|
|
287
|
+
placeholder: placeHolder
|
|
288
|
+
}, props)), errorMesage ? /*#__PURE__*/React.createElement("span", {
|
|
289
|
+
className: styles$7.errorMessage
|
|
290
|
+
}, errorMesage) : null, optionList));
|
|
276
291
|
};
|
|
277
292
|
Autocomplate.propTypes = {
|
|
278
293
|
className: PropTypes.string,
|
|
279
294
|
label: PropTypes.string,
|
|
295
|
+
placeHolder: PropTypes.string,
|
|
280
296
|
required: PropTypes.bool,
|
|
281
297
|
disabled: PropTypes.bool,
|
|
282
298
|
jsonOptionsData: PropTypes.string,
|
|
@@ -284,7 +300,8 @@ Autocomplate.propTypes = {
|
|
|
284
300
|
onChange: PropTypes.func,
|
|
285
301
|
value: PropTypes.string,
|
|
286
302
|
searchCount: PropTypes.number,
|
|
287
|
-
keyNames: PropTypes.object
|
|
303
|
+
keyNames: PropTypes.object,
|
|
304
|
+
errorMesage: PropTypes.string
|
|
288
305
|
};
|
|
289
306
|
|
|
290
307
|
var css_248z$7 = ".checkbox-module_checkbox-wrap__Xrg-m{align-items:center;cursor:pointer;display:inline-flex;flex-direction:row;flex-wrap:nowrap;margin:0 6px;padding-left:24px;position:relative}.checkbox-module_checkbox-wrap__Xrg-m>input{height:0;opacity:0;position:absolute;width:0}.checkbox-module_checkbox-wrap__Xrg-m .checkbox-module_checkmark__M8DY6{border:1px solid #d9d9d9;border-radius:3px;display:inline-block;height:14px;left:0;margin-right:4px;position:absolute;top:0;transition:border-color .24s;vertical-align:top;width:14px}.checkbox-module_checkbox-wrap__Xrg-m>.checkbox-module_checkmark__M8DY6:after{border:solid #1890ff;border-width:0 2px 2px 0;content:\"\";display:block;height:8px;left:4px;opacity:0;position:absolute;top:1px;transform:rotate(45deg);transition:opacity .24s;width:4px}.checkbox-module_checkbox-wrap__Xrg-m input:checked~.checkbox-module_checkmark__M8DY6:after{opacity:1}.checkbox-module_checkbox-wrap__Xrg-m input:checked~.checkbox-module_checkmark__M8DY6,.checkbox-module_checkbox-wrap__Xrg-m:hover input~.checkbox-module_checkmark__M8DY6{border-color:#1890ff}";
|
|
@@ -301,11 +318,15 @@ const Checkbox = ({
|
|
|
301
318
|
onChange,
|
|
302
319
|
label,
|
|
303
320
|
keyNames,
|
|
321
|
+
onClick,
|
|
304
322
|
...props
|
|
305
323
|
}) => {
|
|
306
324
|
const classProps = classnames(styles$6.checkbox, className);
|
|
307
325
|
const parseData = jsonData.length !== 0 ? JSON.parse(jsonData) : [];
|
|
308
326
|
const [data, setData] = useState(parseData);
|
|
327
|
+
const handleClick = e => {
|
|
328
|
+
onClick(e);
|
|
329
|
+
};
|
|
309
330
|
const handleChange = e => {
|
|
310
331
|
if (e.target.checked) {
|
|
311
332
|
data.forEach(item => {
|
|
@@ -334,7 +355,8 @@ const Checkbox = ({
|
|
|
334
355
|
required: required,
|
|
335
356
|
value: value ? value : element.value,
|
|
336
357
|
name: name ? name : element.name,
|
|
337
|
-
onChange: handleChange
|
|
358
|
+
onChange: handleChange,
|
|
359
|
+
onClick: handleClick
|
|
338
360
|
}, props)), /*#__PURE__*/React.createElement("span", {
|
|
339
361
|
className: styles$6["checkmark"]
|
|
340
362
|
}), element.label ? /*#__PURE__*/React.createElement("span", {
|
|
@@ -351,7 +373,7 @@ Checkbox.propTypes = {
|
|
|
351
373
|
value: PropTypes.string,
|
|
352
374
|
jsonData: PropTypes.string,
|
|
353
375
|
label: PropTypes.string,
|
|
354
|
-
|
|
376
|
+
onClick: PropTypes.func,
|
|
355
377
|
keyNames: PropTypes.object
|
|
356
378
|
};
|
|
357
379
|
Checkbox.defaultProps = {
|
package/dist/index.js
CHANGED
|
@@ -206,45 +206,55 @@ const Autocomplate = ({
|
|
|
206
206
|
onChange,
|
|
207
207
|
value,
|
|
208
208
|
searchCount,
|
|
209
|
+
placeHolder,
|
|
209
210
|
keyNames,
|
|
211
|
+
errorMesage,
|
|
210
212
|
...props
|
|
211
213
|
}) => {
|
|
212
214
|
classnames__default["default"](styles$7.searchBox, className);
|
|
213
|
-
const
|
|
214
|
-
|
|
215
|
+
const parseSelectedOptionsData = jsonSelectedOptionsData ? JSON.parse(jsonSelectedOptionsData) : {
|
|
216
|
+
name: '',
|
|
217
|
+
id: ''
|
|
218
|
+
};
|
|
219
|
+
const [inputValue, setInputValue] = React.useState(parseSelectedOptionsData[keyNames.name]);
|
|
220
|
+
const [inputId, setInputId] = React.useState(parseSelectedOptionsData[keyNames.id]);
|
|
215
221
|
const [activeOption, setActiveOption] = React.useState(0);
|
|
216
|
-
const [filteredOptions, setFilteredOptions] = React.useState([]);
|
|
217
222
|
const [showOptions, setShowOptions] = React.useState(false);
|
|
218
|
-
const parseOptionsData = jsonOptionsData ? JSON.parse(jsonOptionsData)
|
|
219
|
-
|
|
223
|
+
const parseOptionsData = jsonOptionsData ? JSON.parse(jsonOptionsData) : [];
|
|
224
|
+
React.useEffect(() => {
|
|
225
|
+
setInputValue(JSON.parse(jsonSelectedOptionsData)[keyNames.name]);
|
|
226
|
+
setInputId(JSON.parse(jsonSelectedOptionsData)[keyNames.id]);
|
|
227
|
+
}, [jsonSelectedOptionsData]);
|
|
220
228
|
const handleChange = e => {
|
|
221
229
|
const currentInputValue = e.currentTarget.value;
|
|
222
230
|
setInputId(null);
|
|
223
|
-
const filteredOptions = parseOptionsData.filter(optionName => optionName[keyNames.name].toLowerCase().indexOf(currentInputValue.toLowerCase()) > -1);
|
|
224
231
|
setInputValue(currentInputValue);
|
|
232
|
+
setInputId('');
|
|
225
233
|
setActiveOption(0);
|
|
226
|
-
setFilteredOptions(filteredOptions);
|
|
227
234
|
setShowOptions(true);
|
|
235
|
+
onChange({
|
|
236
|
+
name: currentInputValue,
|
|
237
|
+
id: e.target.id
|
|
238
|
+
});
|
|
228
239
|
};
|
|
229
240
|
const handleClick = e => {
|
|
230
|
-
setInputValue(e.currentTarget.innerText);
|
|
231
|
-
setInputId();
|
|
232
241
|
setActiveOption(0);
|
|
233
|
-
setFilteredOptions([]);
|
|
234
242
|
setShowOptions(false);
|
|
243
|
+
setInputValue(e.target.innerText);
|
|
244
|
+
setInputId(e.target.id);
|
|
235
245
|
onChange({
|
|
236
|
-
name: e.
|
|
246
|
+
name: e.target.innerText,
|
|
237
247
|
id: e.target.id
|
|
238
248
|
});
|
|
239
249
|
};
|
|
240
250
|
let optionList;
|
|
241
251
|
if (showOptions && inputValue) {
|
|
242
|
-
if (
|
|
252
|
+
if (parseOptionsData.length && inputValue.length >= searchCount) {
|
|
243
253
|
optionList = /*#__PURE__*/React__default["default"].createElement("div", {
|
|
244
254
|
className: styles$7['autocomplate-content-bottom']
|
|
245
255
|
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
246
256
|
className: styles$7['autocomplate-content-bottom-inner']
|
|
247
|
-
},
|
|
257
|
+
}, parseOptionsData.map((optionName, index) => {
|
|
248
258
|
let className;
|
|
249
259
|
if (index === activeOption) {
|
|
250
260
|
className = "option-active";
|
|
@@ -281,13 +291,19 @@ const Autocomplate = ({
|
|
|
281
291
|
required: required,
|
|
282
292
|
disabled: disabled,
|
|
283
293
|
onChange: handleChange,
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
294
|
+
onClick: () => {
|
|
295
|
+
setShowOptions(!showOptions);
|
|
296
|
+
},
|
|
297
|
+
value: inputValue,
|
|
298
|
+
placeholder: placeHolder
|
|
299
|
+
}, props)), errorMesage ? /*#__PURE__*/React__default["default"].createElement("span", {
|
|
300
|
+
className: styles$7.errorMessage
|
|
301
|
+
}, errorMesage) : null, optionList));
|
|
287
302
|
};
|
|
288
303
|
Autocomplate.propTypes = {
|
|
289
304
|
className: PropTypes__default["default"].string,
|
|
290
305
|
label: PropTypes__default["default"].string,
|
|
306
|
+
placeHolder: PropTypes__default["default"].string,
|
|
291
307
|
required: PropTypes__default["default"].bool,
|
|
292
308
|
disabled: PropTypes__default["default"].bool,
|
|
293
309
|
jsonOptionsData: PropTypes__default["default"].string,
|
|
@@ -295,7 +311,8 @@ Autocomplate.propTypes = {
|
|
|
295
311
|
onChange: PropTypes__default["default"].func,
|
|
296
312
|
value: PropTypes__default["default"].string,
|
|
297
313
|
searchCount: PropTypes__default["default"].number,
|
|
298
|
-
keyNames: PropTypes__default["default"].object
|
|
314
|
+
keyNames: PropTypes__default["default"].object,
|
|
315
|
+
errorMesage: PropTypes__default["default"].string
|
|
299
316
|
};
|
|
300
317
|
|
|
301
318
|
var css_248z$7 = ".checkbox-module_checkbox-wrap__Xrg-m{align-items:center;cursor:pointer;display:inline-flex;flex-direction:row;flex-wrap:nowrap;margin:0 6px;padding-left:24px;position:relative}.checkbox-module_checkbox-wrap__Xrg-m>input{height:0;opacity:0;position:absolute;width:0}.checkbox-module_checkbox-wrap__Xrg-m .checkbox-module_checkmark__M8DY6{border:1px solid #d9d9d9;border-radius:3px;display:inline-block;height:14px;left:0;margin-right:4px;position:absolute;top:0;transition:border-color .24s;vertical-align:top;width:14px}.checkbox-module_checkbox-wrap__Xrg-m>.checkbox-module_checkmark__M8DY6:after{border:solid #1890ff;border-width:0 2px 2px 0;content:\"\";display:block;height:8px;left:4px;opacity:0;position:absolute;top:1px;transform:rotate(45deg);transition:opacity .24s;width:4px}.checkbox-module_checkbox-wrap__Xrg-m input:checked~.checkbox-module_checkmark__M8DY6:after{opacity:1}.checkbox-module_checkbox-wrap__Xrg-m input:checked~.checkbox-module_checkmark__M8DY6,.checkbox-module_checkbox-wrap__Xrg-m:hover input~.checkbox-module_checkmark__M8DY6{border-color:#1890ff}";
|
|
@@ -312,11 +329,15 @@ const Checkbox = ({
|
|
|
312
329
|
onChange,
|
|
313
330
|
label,
|
|
314
331
|
keyNames,
|
|
332
|
+
onClick,
|
|
315
333
|
...props
|
|
316
334
|
}) => {
|
|
317
335
|
const classProps = classnames__default["default"](styles$6.checkbox, className);
|
|
318
336
|
const parseData = jsonData.length !== 0 ? JSON.parse(jsonData) : [];
|
|
319
337
|
const [data, setData] = React.useState(parseData);
|
|
338
|
+
const handleClick = e => {
|
|
339
|
+
onClick(e);
|
|
340
|
+
};
|
|
320
341
|
const handleChange = e => {
|
|
321
342
|
if (e.target.checked) {
|
|
322
343
|
data.forEach(item => {
|
|
@@ -345,7 +366,8 @@ const Checkbox = ({
|
|
|
345
366
|
required: required,
|
|
346
367
|
value: value ? value : element.value,
|
|
347
368
|
name: name ? name : element.name,
|
|
348
|
-
onChange: handleChange
|
|
369
|
+
onChange: handleChange,
|
|
370
|
+
onClick: handleClick
|
|
349
371
|
}, props)), /*#__PURE__*/React__default["default"].createElement("span", {
|
|
350
372
|
className: styles$6["checkmark"]
|
|
351
373
|
}), element.label ? /*#__PURE__*/React__default["default"].createElement("span", {
|
|
@@ -362,7 +384,7 @@ Checkbox.propTypes = {
|
|
|
362
384
|
value: PropTypes__default["default"].string,
|
|
363
385
|
jsonData: PropTypes__default["default"].string,
|
|
364
386
|
label: PropTypes__default["default"].string,
|
|
365
|
-
|
|
387
|
+
onClick: PropTypes__default["default"].func,
|
|
366
388
|
keyNames: PropTypes__default["default"].object
|
|
367
389
|
};
|
|
368
390
|
Checkbox.defaultProps = {
|
package/package.json
CHANGED
|
@@ -11,13 +11,23 @@ const Template = (args) => <Autocomplate {...args} />;
|
|
|
11
11
|
export const Default = Template.bind({});
|
|
12
12
|
Default.args = {
|
|
13
13
|
jsonOptionsData: '[{"bbb":"0", "value":"asd"}, {"bbb":"2", "value":"bas"}]',
|
|
14
|
-
|
|
14
|
+
jsonSelectedOptionsData: '{"bbb":"0", "value":"gasdfgdsfgdsg"}',
|
|
15
15
|
label: 'label',
|
|
16
16
|
keyNames: { name: 'value', id: 'bbb' },
|
|
17
17
|
searchCount: 2,
|
|
18
|
-
onChange(aa){
|
|
18
|
+
onChange: (aa)=> {
|
|
19
19
|
console.log(aa);
|
|
20
|
-
|
|
20
|
+
fetch(`http://dev2.govazd-api.yerevan.am/api/v1/companies/autocomplete?slug=${aa.name? aa.name : 'a'}`, {
|
|
21
|
+
method: 'GET',
|
|
22
|
+
headers: {
|
|
23
|
+
'Content-Type': 'application/json',
|
|
24
|
+
'Authorization': 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiIwMjE0NzEyYTllNzQwZWMyMjNhYzE2MGQyNGVkY2UzNyIsImp0aSI6Ijk2Mjk0MjJkNTY1ZTQ3MGM3MjFkZjY5NDgzMzE3ZThmYjdlMDJmMjI4YjY5MzZhYzdiM2EzMWM4ODZkMWQwZDk2YjIzNzYwMmJhMWE0MTE0IiwiaWF0IjoxNjY5MTgyOTI5LjczMjIwOCwibmJmIjoxNjY5MTgyOTI5LjczMjIzLCJleHAiOjE2NjkyMDgxMjkuNzEyNDczLCJzdWIiOiJtaW5hcyIsInNjb3BlcyI6WyJlbWFpbCJdfQ.NsFsqDHOBYzgReUtW9iumbEvYCB8O7yCIJ2UTz0-AeVEjdUxE-htZMBYF8pP3m-lM1IQ3iN2ude7AZhTzVLMAhTt-5tKJr8YAxhX28yCBLYsFHE-e0k7-FLKBkkZxt9yrvX_Rz8aSQ39-3HrkyB-BYHzV5-GnMgAhnrWKYlTmrVFi9SWu0WBYPHvblMTEh3Vkkd1ESn7fUhy8gf8qma0ChRAMbkozLffbVVYfnWlU0eySD2PUWrZ26JtKAX6k-q7TiMd6HMjOEFUi80JH7aoKDI1vdg8kKlPqcjYTEJK3hzIJrtOHTTUoW4m1-k5x9Le3ULdT4Hctr0bh--ERShnTTg-DBJh0zIoBol4hFHZnA35_FEqKBkDAJ3EOt9DusBTJ9Iad-JzrxJqb-4uhzWjTg8f3F_IedPgG3pwqGkSw2U2dVqzwdqy3yaElp7SGWpicNxJWJsr5Vfa8gLhMkmDMooOHNBUNkS-4Z8Cn6dPc-1mg2JZxrBuSMElkp8-DQr9Xe9VBf8wCUEdHDvQmb-6LIEL8njS2XGL82m827uO-BOVVOIiZO-BVGn_VjIwdhywrjmudPWBy2CVUxHEft64Bz3VkS2FnFoSN7_zsaCE6dpXWTRJKv-4IeBv8pn4-lYw67jMINza7Om9_6BOlnk1VvjixmulPyTobgEO7PQ6FeE',
|
|
25
|
+
},
|
|
26
|
+
}).then((res)=> {
|
|
27
|
+
return res.json()
|
|
28
|
+
}).then((data)=> {
|
|
29
|
+
console.log(data)
|
|
30
|
+
})
|
|
21
31
|
}
|
|
22
32
|
|
|
23
33
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { useState } from "react";
|
|
1
|
+
import React, { useEffect, useState } from "react";
|
|
2
2
|
import PropTypes from "prop-types";
|
|
3
3
|
import classnames from "classnames";
|
|
4
4
|
import styles from "./autocomplate.module.css";
|
|
@@ -13,79 +13,81 @@ export const Autocomplate = ({
|
|
|
13
13
|
onChange,
|
|
14
14
|
value,
|
|
15
15
|
searchCount,
|
|
16
|
+
placeHolder,
|
|
16
17
|
keyNames,
|
|
18
|
+
errorMesage,
|
|
17
19
|
...props
|
|
18
20
|
}) => {
|
|
19
21
|
const classProps = classnames(styles.searchBox, className);
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
+
const parseSelectedOptionsData =
|
|
23
|
+
jsonSelectedOptionsData ? JSON.parse(jsonSelectedOptionsData) : { name: '', id: '' };
|
|
24
|
+
const [inputValue, setInputValue] = useState(parseSelectedOptionsData[keyNames.name]);
|
|
25
|
+
const [inputId, setInputId] = useState(parseSelectedOptionsData[keyNames.id]);
|
|
22
26
|
const [activeOption, setActiveOption] = useState(0);
|
|
23
|
-
const [filteredOptions, setFilteredOptions] = useState([]);
|
|
24
27
|
const [showOptions, setShowOptions] = useState(false);
|
|
25
28
|
const parseOptionsData =
|
|
26
|
-
jsonOptionsData? JSON.parse(jsonOptionsData)
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
29
|
+
jsonOptionsData ? JSON.parse(jsonOptionsData) : [];
|
|
30
|
+
useEffect(() => {
|
|
31
|
+
setInputValue(JSON.parse(jsonSelectedOptionsData)[keyNames.name])
|
|
32
|
+
setInputId(JSON.parse(jsonSelectedOptionsData)[keyNames.id])
|
|
33
|
+
}, [jsonSelectedOptionsData])
|
|
34
|
+
|
|
30
35
|
const handleChange = (e) => {
|
|
31
36
|
const currentInputValue = e.currentTarget.value;
|
|
32
37
|
setInputId(null)
|
|
33
|
-
const filteredOptions = parseOptionsData.filter(
|
|
34
|
-
(optionName) =>
|
|
35
|
-
optionName[keyNames.name].toLowerCase().indexOf(currentInputValue.toLowerCase()) > -1
|
|
36
|
-
);
|
|
37
38
|
setInputValue(currentInputValue);
|
|
39
|
+
setInputId('')
|
|
38
40
|
setActiveOption(0);
|
|
39
|
-
|
|
40
|
-
|
|
41
|
+
setShowOptions(true);
|
|
42
|
+
onChange({ name: currentInputValue, id: e.target.id });
|
|
41
43
|
};
|
|
42
44
|
const handleClick = (e) => {
|
|
43
|
-
setInputValue(e.currentTarget.innerText);
|
|
44
|
-
setInputId()
|
|
45
45
|
setActiveOption(0);
|
|
46
|
-
setFilteredOptions([]);
|
|
47
46
|
setShowOptions(false);
|
|
48
|
-
|
|
47
|
+
setInputValue(e.target.innerText);
|
|
48
|
+
setInputId(e.target.id)
|
|
49
|
+
|
|
50
|
+
onChange({ name: e.target.innerText, id: e.target.id });
|
|
49
51
|
|
|
50
52
|
};
|
|
51
53
|
let optionList;
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
</div>
|
|
70
|
-
);
|
|
71
|
-
})}
|
|
72
|
-
</div>
|
|
54
|
+
if (showOptions && inputValue) {
|
|
55
|
+
if (parseOptionsData.length && inputValue.length >= searchCount) {
|
|
56
|
+
optionList = (
|
|
57
|
+
<div className={styles['autocomplate-content-bottom']}>
|
|
58
|
+
<div className={styles['autocomplate-content-bottom-inner']}>
|
|
59
|
+
{parseOptionsData.map((optionName, index) => {
|
|
60
|
+
let className;
|
|
61
|
+
if (index === activeOption) {
|
|
62
|
+
className = "option-active";
|
|
63
|
+
}
|
|
64
|
+
return (
|
|
65
|
+
<div
|
|
66
|
+
className={styles[className]}
|
|
67
|
+
key={optionName[keyNames.id]}
|
|
68
|
+
onClick={handleClick}
|
|
69
|
+
>
|
|
70
|
+
<div id={optionName[keyNames.id]} className={styles['autocomplate-content-bottom-row']}>{optionName[keyNames.name]}</div>
|
|
73
71
|
</div>
|
|
72
|
+
);
|
|
73
|
+
})}
|
|
74
|
+
</div>
|
|
75
|
+
</div>
|
|
74
76
|
|
|
75
77
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
}
|
|
78
|
+
);
|
|
79
|
+
} else {
|
|
80
|
+
optionList = (
|
|
81
|
+
<div className={styles['autocomplate-content-bottom']}>
|
|
82
|
+
<div className={styles['autocomplate-content-bottom-inner']}>
|
|
83
|
+
<div className={styles['autocomplate-content-bottom-row']}>
|
|
84
|
+
<div className={styles['no-option']}>No Option!</div>
|
|
85
|
+
</div>
|
|
86
|
+
</div>
|
|
87
|
+
</div>
|
|
88
|
+
);
|
|
88
89
|
}
|
|
90
|
+
}
|
|
89
91
|
|
|
90
92
|
return (
|
|
91
93
|
<>
|
|
@@ -98,10 +100,12 @@ export const Autocomplate = ({
|
|
|
98
100
|
required={required}
|
|
99
101
|
disabled={disabled}
|
|
100
102
|
onChange={handleChange}
|
|
101
|
-
|
|
102
|
-
|
|
103
|
+
onClick={() => { setShowOptions(!showOptions) }}
|
|
104
|
+
value={inputValue}
|
|
105
|
+
placeholder={placeHolder}
|
|
103
106
|
{...props}
|
|
104
|
-
|
|
107
|
+
/>
|
|
108
|
+
{errorMesage ? <span className={styles.errorMessage}>{errorMesage}</span> : null}
|
|
105
109
|
{optionList}
|
|
106
110
|
</div>
|
|
107
111
|
</>
|
|
@@ -111,6 +115,7 @@ export const Autocomplate = ({
|
|
|
111
115
|
Autocomplate.propTypes = {
|
|
112
116
|
className: PropTypes.string,
|
|
113
117
|
label: PropTypes.string,
|
|
118
|
+
placeHolder: PropTypes.string,
|
|
114
119
|
required: PropTypes.bool,
|
|
115
120
|
disabled: PropTypes.bool,
|
|
116
121
|
jsonOptionsData: PropTypes.string,
|
|
@@ -119,6 +124,7 @@ Autocomplate.propTypes = {
|
|
|
119
124
|
value: PropTypes.string,
|
|
120
125
|
searchCount: PropTypes.number,
|
|
121
126
|
keyNames: PropTypes.object,
|
|
127
|
+
errorMesage: PropTypes.string,
|
|
122
128
|
};
|
|
123
129
|
|
|
124
130
|
|
|
@@ -13,12 +13,17 @@ export const Checkbox = ({
|
|
|
13
13
|
onChange,
|
|
14
14
|
label,
|
|
15
15
|
keyNames,
|
|
16
|
+
onClick,
|
|
16
17
|
...props
|
|
17
18
|
}) => {
|
|
18
19
|
const classProps = classNames(styles.checkbox, className);
|
|
19
20
|
const parseData = jsonData.length !== 0 ? JSON.parse(jsonData) : [];
|
|
20
21
|
const [data, setData] = useState(parseData);
|
|
21
22
|
|
|
23
|
+
const handleClick = (e) => {
|
|
24
|
+
onClick(e)
|
|
25
|
+
}
|
|
26
|
+
|
|
22
27
|
const handleChange = (e) => {
|
|
23
28
|
if (e.target.checked) {
|
|
24
29
|
data.forEach((item) => {
|
|
@@ -50,9 +55,10 @@ export const Checkbox = ({
|
|
|
50
55
|
value={value ? value : element.value}
|
|
51
56
|
name={name ? name : element.name}
|
|
52
57
|
onChange={handleChange}
|
|
58
|
+
onClick={handleClick}
|
|
53
59
|
{...props}
|
|
54
60
|
/>
|
|
55
|
-
<span className={styles["checkmark"]}/>
|
|
61
|
+
<span className={styles["checkmark"]} />
|
|
56
62
|
{element.label ? (
|
|
57
63
|
<span className={styles.labelRadio}>
|
|
58
64
|
{label ? label : element.label}
|
|
@@ -76,7 +82,7 @@ Checkbox.propTypes = {
|
|
|
76
82
|
value: PropTypes.string,
|
|
77
83
|
jsonData: PropTypes.string,
|
|
78
84
|
label: PropTypes.string,
|
|
79
|
-
|
|
85
|
+
onClick: PropTypes.func,
|
|
80
86
|
keyNames: PropTypes.object,
|
|
81
87
|
};
|
|
82
88
|
|