From 7be568b8ac249924eb19342fa25a7eeefc02fdc0 Mon Sep 17 00:00:00 2001 From: elforjani13 <39470382+elforjani13@users.noreply.github.com> Date: Thu, 23 Jun 2022 00:14:49 +0200 Subject: [PATCH] feat: time entry dialog. --- src/components/DialogsContainer.js | 2 +- .../TimeEntryForm.schema.tsx | 0 .../TimeEntryFormDialog/TimeEntryForm.tsx | 0 .../TimeEntryFormContent.tsx | 0 .../TimeEntryFormDialogContent.tsx | 7 ++- .../TimeEntryFormFields.tsx | 45 ++++++++++--------- .../TimeEntryFormFloatingActions.tsx | 0 .../TimeEntryFormProvider.tsx | 1 + .../components/ProjectSelect.tsx | 4 +- .../components/TaskSelect.tsx | 2 +- .../TimeEntryFormDialog}/components/index.ts | 0 .../containers/TimeEntryFormDialog/index.tsx | 9 ++-- src/containers/Timesheets/index.ts | 0 13 files changed, 41 insertions(+), 29 deletions(-) rename src/containers/{Timesheets => Projects}/containers/TimeEntryFormDialog/TimeEntryForm.schema.tsx (100%) rename src/containers/{Timesheets => Projects}/containers/TimeEntryFormDialog/TimeEntryForm.tsx (100%) rename src/containers/{Timesheets => Projects}/containers/TimeEntryFormDialog/TimeEntryFormContent.tsx (100%) rename src/containers/{Timesheets => Projects}/containers/TimeEntryFormDialog/TimeEntryFormDialogContent.tsx (74%) rename src/containers/{Timesheets => Projects}/containers/TimeEntryFormDialog/TimeEntryFormFields.tsx (82%) rename src/containers/{Timesheets => Projects}/containers/TimeEntryFormDialog/TimeEntryFormFloatingActions.tsx (100%) rename src/containers/{Timesheets => Projects}/containers/TimeEntryFormDialog/TimeEntryFormProvider.tsx (97%) rename src/containers/{Timesheets => Projects/containers/TimeEntryFormDialog}/components/ProjectSelect.tsx (93%) rename src/containers/{Timesheets => Projects/containers/TimeEntryFormDialog}/components/TaskSelect.tsx (95%) rename src/containers/{Timesheets => Projects/containers/TimeEntryFormDialog}/components/index.ts (100%) rename src/containers/{Timesheets => Projects}/containers/TimeEntryFormDialog/index.tsx (90%) delete mode 100644 src/containers/Timesheets/index.ts diff --git a/src/components/DialogsContainer.js b/src/components/DialogsContainer.js index 0061b3c87..014cbb847 100644 --- a/src/components/DialogsContainer.js +++ b/src/components/DialogsContainer.js @@ -42,7 +42,7 @@ import CustomerOpeningBalanceDialog from '../containers/Dialogs/CustomerOpeningB import VendorOpeningBalanceDialog from '../containers/Dialogs/VendorOpeningBalanceDialog'; import ProjectFormDialog from '../containers/Projects/containers/ProjectFormDialog'; import TaskFormDialog from '../containers/Projects/containers/TaskFormDialog'; -import TimeEntryFormDialog from '../containers/Timesheets/containers/TimeEntryFormDialog'; +import TimeEntryFormDialog from '../containers/Projects/containers/TimeEntryFormDialog'; /** * Dialogs container. diff --git a/src/containers/Timesheets/containers/TimeEntryFormDialog/TimeEntryForm.schema.tsx b/src/containers/Projects/containers/TimeEntryFormDialog/TimeEntryForm.schema.tsx similarity index 100% rename from src/containers/Timesheets/containers/TimeEntryFormDialog/TimeEntryForm.schema.tsx rename to src/containers/Projects/containers/TimeEntryFormDialog/TimeEntryForm.schema.tsx diff --git a/src/containers/Timesheets/containers/TimeEntryFormDialog/TimeEntryForm.tsx b/src/containers/Projects/containers/TimeEntryFormDialog/TimeEntryForm.tsx similarity index 100% rename from src/containers/Timesheets/containers/TimeEntryFormDialog/TimeEntryForm.tsx rename to src/containers/Projects/containers/TimeEntryFormDialog/TimeEntryForm.tsx diff --git a/src/containers/Timesheets/containers/TimeEntryFormDialog/TimeEntryFormContent.tsx b/src/containers/Projects/containers/TimeEntryFormDialog/TimeEntryFormContent.tsx similarity index 100% rename from src/containers/Timesheets/containers/TimeEntryFormDialog/TimeEntryFormContent.tsx rename to src/containers/Projects/containers/TimeEntryFormDialog/TimeEntryFormContent.tsx diff --git a/src/containers/Timesheets/containers/TimeEntryFormDialog/TimeEntryFormDialogContent.tsx b/src/containers/Projects/containers/TimeEntryFormDialog/TimeEntryFormDialogContent.tsx similarity index 74% rename from src/containers/Timesheets/containers/TimeEntryFormDialog/TimeEntryFormDialogContent.tsx rename to src/containers/Projects/containers/TimeEntryFormDialog/TimeEntryFormDialogContent.tsx index 4557f6355..138914eb4 100644 --- a/src/containers/Timesheets/containers/TimeEntryFormDialog/TimeEntryFormDialogContent.tsx +++ b/src/containers/Projects/containers/TimeEntryFormDialog/TimeEntryFormDialogContent.tsx @@ -9,10 +9,15 @@ import TimeEntryForm from './TimeEntryForm'; export default function TimeEntryFormDialogContent({ // #ownProps dialogName, + project, timeEntry, }) { return ( - + ); diff --git a/src/containers/Timesheets/containers/TimeEntryFormDialog/TimeEntryFormFields.tsx b/src/containers/Projects/containers/TimeEntryFormDialog/TimeEntryFormFields.tsx similarity index 82% rename from src/containers/Timesheets/containers/TimeEntryFormDialog/TimeEntryFormFields.tsx rename to src/containers/Projects/containers/TimeEntryFormDialog/TimeEntryFormFields.tsx index 323c8a153..f1c3c337d 100644 --- a/src/containers/Timesheets/containers/TimeEntryFormDialog/TimeEntryFormFields.tsx +++ b/src/containers/Projects/containers/TimeEntryFormDialog/TimeEntryFormFields.tsx @@ -1,7 +1,8 @@ // @ts-nocheck import React from 'react'; import intl from 'react-intl-universal'; -import { Classes, Position } from '@blueprintjs/core'; +import styled from 'styled-components'; +import { Classes, Intent, Position } from '@blueprintjs/core'; import { CLASSES } from 'common/classes'; import classNames from 'classnames'; import { @@ -9,10 +10,11 @@ import { FInputGroup, FDateInput, FTextArea, + FEditableText, FieldRequiredHint, FormattedMessage as T, } from 'components'; -import { ProjectSelect, TaskSelect } from '../../components'; +import { ProjectSelect, TaskSelect } from './components'; import { momentFormatter } from 'utils'; /** @@ -30,11 +32,8 @@ function TimeEntryFormFields() { className={classNames('form-group--select-list', Classes.FILL)} > @@ -47,34 +46,23 @@ function TimeEntryFormFields() { > - {/*------------ Description -----------*/} - - - + {/*------------ Duration -----------*/} } > - + {/*------------ Date -----------*/} } className={classNames(CLASSES.FILL, 'form-group--date')} > + {/*------------ Description -----------*/} + + + {/* */} + ); } diff --git a/src/containers/Timesheets/containers/TimeEntryFormDialog/TimeEntryFormFloatingActions.tsx b/src/containers/Projects/containers/TimeEntryFormDialog/TimeEntryFormFloatingActions.tsx similarity index 100% rename from src/containers/Timesheets/containers/TimeEntryFormDialog/TimeEntryFormFloatingActions.tsx rename to src/containers/Projects/containers/TimeEntryFormDialog/TimeEntryFormFloatingActions.tsx diff --git a/src/containers/Timesheets/containers/TimeEntryFormDialog/TimeEntryFormProvider.tsx b/src/containers/Projects/containers/TimeEntryFormDialog/TimeEntryFormProvider.tsx similarity index 97% rename from src/containers/Timesheets/containers/TimeEntryFormDialog/TimeEntryFormProvider.tsx rename to src/containers/Projects/containers/TimeEntryFormDialog/TimeEntryFormProvider.tsx index 66257c9fe..56c8aeb47 100644 --- a/src/containers/Timesheets/containers/TimeEntryFormDialog/TimeEntryFormProvider.tsx +++ b/src/containers/Projects/containers/TimeEntryFormDialog/TimeEntryFormProvider.tsx @@ -11,6 +11,7 @@ const TimeEntryFormContext = React.createContext(); function TimeEntryFormProvider({ // #ownProps dialogName, + projectId, timeEntryId, ...props }) { diff --git a/src/containers/Timesheets/components/ProjectSelect.tsx b/src/containers/Projects/containers/TimeEntryFormDialog/components/ProjectSelect.tsx similarity index 93% rename from src/containers/Timesheets/components/ProjectSelect.tsx rename to src/containers/Projects/containers/TimeEntryFormDialog/components/ProjectSelect.tsx index 337d037ae..901dce75f 100644 --- a/src/containers/Timesheets/components/ProjectSelect.tsx +++ b/src/containers/Projects/containers/TimeEntryFormDialog/components/ProjectSelect.tsx @@ -1,7 +1,7 @@ import React from 'react'; import intl from 'react-intl-universal'; import { MenuItem, Button } from '@blueprintjs/core'; -import { FSelect } from '../../../components/Forms'; +import { FSelect } from '../../../../../components/Forms'; /** * @@ -41,7 +41,7 @@ const projectItemRenderer = (project, { handleClick, modifiers, query }) => { }; const projectSelectProps = { - itemPredicate: projectItemPredicate, + // itemPredicate: projectItemPredicate, itemRenderer: projectItemRenderer, valueAccessor: 'id', labelAccessor: 'name', diff --git a/src/containers/Timesheets/components/TaskSelect.tsx b/src/containers/Projects/containers/TimeEntryFormDialog/components/TaskSelect.tsx similarity index 95% rename from src/containers/Timesheets/components/TaskSelect.tsx rename to src/containers/Projects/containers/TimeEntryFormDialog/components/TaskSelect.tsx index 964cee05b..44bf0c69f 100644 --- a/src/containers/Timesheets/components/TaskSelect.tsx +++ b/src/containers/Projects/containers/TimeEntryFormDialog/components/TaskSelect.tsx @@ -1,7 +1,7 @@ import React from 'react'; import intl from 'react-intl-universal'; import { MenuItem, Button } from '@blueprintjs/core'; -import { FSelect } from '../../../components/Forms'; +import { FSelect } from '../../../../../components/Forms'; /** * diff --git a/src/containers/Timesheets/components/index.ts b/src/containers/Projects/containers/TimeEntryFormDialog/components/index.ts similarity index 100% rename from src/containers/Timesheets/components/index.ts rename to src/containers/Projects/containers/TimeEntryFormDialog/components/index.ts diff --git a/src/containers/Timesheets/containers/TimeEntryFormDialog/index.tsx b/src/containers/Projects/containers/TimeEntryFormDialog/index.tsx similarity index 90% rename from src/containers/Timesheets/containers/TimeEntryFormDialog/index.tsx rename to src/containers/Projects/containers/TimeEntryFormDialog/index.tsx index dc8171068..f0cdcd654 100644 --- a/src/containers/Timesheets/containers/TimeEntryFormDialog/index.tsx +++ b/src/containers/Projects/containers/TimeEntryFormDialog/index.tsx @@ -12,7 +12,11 @@ const TimeEntryFormDialogContent = React.lazy( * Time entry form dialog. * @returns */ -function TimeEntryFormDialog({ dialogName, isOpen, payload: { timeEntryId } }) { +function TimeEntryFormDialog({ + dialogName, + isOpen, + payload: { projectId = null, timeEntryId = null }, +}) { return ( @@ -38,14 +43,12 @@ const TimeEntryFormDialogRoot = styled(Dialog)` .bp3-dialog-body { .bp3-form-group { margin-bottom: 15px; - margin-top: 15px; label.bp3-label { margin-bottom: 3px; font-size: 13px; } } - .form-group { &--description { .bp3-form-content { diff --git a/src/containers/Timesheets/index.ts b/src/containers/Timesheets/index.ts deleted file mode 100644 index e69de29bb..000000000