import OmsorgButton from "../../components/ui/OmsorgButton"; import { useValueListItems } from "../../app/useValueListItems"; export const emptyEmployeeForm = { firstName: "", lastName: "", status: "Aktiv", dateOfBirth: "", street: "", postalCode: "", city: "", country: "", phoneNumber: "", email: "", entryDate: "", exitDate: "", emergencyContactName: "", emergencyContactPhone: "", emergencyContactRelation: "", employmentType: "", qualification: "", }; export function employeeToFormValues(employee) { return { firstName: employee.firstName ?? "", lastName: employee.lastName ?? "", status: employee.status ?? "Aktiv", dateOfBirth: employee.dateOfBirth ?? "", street: employee.street ?? "", postalCode: employee.postalCode ?? "", city: employee.city ?? "", country: employee.country ?? "", phoneNumber: employee.phoneNumber ?? "", email: employee.email ?? "", entryDate: employee.entryDate ?? "", exitDate: employee.exitDate ?? "", emergencyContactName: employee.emergencyContactName ?? "", emergencyContactPhone: employee.emergencyContactPhone ?? "", emergencyContactRelation: employee.emergencyContactRelation ?? "", employmentType: employee.employmentType ?? "", qualification: employee.qualification ?? "", }; } export function employeeFormToPayload(form, { includeStatus = false } = {}) { const payload = { firstName: form.firstName.trim(), lastName: form.lastName.trim(), dateOfBirth: form.dateOfBirth || null, street: form.street.trim() || null, postalCode: form.postalCode.trim() || null, city: form.city.trim() || null, country: form.country.trim() || null, phoneNumber: form.phoneNumber.trim() || null, email: form.email.trim() || null, entryDate: form.entryDate || null, exitDate: form.exitDate || null, emergencyContactName: form.emergencyContactName.trim() || null, emergencyContactPhone: form.emergencyContactPhone.trim() || null, emergencyContactRelation: form.emergencyContactRelation.trim() || null, employmentType: form.employmentType || null, qualification: form.qualification.trim() || null, }; if (includeStatus) { payload.status = form.status; } return payload; } export default function EmployeeForm({ form, onChange, includeStatus = false }) { const { items: statusOptions } = useValueListItems("EmployeeStatus"); const { items: employmentTypes } = useValueListItems("EmploymentType"); const { items: qualifications } = useValueListItems("Qualification"); function updateField(field) { return (event) => onChange({ ...form, [field]: event.target.value }); } return (
{includeStatus && ( )}
Adresse
Notfallkontakt
); } export function FormActions({ onCancel, isSaving, submitLabel }) { return (
Abbrechen {isSaving ? "Speichert..." : submitLabel}
); }