import React, { FunctionComponent, Fragment, useState, ChangeEvent, MouseEvent } from "react"; import { Project } from "../../models/project"; import { ProjectReducerActions, updateParam } from "../../hooks/use-project-reducer"; import { getRoundUpEstimations, getCurrency, getTimeUnit, getHideFinancialPreviewOnPrint } from "../../models/params"; import TaskCategoriesTable from "./task-categories-table"; import { useHistory } from "react-router"; import { getProjectStorageKey } from "../../util/storage"; export interface ParamsTabProps { project: Project dispatch: (action: ProjectReducerActions) => void } const ParamsTab: FunctionComponent = ({ project, dispatch }) => { const [ deleteButtonEnabled, setDeleteButtonEnabled ] = useState(false); const history = useHistory(); const onEnableDeleteButtonChange = (evt: ChangeEvent) => { const checked = (evt.currentTarget as HTMLInputElement).checked; setDeleteButtonEnabled(checked); } const onRoundUpChange = (evt: ChangeEvent) => { const checked = (evt.currentTarget as HTMLInputElement).checked; dispatch(updateParam("roundUpEstimations", checked)); }; const onHideFinancialPreview = (evt: ChangeEvent) => { const checked = (evt.currentTarget as HTMLInputElement).checked; dispatch(updateParam("hideFinancialPreviewOnPrint", checked)); }; const onCurrencyChange = (evt: ChangeEvent) => { const value = (evt.currentTarget as HTMLInputElement).value; dispatch(updateParam("currency", value)); }; const timeUnit = getTimeUnit(project); const onTimeUnitLabelChange = (evt: ChangeEvent) => { const value = (evt.currentTarget as HTMLInputElement).value; dispatch(updateParam("timeUnit", { ...timeUnit, label: value })); }; const onTimeUnitAcronymChange = (evt: ChangeEvent) => { const value = (evt.currentTarget as HTMLInputElement).value; dispatch(updateParam("timeUnit", { ...timeUnit, acronym: value })); }; const onDeleteProjectClick = (evt: MouseEvent) => { const projectStorageKey = getProjectStorageKey(project.id); window.localStorage.removeItem(projectStorageKey); history.push('/'); }; return (





); }; export default ParamsTab;