@modernpoacher/cogs 0.0.25 → 0.0.28
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@modernpoacher/cogs",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.28",
|
|
4
4
|
"description": "Cogs",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Cogs",
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
"clean-webpack-plugin": "^4.0.0",
|
|
65
65
|
"core-js": "^3.33.0",
|
|
66
66
|
"cross-env": "^7.0.3",
|
|
67
|
-
"eslint": "^8.
|
|
67
|
+
"eslint": "^8.51.0",
|
|
68
68
|
"eslint-config-standard": "^17.1.0",
|
|
69
69
|
"eslint-config-standard-with-typescript": "^39.1.0",
|
|
70
70
|
"eslint-import-resolver-babel-module": "^5.3.2",
|
|
@@ -7,10 +7,22 @@ import classnames from 'classnames'
|
|
|
7
7
|
|
|
8
8
|
import { ValueField } from '@modernpoacher/cogs/components/field'
|
|
9
9
|
|
|
10
|
+
function getSelectedValues ({ target: { selectedOptions } }) {
|
|
11
|
+
return (
|
|
12
|
+
Array.from(selectedOptions)
|
|
13
|
+
.map(({ value, text }) => value || text)
|
|
14
|
+
)
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
function getSelectedValue ({ target: { value } }) {
|
|
18
|
+
return value
|
|
19
|
+
}
|
|
20
|
+
|
|
10
21
|
export default class SelectField extends ValueField {
|
|
11
22
|
shouldComponentUpdate (props) {
|
|
12
23
|
return (
|
|
13
24
|
super.shouldComponentUpdate(props) ||
|
|
25
|
+
(props.multiple !== this.props.multiple) ||
|
|
14
26
|
(props.children !== this.props.children)
|
|
15
27
|
)
|
|
16
28
|
}
|
|
@@ -19,6 +31,19 @@ export default class SelectField extends ValueField {
|
|
|
19
31
|
return classnames(super.getClassName(), 'select')
|
|
20
32
|
}
|
|
21
33
|
|
|
34
|
+
handleChange = (event) => {
|
|
35
|
+
const {
|
|
36
|
+
multiple,
|
|
37
|
+
onChange
|
|
38
|
+
} = this.props
|
|
39
|
+
|
|
40
|
+
if (multiple) {
|
|
41
|
+
onChange(getSelectedValues(event))
|
|
42
|
+
} else {
|
|
43
|
+
onChange(getSelectedValue(event))
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
22
47
|
render () {
|
|
23
48
|
const {
|
|
24
49
|
id,
|
|
@@ -30,6 +55,7 @@ export default class SelectField extends ValueField {
|
|
|
30
55
|
readOnly,
|
|
31
56
|
tabIndex,
|
|
32
57
|
accessKey,
|
|
58
|
+
multiple,
|
|
33
59
|
children,
|
|
34
60
|
fieldRef
|
|
35
61
|
} = this.props
|
|
@@ -47,6 +73,7 @@ export default class SelectField extends ValueField {
|
|
|
47
73
|
readOnly={readOnly}
|
|
48
74
|
tabIndex={tabIndex}
|
|
49
75
|
accessKey={accessKey}
|
|
76
|
+
multiple={multiple}
|
|
50
77
|
onChange={this.handleChange}
|
|
51
78
|
className={className}
|
|
52
79
|
ref={fieldRef}>
|
|
@@ -58,6 +85,19 @@ export default class SelectField extends ValueField {
|
|
|
58
85
|
|
|
59
86
|
SelectField.propTypes = {
|
|
60
87
|
...ValueField.propTypes,
|
|
88
|
+
multiple: PropTypes.bool,
|
|
89
|
+
value: PropTypes.oneOfType([
|
|
90
|
+
PropTypes.string,
|
|
91
|
+
PropTypes.arrayOf(
|
|
92
|
+
PropTypes.string
|
|
93
|
+
)
|
|
94
|
+
]),
|
|
95
|
+
defaultValue: PropTypes.oneOfType([
|
|
96
|
+
PropTypes.string,
|
|
97
|
+
PropTypes.arrayOf(
|
|
98
|
+
PropTypes.string
|
|
99
|
+
)
|
|
100
|
+
]),
|
|
61
101
|
children: PropTypes.oneOfType([
|
|
62
102
|
PropTypes.node,
|
|
63
103
|
PropTypes.arrayOf(
|
|
@@ -67,5 +107,6 @@ SelectField.propTypes = {
|
|
|
67
107
|
}
|
|
68
108
|
|
|
69
109
|
SelectField.defaultProps = {
|
|
70
|
-
...ValueField.defaultProps
|
|
110
|
+
...ValueField.defaultProps,
|
|
111
|
+
multiple: false
|
|
71
112
|
}
|
|
@@ -90,6 +90,7 @@ export default class SelectCog extends ValueCog {
|
|
|
90
90
|
tabIndex,
|
|
91
91
|
accessKey,
|
|
92
92
|
placeholder,
|
|
93
|
+
multiple,
|
|
93
94
|
fieldRef,
|
|
94
95
|
children
|
|
95
96
|
} = this.props
|
|
@@ -106,6 +107,7 @@ export default class SelectCog extends ValueCog {
|
|
|
106
107
|
tabIndex={tabIndex}
|
|
107
108
|
accessKey={accessKey}
|
|
108
109
|
placeholder={placeholder}
|
|
110
|
+
multiple={multiple}
|
|
109
111
|
onChange={this.handleChange}
|
|
110
112
|
fieldRef={fieldRef}>
|
|
111
113
|
{children}
|
|
@@ -116,6 +118,19 @@ export default class SelectCog extends ValueCog {
|
|
|
116
118
|
|
|
117
119
|
SelectCog.propTypes = {
|
|
118
120
|
...ValueCog.propTypes,
|
|
121
|
+
multiple: PropTypes.bool,
|
|
122
|
+
value: PropTypes.oneOfType([
|
|
123
|
+
PropTypes.string,
|
|
124
|
+
PropTypes.arrayOf(
|
|
125
|
+
PropTypes.string
|
|
126
|
+
)
|
|
127
|
+
]),
|
|
128
|
+
defaultValue: PropTypes.oneOfType([
|
|
129
|
+
PropTypes.string,
|
|
130
|
+
PropTypes.arrayOf(
|
|
131
|
+
PropTypes.string
|
|
132
|
+
)
|
|
133
|
+
]),
|
|
119
134
|
children: PropTypes.oneOfType([
|
|
120
135
|
PropTypes.node,
|
|
121
136
|
PropTypes.arrayOf(
|
|
@@ -125,5 +140,6 @@ SelectCog.propTypes = {
|
|
|
125
140
|
}
|
|
126
141
|
|
|
127
142
|
SelectCog.defaultProps = {
|
|
128
|
-
...ValueCog.defaultProps
|
|
143
|
+
...ValueCog.defaultProps,
|
|
144
|
+
multiple: false
|
|
129
145
|
}
|
|
@@ -38,7 +38,8 @@ export default class Title extends Component {
|
|
|
38
38
|
(props.title !== this.props.title) ||
|
|
39
39
|
(props.required !== this.props.required) ||
|
|
40
40
|
(props.disabled !== this.props.disabled) ||
|
|
41
|
-
(props.readOnly !== this.props.readOnly)
|
|
41
|
+
(props.readOnly !== this.props.readOnly) ||
|
|
42
|
+
(props.children !== this.props.children)
|
|
42
43
|
)
|
|
43
44
|
}
|
|
44
45
|
|