@xaypay/tui 0.0.16 → 0.0.17
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 +13 -10
- package/dist/index.js +13 -10
- package/package.json +1 -1
- package/src/components/multiselect/index.js +24 -13
- package/src/components/multiselect/multiselect.stories.js +8 -6
- package/src/components/pagination/index.js +4 -4
- package/src/components/select/index.js +23 -19
- package/src/components/select/select.stories.js +3 -2
package/dist/index.es.js
CHANGED
|
@@ -506,9 +506,9 @@ const Pagination = ({
|
|
|
506
506
|
offset,
|
|
507
507
|
className
|
|
508
508
|
}) => {
|
|
509
|
-
const [siblingCountNumber, setSibilingCountNumber] = useState(
|
|
510
|
-
const [currentPageNumber, setCurrentPage] = useState(
|
|
511
|
-
const [currentTotalCount, setcurrentTotalCount] = useState(
|
|
509
|
+
const [siblingCountNumber, setSibilingCountNumber] = useState(siblingCount);
|
|
510
|
+
const [currentPageNumber, setCurrentPage] = useState(currentPage);
|
|
511
|
+
const [currentTotalCount, setcurrentTotalCount] = useState(totalCount);
|
|
512
512
|
useEffect(() => {
|
|
513
513
|
setcurrentTotalCount(totalCount);
|
|
514
514
|
}, [totalCount]);
|
|
@@ -523,7 +523,7 @@ const Pagination = ({
|
|
|
523
523
|
};
|
|
524
524
|
useEffect(() => {
|
|
525
525
|
onChange(currentPageNumber);
|
|
526
|
-
}, []);
|
|
526
|
+
}, [currentPageNumber]);
|
|
527
527
|
const paginationRange = PaginationRange({
|
|
528
528
|
currentPageNumber,
|
|
529
529
|
currentTotalCount,
|
|
@@ -773,11 +773,13 @@ const Select = ({
|
|
|
773
773
|
required,
|
|
774
774
|
defaultOption,
|
|
775
775
|
onChange,
|
|
776
|
+
keyNames,
|
|
776
777
|
selected
|
|
777
778
|
}) => {
|
|
778
779
|
const options = jsonData.length ? JSON.parse(jsonData) : [];
|
|
780
|
+
const parseSelectedData = selected.length !== 0 ? JSON.parse(selected) : {};
|
|
779
781
|
let [opened, setOpened] = useState(false);
|
|
780
|
-
let [newSelected, setNewSelected] = useState(
|
|
782
|
+
let [newSelected, setNewSelected] = useState(parseSelectedData);
|
|
781
783
|
classnames(styles[theme], styles[size], {
|
|
782
784
|
[styles.disabled]: disabled,
|
|
783
785
|
[styles.required]: required
|
|
@@ -796,7 +798,7 @@ const Select = ({
|
|
|
796
798
|
}
|
|
797
799
|
}, /*#__PURE__*/React.createElement("div", {
|
|
798
800
|
className: styles['select-content-top-text']
|
|
799
|
-
}, newSelected && newSelected.name ? newSelected.name : defaultOption), /*#__PURE__*/React.createElement("div", {
|
|
801
|
+
}, newSelected && newSelected[keyNames.name] ? newSelected[keyNames.name] : defaultOption), /*#__PURE__*/React.createElement("div", {
|
|
800
802
|
className: styles['select-content-top-icon']
|
|
801
803
|
}, /*#__PURE__*/React.createElement(Icon, {
|
|
802
804
|
className: opened ? 'icon-arrow-up' : 'icon-arrow-down'
|
|
@@ -823,8 +825,8 @@ const Select = ({
|
|
|
823
825
|
onChange(option);
|
|
824
826
|
setOpened(!opened);
|
|
825
827
|
},
|
|
826
|
-
defaultValue: option.id
|
|
827
|
-
}, option.name);
|
|
828
|
+
defaultValue: option[keyNames.id]
|
|
829
|
+
}, option[keyNames.name]);
|
|
828
830
|
}))) : null)), eMessage ? /*#__PURE__*/React.createElement("span", {
|
|
829
831
|
className: styles.eMessage
|
|
830
832
|
}, eMessage) : null);
|
|
@@ -839,8 +841,9 @@ Select.propTypes = {
|
|
|
839
841
|
required: PropTypes.bool,
|
|
840
842
|
disabled: PropTypes.bool,
|
|
841
843
|
className: PropTypes.string,
|
|
842
|
-
selected: PropTypes.
|
|
843
|
-
jsonData: PropTypes.string
|
|
844
|
+
selected: PropTypes.string,
|
|
845
|
+
jsonData: PropTypes.string,
|
|
846
|
+
keyNames: PropTypes.object
|
|
844
847
|
};
|
|
845
848
|
Select.defaultProps = {
|
|
846
849
|
size: 'medium'
|
package/dist/index.js
CHANGED
|
@@ -517,9 +517,9 @@ const Pagination = ({
|
|
|
517
517
|
offset,
|
|
518
518
|
className
|
|
519
519
|
}) => {
|
|
520
|
-
const [siblingCountNumber, setSibilingCountNumber] = React.useState(
|
|
521
|
-
const [currentPageNumber, setCurrentPage] = React.useState(
|
|
522
|
-
const [currentTotalCount, setcurrentTotalCount] = React.useState(
|
|
520
|
+
const [siblingCountNumber, setSibilingCountNumber] = React.useState(siblingCount);
|
|
521
|
+
const [currentPageNumber, setCurrentPage] = React.useState(currentPage);
|
|
522
|
+
const [currentTotalCount, setcurrentTotalCount] = React.useState(totalCount);
|
|
523
523
|
React.useEffect(() => {
|
|
524
524
|
setcurrentTotalCount(totalCount);
|
|
525
525
|
}, [totalCount]);
|
|
@@ -534,7 +534,7 @@ const Pagination = ({
|
|
|
534
534
|
};
|
|
535
535
|
React.useEffect(() => {
|
|
536
536
|
onChange(currentPageNumber);
|
|
537
|
-
}, []);
|
|
537
|
+
}, [currentPageNumber]);
|
|
538
538
|
const paginationRange = PaginationRange({
|
|
539
539
|
currentPageNumber,
|
|
540
540
|
currentTotalCount,
|
|
@@ -784,11 +784,13 @@ const Select = ({
|
|
|
784
784
|
required,
|
|
785
785
|
defaultOption,
|
|
786
786
|
onChange,
|
|
787
|
+
keyNames,
|
|
787
788
|
selected
|
|
788
789
|
}) => {
|
|
789
790
|
const options = jsonData.length ? JSON.parse(jsonData) : [];
|
|
791
|
+
const parseSelectedData = selected.length !== 0 ? JSON.parse(selected) : {};
|
|
790
792
|
let [opened, setOpened] = React.useState(false);
|
|
791
|
-
let [newSelected, setNewSelected] = React.useState(
|
|
793
|
+
let [newSelected, setNewSelected] = React.useState(parseSelectedData);
|
|
792
794
|
classnames__default["default"](styles[theme], styles[size], {
|
|
793
795
|
[styles.disabled]: disabled,
|
|
794
796
|
[styles.required]: required
|
|
@@ -807,7 +809,7 @@ const Select = ({
|
|
|
807
809
|
}
|
|
808
810
|
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
809
811
|
className: styles['select-content-top-text']
|
|
810
|
-
}, newSelected && newSelected.name ? newSelected.name : defaultOption), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
812
|
+
}, newSelected && newSelected[keyNames.name] ? newSelected[keyNames.name] : defaultOption), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
811
813
|
className: styles['select-content-top-icon']
|
|
812
814
|
}, /*#__PURE__*/React__default["default"].createElement(Icon, {
|
|
813
815
|
className: opened ? 'icon-arrow-up' : 'icon-arrow-down'
|
|
@@ -834,8 +836,8 @@ const Select = ({
|
|
|
834
836
|
onChange(option);
|
|
835
837
|
setOpened(!opened);
|
|
836
838
|
},
|
|
837
|
-
defaultValue: option.id
|
|
838
|
-
}, option.name);
|
|
839
|
+
defaultValue: option[keyNames.id]
|
|
840
|
+
}, option[keyNames.name]);
|
|
839
841
|
}))) : null)), eMessage ? /*#__PURE__*/React__default["default"].createElement("span", {
|
|
840
842
|
className: styles.eMessage
|
|
841
843
|
}, eMessage) : null);
|
|
@@ -850,8 +852,9 @@ Select.propTypes = {
|
|
|
850
852
|
required: PropTypes__default["default"].bool,
|
|
851
853
|
disabled: PropTypes__default["default"].bool,
|
|
852
854
|
className: PropTypes__default["default"].string,
|
|
853
|
-
selected: PropTypes__default["default"].
|
|
854
|
-
jsonData: PropTypes__default["default"].string
|
|
855
|
+
selected: PropTypes__default["default"].string,
|
|
856
|
+
jsonData: PropTypes__default["default"].string,
|
|
857
|
+
keyNames: PropTypes__default["default"].object
|
|
855
858
|
};
|
|
856
859
|
Select.defaultProps = {
|
|
857
860
|
size: 'medium'
|
package/package.json
CHANGED
|
@@ -9,6 +9,7 @@ export const Multiselect = ({
|
|
|
9
9
|
jsonOptionsData,
|
|
10
10
|
jsonSelectedOptionsData,
|
|
11
11
|
onchange,
|
|
12
|
+
keyNames,
|
|
12
13
|
value
|
|
13
14
|
}) => {
|
|
14
15
|
const [searchedOptions, setSearchedOptions] = useState(jsonOptionsData.length ? JSON.parse(jsonOptionsData) : []);
|
|
@@ -21,8 +22,8 @@ export const Multiselect = ({
|
|
|
21
22
|
<div className={styles['multi-select-content-top']} onClick={()=>{setOpened(!opened)}}>
|
|
22
23
|
{
|
|
23
24
|
options.map((option, i) => {
|
|
24
|
-
return (<div className={styles['multi-select-content-bottom-row']} >
|
|
25
|
-
<div id={option.id}>{option.name}</div>
|
|
25
|
+
return (<div className={styles['multi-select-content-bottom-row']} key={option[keyNames.id]}>
|
|
26
|
+
<div id={option[keyNames.id]}>{option[keyNames.name]}</div>
|
|
26
27
|
<Icon className='icon-close' onClick={() => {
|
|
27
28
|
options.splice(i, 1);
|
|
28
29
|
setOptions(options);
|
|
@@ -33,28 +34,37 @@ export const Multiselect = ({
|
|
|
33
34
|
</div>)
|
|
34
35
|
})
|
|
35
36
|
}
|
|
36
|
-
{/*<div onChange={(e) => {*/}
|
|
37
|
-
{/*setValues(e.target.value ? searchedOptions.filter((option) => {*/}
|
|
38
|
-
{/*return option.name.toLowerCase().includes(e.target.value.toLowerCase())*/}
|
|
39
|
-
{/*}) : searchedOptions)*/}
|
|
40
37
|
|
|
41
|
-
|
|
38
|
+
<input onChange={(e) => {
|
|
39
|
+
setValues(e.target.value ? searchedOptions.filter((option) => {
|
|
40
|
+
return option[keyNames.name].toLowerCase().includes(e.target.value.toLowerCase())
|
|
41
|
+
}) : searchedOptions)
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
}} className={styles.input} type='text' />
|
|
42
45
|
<div className={styles['select-content-top-icon']}>
|
|
43
46
|
<Icon className={opened ? 'icon-arrow-up' : 'icon-arrow-down'}/>
|
|
44
47
|
</div>
|
|
45
48
|
</div>
|
|
46
49
|
{
|
|
50
|
+
|
|
47
51
|
opened ? <div className={styles['multi-select-content-bottom']} onClick={onchange}>
|
|
48
52
|
<div className={styles['multi-select-content-bottom-inner']}>
|
|
49
53
|
{
|
|
50
54
|
values.length ?
|
|
51
55
|
values.map((value, i) => {
|
|
52
|
-
return (<div
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
56
|
+
return (<div
|
|
57
|
+
className={styles['multi-select-content-bottom-row']}
|
|
58
|
+
key={value[keyNames.id]}
|
|
59
|
+
id={value.id}
|
|
60
|
+
onClick={(e) => {
|
|
61
|
+
setOptions([...options, { [keyNames.name] : value[keyNames.name], [keyNames.id] : value[keyNames.id] }])
|
|
62
|
+
values.splice(i, 1);
|
|
63
|
+
setValues(values);
|
|
64
|
+
setSearchedOptions(values);
|
|
65
|
+
}}>
|
|
66
|
+
{value.name}
|
|
67
|
+
</div>)
|
|
58
68
|
}) :
|
|
59
69
|
<div className={styles['no-elements']}>No Elements!</div>
|
|
60
70
|
}
|
|
@@ -72,5 +82,6 @@ Multiselect.propTypes = {
|
|
|
72
82
|
jsonOptionsData: PropTypes.string,
|
|
73
83
|
jsonSelectedOptionsData: PropTypes.string,
|
|
74
84
|
onchange: PropTypes.func,
|
|
85
|
+
keyNames: PropTypes.object,
|
|
75
86
|
};
|
|
76
87
|
|
|
@@ -2,17 +2,19 @@ import React from "react";
|
|
|
2
2
|
import { Multiselect } from "./index";
|
|
3
3
|
|
|
4
4
|
export default {
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
component: Multiselect,
|
|
6
|
+
title: "Components/Multiselect",
|
|
7
7
|
};
|
|
8
8
|
|
|
9
9
|
const Template = (args) => <Multiselect {...args} />;
|
|
10
10
|
|
|
11
11
|
export const Default = Template.bind({});
|
|
12
12
|
Default.args = {
|
|
13
|
-
jsonOptionsData: '[{"
|
|
14
|
-
jsonSelectedOptionsData: '[{"
|
|
13
|
+
jsonOptionsData: '[{"bbb":"1", "value":"Կենտրոն"}]',
|
|
14
|
+
jsonSelectedOptionsData: '[{"bbb":"0", "value":"Արաբկիր"}, {"bbb":"2", "value":"Մալաթիա"}]',
|
|
15
15
|
label: 'label',
|
|
16
|
-
onchange: (newValue)=> {
|
|
17
|
-
|
|
16
|
+
onchange: (newValue) => {
|
|
17
|
+
console.log(newValue);
|
|
18
|
+
},
|
|
19
|
+
keyNames: { name: 'value', id: 'bbb' }
|
|
18
20
|
};
|
|
@@ -13,9 +13,9 @@ export const Pagination = ({
|
|
|
13
13
|
offset,
|
|
14
14
|
className,
|
|
15
15
|
}) => {
|
|
16
|
-
const [siblingCountNumber, setSibilingCountNumber] = useState(
|
|
17
|
-
const [currentPageNumber, setCurrentPage] = useState(
|
|
18
|
-
const [currentTotalCount, setcurrentTotalCount] = useState(
|
|
16
|
+
const [siblingCountNumber, setSibilingCountNumber] = useState(siblingCount);
|
|
17
|
+
const [currentPageNumber, setCurrentPage] = useState(currentPage);
|
|
18
|
+
const [currentTotalCount, setcurrentTotalCount] = useState(totalCount);
|
|
19
19
|
useEffect(() => {
|
|
20
20
|
setcurrentTotalCount(totalCount);
|
|
21
21
|
}, [totalCount]);
|
|
@@ -31,7 +31,7 @@ export const Pagination = ({
|
|
|
31
31
|
};
|
|
32
32
|
useEffect(() => {
|
|
33
33
|
onChange(currentPageNumber);
|
|
34
|
-
}, []);
|
|
34
|
+
}, [currentPageNumber]);
|
|
35
35
|
const paginationRange = PaginationRange({
|
|
36
36
|
currentPageNumber,
|
|
37
37
|
currentTotalCount,
|
|
@@ -22,21 +22,24 @@ export const SelectSize = {
|
|
|
22
22
|
};
|
|
23
23
|
|
|
24
24
|
export const Select = ({
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
25
|
+
theme,
|
|
26
|
+
size,
|
|
27
|
+
className,
|
|
28
|
+
disabled,
|
|
29
|
+
label,
|
|
30
|
+
jsonData,
|
|
31
|
+
eMessage,
|
|
32
|
+
required,
|
|
33
|
+
defaultOption,
|
|
34
|
+
onChange,
|
|
35
|
+
keyNames,
|
|
36
|
+
selected
|
|
37
|
+
}) => {
|
|
38
|
+
const options = jsonData.length ? JSON.parse(jsonData) : [];
|
|
39
|
+
const parseSelectedData =
|
|
40
|
+
selected.length !== 0 ? JSON.parse(selected) : {};
|
|
38
41
|
let [opened, setOpened] = useState(false)
|
|
39
|
-
let [newSelected, setNewSelected] = useState(
|
|
42
|
+
let [newSelected, setNewSelected] = useState(parseSelectedData)
|
|
40
43
|
const classProps = classnames(
|
|
41
44
|
styles[theme],
|
|
42
45
|
styles[size],
|
|
@@ -58,7 +61,7 @@ export const Select = ({
|
|
|
58
61
|
setOpened(!opened)
|
|
59
62
|
}}
|
|
60
63
|
>
|
|
61
|
-
<div className={styles['select-content-top-text']}>{newSelected && newSelected.name ? newSelected.name : defaultOption}</div>
|
|
64
|
+
<div className={styles['select-content-top-text']}>{newSelected && newSelected[keyNames.name] ? newSelected[keyNames.name] : defaultOption}</div>
|
|
62
65
|
<div className={styles['select-content-top-icon']}>
|
|
63
66
|
<Icon className={opened ? 'icon-arrow-up' : 'icon-arrow-down'}/>
|
|
64
67
|
</div>
|
|
@@ -93,9 +96,9 @@ export const Select = ({
|
|
|
93
96
|
setOpened(!opened);
|
|
94
97
|
}
|
|
95
98
|
}
|
|
96
|
-
defaultValue={option.id}
|
|
99
|
+
defaultValue={option[keyNames.id]}
|
|
97
100
|
>
|
|
98
|
-
{option.name}
|
|
101
|
+
{option[keyNames.name]}
|
|
99
102
|
</div>
|
|
100
103
|
})
|
|
101
104
|
}
|
|
@@ -122,8 +125,9 @@ Select.propTypes = {
|
|
|
122
125
|
required: PropTypes.bool,
|
|
123
126
|
disabled: PropTypes.bool,
|
|
124
127
|
className: PropTypes.string,
|
|
125
|
-
selected: PropTypes.
|
|
126
|
-
jsonData: PropTypes.string
|
|
128
|
+
selected: PropTypes.string,
|
|
129
|
+
jsonData: PropTypes.string,
|
|
130
|
+
keyNames: PropTypes.object,
|
|
127
131
|
};
|
|
128
132
|
|
|
129
133
|
Select.defaultProps = {
|
|
@@ -11,10 +11,11 @@ export const Default = Template.bind({});
|
|
|
11
11
|
Default.args = {
|
|
12
12
|
theme: SelectTheme.DEFAULT,
|
|
13
13
|
label: 'վարչական շրջան',
|
|
14
|
-
jsonData: '[{"
|
|
14
|
+
jsonData: '[{"bbb":"0", "value":"Արաբկիր"}, {"bbb":"1", "value":"Կենտրոն"}, {"bbb":"2", "value":"Մալաթիա"}]',
|
|
15
15
|
onChange: (newValue)=> {
|
|
16
16
|
},
|
|
17
17
|
defaultOption: 'ընտրել',
|
|
18
|
-
selected: {"
|
|
18
|
+
selected: '{"bbb":"2", "value":"Մալաթիա"}',
|
|
19
|
+
keyNames: {name: 'value', id : 'bbb'}
|
|
19
20
|
};
|
|
20
21
|
|