diff --git a/src/pods/project/components/data.component.tsx b/src/pods/project/components/data.component.tsx index df68d1c..f09dadb 100644 --- a/src/pods/project/components/data.component.tsx +++ b/src/pods/project/components/data.component.tsx @@ -3,6 +3,7 @@ import { Formik, Form } from 'formik'; import { TextFieldComponent, CheckboxComponent } from 'common/components'; import { CommandFooterComponent } from '../../../common-app/command-footer'; import { Project } from '../project.vm'; +import { formValidation } from './data.validations'; interface Props { project: Project; @@ -18,7 +19,12 @@ export const DataComponent: React.FunctionComponent = ({ className, }) => { return ( - + {() => (
void; className: string; + onGenerateExcel: (report: Report) => void; } export const ReportComponent: React.FunctionComponent = ({ + report, + onGenerateExcel, onCancel, className, }) => { return ( - + {() => ( = ({ name: '2020', }, ]} - disabled className={classes.year} /> void; onSave: (project: Project) => void; onCancel: () => void; } @@ -23,6 +25,8 @@ interface Props { export const ProjectComponent: React.FunctionComponent = ({ isEditMode, project, + report, + onGenerateExcel, onSave, onCancel, }) => { @@ -52,7 +56,12 @@ export const ProjectComponent: React.FunctionComponent = ({ /> - + ); diff --git a/src/pods/project/project.container.tsx b/src/pods/project/project.container.tsx index 18d9ee7..ec278d1 100644 --- a/src/pods/project/project.container.tsx +++ b/src/pods/project/project.container.tsx @@ -5,13 +5,19 @@ import { useSnackbarContext } from 'common/components'; import { getProjectById } from './api'; import { trackPromise } from 'react-promise-tracker'; import { mapProjectFromApiToVm } from './project.mapper'; -import { Project, createEmptyProject } from './project.vm'; +import { + Project, + createEmptyProject, + Report, + createEmptyReport, +} from './project.vm'; import { isEditModeHelper } from 'common/helpers'; export const ProjectContainer: React.FunctionComponent = () => { const { id } = useParams(); const [project, setProject] = React.useState(createEmptyProject()); const [isEditMode, setIsEditMode] = React.useState(false); + const [report, setReport] = React.useState(createEmptyReport()); const { showMessage } = useSnackbarContext(); const onLoadProject = async () => { @@ -25,7 +31,7 @@ export const ProjectContainer: React.FunctionComponent = () => { } }; - const handleSave = (Project: Project) => { + const handleSave = (project: Project) => { console.log('Guardado'); }; @@ -33,6 +39,11 @@ export const ProjectContainer: React.FunctionComponent = () => { history.back(); }; + const handleGenerateExcel = (report: Report) => { + // Pending to create real implementation + console.log('Excel creado'); + }; + React.useEffect(() => { const isEditMode = isEditModeHelper(id); setIsEditMode(isEditMode); @@ -45,8 +56,10 @@ export const ProjectContainer: React.FunctionComponent = () => { ); }; diff --git a/src/pods/project/project.vm.ts b/src/pods/project/project.vm.ts index 1ffb7ef..6cfc458 100644 --- a/src/pods/project/project.vm.ts +++ b/src/pods/project/project.vm.ts @@ -13,6 +13,11 @@ export interface EmployeeSummary { employeeName: string; } +export interface Report { + month: string; + year: string; +} + export const createEmptyProject = (): Project => ({ id: '', name: '', @@ -21,3 +26,8 @@ export const createEmptyProject = (): Project => ({ isActive: false, employees: [], }); + +export const createEmptyReport = (): Report => ({ + month: '', + year: '', +});