ProfilationStep4.js 1.87 KB
import React from "react";
import Select from "react-select";
import PropTypes from "prop-types";

var flexibilityOptions = [
    { 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 ProfilationStep4 = props => (
	<div className="ProfilationStep" onClick={e => props.activeStep(props.index)}>
		<p>
			Avere maggiore flessibilità nei pagamenti è un aspetto che mi interessa
			<span className="ProfilationStep__span">
        <Select
			name="flexibility"
			value={props.step.flexibility}
			onChange={e => changeField("flexibility", e, props)}
			options={flexibilityOptions}
			searchable={false}
			autosize={true}
            placeholder="placeholder"
            onFocus={e => props.activeStep(props.index)}
		/>
      </span>
		</p>
	</div>
);

ProfilationStep4.propTypes = {
    //isComplete: PropTypes.bool.isRequired,
    //isActive: PropTypes.bool.isRequired
    step: PropTypes.object.isRequired,
    index: PropTypes.number.isRequired,
    updatePropValue: PropTypes.func.isRequired
};

export default ProfilationStep4;