feat: add currency code to project task form.

This commit is contained in:
elforjani13
2022-07-30 15:12:25 +02:00
parent 1b13b98899
commit 7350fef5c4
3 changed files with 21 additions and 10 deletions

View File

@@ -5,10 +5,10 @@ import { Intent } from '@blueprintjs/core';
import { AppToaster } from '@/components'; import { AppToaster } from '@/components';
import { CreateProjectTaskFormSchema } from './ProjectTaskForm.schema'; import { CreateProjectTaskFormSchema } from './ProjectTaskForm.schema';
import { useProjectTaskFormContext } from './ProjectTaskFormProvider'; import { useProjectTaskFormContext } from './ProjectTaskFormProvider';
import ProjectTaskFormContent from './ProjectTaskFormContent';
import withDialogActions from '@/containers/Dialog/withDialogActions';
import { transformToValue } from './utils'; import { transformToValue } from './utils';
import { compose, transformToForm } from '@/utils'; import { compose, transformToForm } from '@/utils';
import ProjectTaskFormContent from './ProjectTaskFormContent';
import withDialogActions from '@/containers/Dialog/withDialogActions';
const defaultInitialValues = { const defaultInitialValues = {
name: '', name: '',

View File

@@ -11,12 +11,17 @@ import {
import { EstimateAmount } from './utils'; import { EstimateAmount } from './utils';
import { taskChargeOptions } from '../common/modalChargeOptions'; import { taskChargeOptions } from '../common/modalChargeOptions';
import { ChangeTypesSelect } from '../../components'; import { ChangeTypesSelect } from '../../components';
import withCurrentOrganization from '@/containers/Organization/withCurrentOrganization';
import { compose } from '@/utils';
/** /**
* Project task form fields. * Project task form fields.
* @returns * @returns
*/ */
function ProjectTaskFormFields() { function ProjectTaskFormFields({
// #withCurrentOrganization
organization: { base_currency },
}) {
// Formik context. // Formik context.
const { values } = useFormikContext(); const { values } = useFormikContext();
@@ -62,9 +67,9 @@ function ProjectTaskFormFields() {
</Col> </Col>
</Row> </Row>
{/*------------ Estimated Amount -----------*/} {/*------------ Estimated Amount -----------*/}
<EstimateAmount /> <EstimateAmount baseCurrency={base_currency} />
</div> </div>
); );
} }
export default ProjectTaskFormFields; export default compose(withCurrentOrganization())(ProjectTaskFormFields);

View File

@@ -2,9 +2,9 @@ import React from 'react';
import _ from 'lodash'; import _ from 'lodash';
import { useFormikContext } from 'formik'; import { useFormikContext } from 'formik';
import styled from 'styled-components'; import styled from 'styled-components';
import { Choose, FormattedMessage as T } from '@/components'; import { Choose, Money, FormattedMessage as T } from '@/components';
export function EstimateAmount() { export function EstimateAmount({ baseCurrency }) {
const { values } = useFormikContext(); const { values } = useFormikContext();
// Calculate estimate amount. // Calculate estimate amount.
@@ -16,15 +16,21 @@ export function EstimateAmount() {
<Choose> <Choose>
<Choose.When condition={values?.charge_type === 'hourly_rate'}> <Choose.When condition={values?.charge_type === 'hourly_rate'}>
<T id={'project_task.dialog.estimated_amount'} /> <T id={'project_task.dialog.estimated_amount'} />
<EstimatedAmount>{estimatedAmount}</EstimatedAmount> <EstimatedAmount>
<Money amount={estimatedAmount} currency={baseCurrency} />
</EstimatedAmount>
</Choose.When> </Choose.When>
<Choose.When condition={values?.charge_type === 'fixed_price'}> <Choose.When condition={values?.charge_type === 'fixed_price'}>
<T id={'project_task.dialog.total'} /> <T id={'project_task.dialog.total'} />
<EstimatedAmount>{values.rate}</EstimatedAmount> <EstimatedAmount>
<Money amount={values.rate} currency={baseCurrency} />
</EstimatedAmount>
</Choose.When> </Choose.When>
<Choose.Otherwise> <Choose.Otherwise>
<T id={'project_task.dialog.total'} /> <T id={'project_task.dialog.total'} />
<EstimatedAmount>0.00</EstimatedAmount> <EstimatedAmount>
<Money amount={0.0} currency={baseCurrency} />
</EstimatedAmount>
</Choose.Otherwise> </Choose.Otherwise>
</Choose> </Choose>
</EstimatedAmountContent> </EstimatedAmountContent>