// const [showFiterModel, setShowFilterModel] = useState(false) // const handleFilterModal = index => { // var filter = data[index].taskData.sort(function (a, b) { // return - new Date(a.start_date); // }); // const newItems = [...data]; // newItems[index].taskData = filter; // setData(null); // setData(newItems); // } // const handleShowFilterModal = () => { // setShowFilterModel(false) // }
f.taskData.forEach((cur) => { const date = new Date(startDate) const date1 = new Date(endDate) if (cc.start_date) { var filterdata = cc && (new Date(cc.start_date) < date) } if (cc.end_date) { var filterdata = cc && (new Date(cc.end_date) > date1) } //if filterPass comes back `false` the row is filtered out return filterdata console.log(filterdata) console.log(filterdata) // var a = JSON.stringify(Object.fromEntries(formData)) // console.log(a) // const [checkBoxData, setCheckBoxData] = useState(); // const handleCheckBoxData = (value) => { // setCheckBoxData(); // setCheckBoxData(value); // } // const filterDates = (startDate, endDate) => { // return mainData.filter((date) => { // return startDate >= date.start_date && endDate <= date.end_Date; // }); // }; // console.log(filterDates()) // const filterBetweenDates = (mainData, startDate, endDate) => { // try { // var dd = mainData.filter(( date ) => date >= startDate && date <= endDate) // console.log(dd) // } catch (error) { // console.log('error while filtering by dates', error.message); // } // }; // filterBetweenDates() if (checkBoxData === 'TO_DO') { console.log(temp[index].taskData) var filterData = temp[index].taskData.filter((el) => { return el.status === "TO_DO" }) // const addTodo = filterData.map(object => { // return {...object, isTodo: 'true'}; // }); // console.log(addTodo) temp[index].taskData = filterData; setFilteredData(null); setFilteredData(filterData); } if (checkBoxData === 'IN_PROGRESS') { console.log(temp[index].taskData) var filterData = temp[index].taskData.filter((el) => { return el.status === "IN_PROGRESS" }) console.log(filterData) // temp[index].taskData = filterData; // setFilteredData(null); // setFilteredData(temp); } if (checkBoxData === 'COMPLETED') { console.log(temp[index].taskData) var filterData = temp[index].taskData.filter((el) => { return el.status === "COMPLETED" }) console.log(filterData) // temp[index].taskData = filterData; // setFilteredData(null); // setFilteredData(temp); } ********************************************************************************************** import React, { useEffect, useState, useRef } from 'react'; import { Modal, Table } from 'react-bootstrap'; import ErrorLogService from "../../../../services/ErrorLogService"; import { _attachmentUrl } from '../../../../settings/constants'; import { UserDropdown } from '../../../../screens/Masters/UserMaster/UserComponent'; import Select from 'react-select'; import { postTask, updateTask, getTaskUser } from '../../../../services/TicketService/TaskService'; import { getAttachment, deleteAttachment } from '../../../../services/OtherService/AttachmentService'; import Alert from "../../../../components/Common/Alert"; import UserService from "../../../../services/MastersService/UserService"; export default function TaskModal(props) { const [notify, setNotify] = useState(); const priority = ["High", "Medium", "Low"]; const [allTask, setAllTask] = useState(); const [userData, setUserData] = useState(); const [defaultUserData, setDefaultUserData] = useState(); const [attachment, setAttachment] = useState([]); const [selectedFile, setSelectedFile] = useState([]) const fileInputRef = useRef(null); const handleClose = () => { props.close(); props.loadBucketData(); } const loadData = async () => { setSelectedFile([]); const tempUserData = []; const tempDefaultUserData = []; await new UserService().getUser().then((res) => { if (res.status == 200) { const data = res.data.data; for (const key in data) { tempUserData.push({ value: data[key].id, label: data[key].first_name + " " + data[key].last_name }) if (props.data && props.data.assign_to_user) { if (props.data.assign_to_user.includes(data[key].id)) { tempDefaultUserData.push({ value: data[key].id, label: data[key].first_name + " " + data[key].last_name }) } } } setDefaultUserData(tempDefaultUserData) setUserData(tempUserData); } }) const allTask = props.allTaskList.filter(task => task.value != props.data.id); setAllTask(allTask); loadAttachment(); } const loadAttachment = async () => { setNotify(null); if (props.data.id) { await getAttachment(props.data.id, "TASK").then(res => { console.log(res); if (res.status === 200) { setAttachment(null); setAttachment(res.data.data); } }) } else { setAttachment(null); } } const uploadAttachmentHandler = (e, type, id = null) => { if (type === "UPLOAD") { var tempSelectedFile = []; for (var i = 0; i < e.target.files.length; i++) { tempSelectedFile.push({ file: e.target.files[i], show_to_customer: 0, show_to_project_owner: 0 }); } fileInputRef.current.value = ""; setSelectedFile(tempSelectedFile); } else if (type === "DELETE") { let filteredFileArray = selectedFile.filter((item, index) => id !== index); setSelectedFile(filteredFileArray); } else if (type === "PROJECT_OWNER") { var file = selectedFile; file[id].show_to_project_owner = file[id].show_to_project_owner ? 0 : 1; setSelectedFile(file); } else if (type === "CUSTOMER") { var file = selectedFile; file[id].show_to_customer = file[id].show_to_customer ? 0 : 1; setSelectedFile(file); } else { alert("Invalid Option"); } } const handleDeleteAttachment = (e, id) => { deleteAttachment(id).then(res => { loadAttachment(); }) } const handleForm = async (e) => { e.preventDefault(); const formData = new FormData(e.target); setNotify(null); //Appeding File in selected State formData.delete("attachment[]"); formData.delete("show_to_customer[]"); formData.delete("show_to_project_owner[]"); if (selectedFile) { for (var i = 0; i < selectedFile.length; i++) { formData.append('attachment[]', selectedFile[i].file); formData.append('show_to_customer[]', selectedFile[i].show_to_customer); formData.append('show_to_project_owner[]', selectedFile[i].show_to_project_owner); } } var a = JSON.stringify(Object.fromEntries(formData)) console.log(a) if (formData.get('id')) { await updateTask(formData.get("id"), formData).then(res => { if (res.status === 200) { if (res.data.status === 1) { props.loadBasket(); setNotify({ type: 'success', message: res.data.message }); } else { setNotify({ type: 'danger', message: res.data.message }); } } else { setNotify({ type: 'danger', message: res.message }); new ErrorLogService().sendErrorLog("Ticket", "Edit_Task", "INSERT", res.message); } }).catch(error => { const { response } = error; const { request, ...errorObject } = response; new ErrorLogService().sendErrorLog("Task", "Edit_Task", "INSERT", errorObject.data.message); }); } else { await postTask(formData).then(res => { if (res.status === 200) { if (res.data.status === 1) { // setNotify({ type: 'success', message: res.message }); props.loadBasket(); handleClose(); } else { setNotify({ type: 'danger', message: res.data.message }); } } else { setNotify({ type: 'danger', message: res.data.message }); new ErrorLogService().sendErrorLog("Ticket", "Edit_Task", "INSERT", res.message); } }).catch(error => { const { response } = error; const { request, ...errorObject } = response; new ErrorLogService().sendErrorLog("Task", "Create_Task", "INSERT", errorObject.data.message); }); } } useEffect(() => { loadData(); }, []) return ( <> Task Details {/* Ticket.{props.data.ticket_id}
Basket.{props.data.ticket_basket_id}
Task.{props.data.id}
*/}
{notify && } {props.data.id && }
{props.data &&
}
{/* *****************START DATE, END DATE , TASK HOURS**************** */}
{props.moduleSetting && props.moduleSetting['RequiredHour'] == 1 &&
}
{/* ***************** PROPRITY AND STATUS**************** */}
{props.data.id &&
} {props.data.id &&
}
{/* ***************** DESCRIPTION **************** */}