ProfilationStep3.js
1.87 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
import React from "react";
import Select from "react-select";
import PropTypes from "prop-types";
var environmentOptions = [
{ value: "molto", label: "molto" },
{ value: "poco", label: "poco" },
{ value: "abbastanza", label: "abbastanza" }
];
function changeField(name, event, props) {
var completed = true;
if (event !== null && event.value !== "") {
for (var property in props.step) {
if (props.step.hasOwnProperty(property)) {
if (
property !== name &&
property !== "isComplete" &&
property !== "isActive"
) {
completed = completed && props.step[property] !== "";
}
}
}
} else {
completed = false;
console.log("completed", completed);
}
let step = {...props.step};
step[name] = event.value;
step.isComplete = completed;
props.updatePropValue(props.index, step);
}
const ProfilationStep3 = props => (
<div className="ProfilationStep " onClick={e => props.activeStep(props.index)}>
<p>
L'impatto ambientale della mia attività è un aspetto a cui tengo
<span className="ProfilationStep__span">
<Select
name="environment"
value={props.step.environment}
onChange={e => changeField("environment", e, props)}
options={environmentOptions}
searchable={false}
autosize={true}
placeholder="placeholder"
onFocus={e => props.activeStep(props.index)}
/>
</span>
</p>
</div>
);
ProfilationStep3.propTypes = {
//isComplete: PropTypes.bool.isRequired,
//isActive: PropTypes.bool.isRequired
step: PropTypes.object.isRequired,
index: PropTypes.number.isRequired,
updatePropValue: PropTypes.func.isRequired
};
export default ProfilationStep3;