import { notification, Select } from "antd"; import React, { useEffect, useState } from "react"; import { useMutation } from "react-apollo"; import { useTranslation } from "react-i18next"; import { connect } from "react-redux"; import { createStructuredSelector } from "reselect"; import { UPDATE_JOB_LINE } from "../../graphql/jobs-lines.queries"; import { selectBodyshop } from "../../redux/user/user.selectors"; import LoadingSpinner from "../loading-spinner/loading-spinner.component"; const mapStateToProps = createStructuredSelector({ //currentUser: selectCurrentUser bodyshop: selectBodyshop, }); const mapDispatchToProps = (dispatch) => ({ //setUserLanguage: language => dispatch(setUserLanguage(language)) }); export function JobLineLocationPopup({ bodyshop, jobline, disabled }) { const [editing, setEditing] = useState(false); const [loading, setLoading] = useState(false); const [location, setLocation] = useState(jobline.location); const [updateJob] = useMutation(UPDATE_JOB_LINE); const { t } = useTranslation(); useEffect(() => { if (editing) setLocation(jobline.location); }, [editing, jobline.location]); const handleChange = (e) => { setLocation(e); }; const handleSave = async (e) => { setLoading(true); const result = await updateJob({ variables: { lineId: jobline.id, line: { location: location || "" } }, }); if (!!!result.errors) { notification["success"]({ message: t("joblines.successes.saved") }); } else { notification["error"]({ message: t("joblines.errors.saving", { error: JSON.stringify(result.errors), }), }); } setLoading(false); setEditing(false); }; if (editing) return (