@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 CHANGED
@@ -506,9 +506,9 @@ const Pagination = ({
506
506
  offset,
507
507
  className
508
508
  }) => {
509
- const [siblingCountNumber, setSibilingCountNumber] = useState(2);
510
- const [currentPageNumber, setCurrentPage] = useState(1);
511
- const [currentTotalCount, setcurrentTotalCount] = useState(10);
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(selected);
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.object,
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(2);
521
- const [currentPageNumber, setCurrentPage] = React.useState(1);
522
- const [currentTotalCount, setcurrentTotalCount] = React.useState(10);
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(selected);
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"].object,
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xaypay/tui",
3
- "version": "0.0.16",
3
+ "version": "0.0.17",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.es.js",
@@ -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
- {/*}} className={styles.input} type='text' />*/}
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 className={styles['multi-select-content-bottom-row']} id={value.id} onClick={(e) => {
53
- setOptions([...options, { 'name': value.name, 'id': value.id }])
54
- values.splice(i, 1);
55
- setValues(values);
56
- setSearchedOptions(values);
57
- }}>{value.name}</div>)
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
- component: Multiselect,
6
- title: "Components/Multiselect",
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: '[{"id":"1", "name":"Կենտրոն"}]',
14
- jsonSelectedOptionsData: '[{"id":"0", "name":"Արաբկիր"}, {"id":"2", "name":"Մալաթիա"}]',
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(2);
17
- const [currentPageNumber, setCurrentPage] = useState(1);
18
- const [currentTotalCount, setcurrentTotalCount] = useState(10);
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
- theme,
26
- size,
27
- className,
28
- disabled,
29
- label,
30
- jsonData,
31
- eMessage,
32
- required,
33
- defaultOption,
34
- onChange,
35
- selected
36
- }) => {
37
- const options = jsonData.length ? JSON.parse(jsonData) : []
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(selected)
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.object,
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: '[{"id":"0", "name":"Արաբկիր"}, {"id":"1", "name":"Կենտրոն"}, {"id":"2", "name":"Մալաթիա"}]',
14
+ jsonData: '[{"bbb":"0", "value":"Արաբկիր"}, {"bbb":"1", "value":"Կենտրոն"}, {"bbb":"2", "value":"Մալաթիա"}]',
15
15
  onChange: (newValue)=> {
16
16
  },
17
17
  defaultOption: 'ընտրել',
18
- selected: {"id":"2", "name":"Մալաթիա"}
18
+ selected: '{"bbb":"2", "value":"Մալաթիա"}',
19
+ keyNames: {name: 'value', id : 'bbb'}
19
20
  };
20
21