conditional rendering for building/floor/work area dropdowns

This commit is contained in:
Pramod Mahajan 2025-05-04 22:57:27 +05:30
parent 9ef09f9536
commit 498665c811

View File

@ -104,7 +104,8 @@ const TaskModel = ({
})); }));
}; };
const onSubmitForm = async (data) => { const onSubmitForm = async ( data ) =>
{
setIsSubmitting(true); setIsSubmitting(true);
await onSubmit(data); await onSubmit(data);
setValue("plannedWork", 0); setValue("plannedWork", 0);
@ -114,9 +115,9 @@ const TaskModel = ({
const resetForm = () => { const resetForm = () => {
setFormData(defaultModel); setFormData(defaultModel);
setSelectedBuilding("0"); setSelectedBuilding(null); // not "0"
setSelectedFloor("0"); setSelectedFloor(null);
setSelectedWorkArea("0"); setSelectedWorkArea(null);
setSelectedActivity(null); setSelectedActivity(null);
reset(defaultModel); reset(defaultModel);
}; };
@ -255,25 +256,28 @@ const TaskModel = ({
onChange={handleActivityChange} onChange={handleActivityChange}
> >
<option value="0">Select Activity</option> <option value="0">Select Activity</option>
{activityData && activityData.length > 0 ? ( {activityData && activityData.length > 0 && (
activityData activityData
?.slice() ?.slice()
?.sort((a, b) => { ?.sort( ( a, b ) =>
{
const nameA = a?.activityName || ""; const nameA = a?.activityName || "";
const nameB = b?.activityName || ""; const nameB = b?.activityName || "";
return nameA.localeCompare(nameB); return nameA.localeCompare( nameB );
}) } )
?.map((activity) => ( ?.map( ( activity ) => (
<option key={activity.id} value={activity.id}> <option key={activity.id} value={activity.id}>
{ {
activity.activityName || activity.activityName ||
`Unnamed (id: ${activity.id})`} `Unnamed (id: ${ activity.id })`}
</option> </option>
)) ) )
) : ( ) }
{(!loading && activities.length === 0 )&& (
<option disabled>No activities available</option> <option disabled>No activities available</option>
)} )}
{loading && ( <option disabled>Loading...</option>)}
</select> </select>
{errors.activityID && ( {errors.activityID && (
@ -337,8 +341,6 @@ const TaskModel = ({
<button type="submit" className="btn btn-sm btn-primary me-3"> <button type="submit" className="btn btn-sm btn-primary me-3">
{isSubmitting {isSubmitting
? "Please Wait.." ? "Please Wait.."
: formData.id !== "0" && formData.id !== ""
? "Edit Task"
: "Add Task"} : "Add Task"}
</button> </button>
<button <button