import { connect } from "react-redux"; import { selectCurrentEmployee } from "../../redux/employee/employee.selectors"; import { QUERY_ACTIVE_TIME_TICKETS } from "../../graphql/timetickets.queries"; import { ActivityIndicator } from "react-native-paper"; import ErrorDisplay from "../error-display/error-display.component"; import { View, Text, FlatList, RefreshControl } from "react-native"; import { useMutation, useQuery } from "@apollo/client"; import { createStructuredSelector } from "reselect"; import { useTranslation } from "react-i18next"; import ClockedinListItem from "../time-ticket-items/clockedin-list-item.component"; import { useEffect, useState } from "react"; // import { setTmTicketJobId } from "../../redux/app/app.actions"; const mapStateToProps = createStructuredSelector({ //technician: selectTechnician, currentEmployee: selectCurrentEmployee, // updateJobs: selectUpdateJobs }); // const mapDispatchToProps = (dispatch) => ({ // setTmTicketJobId: (jobId) => dispatch(setTmTicketJobId(jobId)), // }); export function EmployeeClockedInList({ currentEmployee, isRefresh }) { const [refreshKey, setRefreshKey] = useState(isRefresh); const [jobData, setJobData] = useState(data); // console.info("EmployeeClockedInList, QUERY_ACTIVE_TIME_TICKETS called.",currentEmployee); // console.info( // "EmployeeClockedInList, isRefresh :", // isRefresh // ); const { t } = useTranslation(); useEffect(() => { // async function fetchData(){ // // const result = await getUsers(); // // setData(result); // console.log("teste: ", result); // } // fetchData(); if(isRefresh){ refetch(); } // console.log("useEffect: ", isRefresh); // setRefreshKey(isRefresh); }, [isRefresh]); const { loading, error, data, refetch } = useQuery( QUERY_ACTIVE_TIME_TICKETS, { variables: { employeeId: currentEmployee?.technician?.id, }, skip: !currentEmployee?.technician, onCompleted:setJobData, onRefresh:{onRefresh} } ); if (loading) return ; if (error) return ; const onRefresh = async () => { // console.info("EmployeeClockedInList, onRefresh."); return refetch(); }; return ( {jobData ? ( {t("employeeclockedinlist.labels.alreadyclockedon")} } renderItem={(object) => ( )} // setTmTicketJobId={setTmTicketJobId} /> ) : null} //
// {data.timetickets.length > 0 ? ( //
// // {t("timetickets.labels.alreadyclockedon")} // // ( // // // {`${ // ticket.job.ro_number || t("general.labels.na") // } ${OwnerNameDisplayFunction(ticket.job)}`} // // } // actions={[ // , // ]} // > //
// {` // ${ticket.job.v_model_yr || ""} ${ // ticket.job.v_make_desc || "" // } ${ticket.job.v_model_desc || ""}`} //
// // {ticket.clockon} // // // {ticket.cost_center === "timetickets.labels.shift" // ? t(ticket.cost_center) // : ticket.cost_center} // //
//
// )} // >
//
// ) : null} //
); } export default connect(mapStateToProps, null)(EmployeeClockedInList);