ProfilationStep5.js
1.93 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 customizableOptions = [
{ 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 ProfilationStep5 = props => (
<div className="ProfilationStep" onClick={e => props.activeStep(props.index)}>
<p>
E credo che la personalizzazione del servizio e dall'assistenza sia un aspetto
<span className="ProfilationStep__span">
<Select
name="customizable"
value={props.step.customizable}
onChange={e => changeField("customizable", e, props)}
options={customizableOptions}
searchable={false}
autosize={true}
placeholder="placeholder"
onFocus={e => props.activeStep(props.index)}
/>
</span> ,
importante per la mia attività
</p>
</div>
);
ProfilationStep5.propTypes = {
//isComplete: PropTypes.bool.isRequired,
//isActive: PropTypes.bool.isRequired
step: PropTypes.object.isRequired,
index: PropTypes.number.isRequired,
updatePropValue: PropTypes.func.isRequired
};
export default ProfilationStep5;