chrone: sperate client and server to different repos.

This commit is contained in:
a.bouhuolia
2021-09-21 17:13:53 +02:00
parent e011b2a82b
commit 18df5530c7
10015 changed files with 17686 additions and 97524 deletions

View File

@@ -0,0 +1,87 @@
import React, { useCallback } from 'react';
import { DialogContent } from 'components';
import { useSaveSettings, useSettingsManualJournals } from 'hooks/query';
import ReferenceNumberForm from 'containers/JournalNumber/ReferenceNumberForm';
import withDialogActions from 'containers/Dialog/withDialogActions';
import withSettings from 'containers/Settings/withSettings';
import { saveInvoke, compose } from 'utils';
import {
transformFormToSettings,
transformSettingsToForm,
} from 'containers/JournalNumber/utils';
import 'style/pages/ManualJournal/JournalNumberDialog.scss'
/**
* Journal number dialog's content.
*/
function JournalNumberDialogContent({
// #withSettings
nextNumber,
numberPrefix,
autoIncrement,
// #withDialogActions
closeDialog,
// #ownProps
onConfirm,
initialValues
}) {
const { isLoading: isSettingsLoading } = useSettingsManualJournals();
const { mutateAsync: saveSettingsMutate } = useSaveSettings();
// Handle the form submit.
const handleSubmitForm = (values, { setSubmitting }) => {
// Transformes the form values to settings to save it.
const options = transformFormToSettings(values, 'manual_journals');
// Handle success.
const handleSuccess = () => {
setSubmitting(false);
closeDialog('journal-number-form');
saveInvoke(onConfirm, values);
};
// Handle errors.
const handleErrors = () => {
setSubmitting(false);
};
if (values.incrementMode === 'manual-transaction') {
handleSuccess();
return;
}
saveSettingsMutate({ options }).then(handleSuccess).catch(handleErrors);
};
const handleClose = useCallback(() => {
closeDialog('journal-number-form');
}, [closeDialog]);
return (
<DialogContent isLoading={isSettingsLoading}>
<ReferenceNumberForm
initialValues={{
...transformSettingsToForm({
nextNumber,
numberPrefix,
autoIncrement,
}),
...initialValues,
}}
onSubmit={handleSubmitForm}
onClose={handleClose}
/>
</DialogContent>
);
}
export default compose(
withDialogActions,
withSettings(({ manualJournalsSettings }) => ({
nextNumber: manualJournalsSettings?.nextNumber,
numberPrefix: manualJournalsSettings?.numberPrefix,
autoIncrement: manualJournalsSettings?.autoIncrement,
})),
)(JournalNumberDialogContent);

View File

@@ -0,0 +1,40 @@
import React, { lazy } from 'react';
import { FormattedMessage as T } from 'components';
import { Dialog, DialogSuspense } from 'components';
import withDialogRedux from 'components/DialogReduxConnect';
import { saveInvoke, compose } from 'utils';
const JournalNumberDialogContent = lazy(() => import('./JournalNumberDialogContent'));
function JournalNumberDialog({
dialogName,
payload: { initialFormValues },
isOpen,
onConfirm
}) {
const handleConfirm = (values) => {
saveInvoke(onConfirm, values)
};
return (
<Dialog
name={dialogName}
title={<T id={'journal_number_settings'} />}
autoFocus={true}
canEscapeKeyClose={true}
isOpen={isOpen}
className={'dialog--journal-number-settings'}
>
<DialogSuspense>
<JournalNumberDialogContent
initialValues={{ ...initialFormValues }}
onConfirm={handleConfirm}
/>
</DialogSuspense>
</Dialog>
);
}
export default compose(
withDialogRedux(),
)(JournalNumberDialog);