Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: modals have their own providers #171

Merged
merged 1 commit into from
Sep 6, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 5 additions & 4 deletions src/ui-actions/conversation-actions.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import DeleteConvConfirm from './delete-conv-modal';
import MoveConvMessage from './move-conv-msg-modal/move-conv-msg';
import { getContentForPrint, getErrorPage } from '../commons/print-conversation';
import { applyTag } from './tag-actions';
import { StoreProvider } from '../store/redux';

export function setConversationsFlag({ ids, value, t, dispatch }) {
return {
Expand Down Expand Up @@ -280,7 +281,7 @@ export function moveConversationToFolder({
{
maxHeight: '90vh',
children: (
<>
<StoreProvider>
<MoveConvMessage
selectedIDs={ids}
onClose={() => closeModal()}
Expand All @@ -289,7 +290,7 @@ export function moveConversationToFolder({
isRestore={isRestore}
deselectAll={deselectAll}
/>
</>
</StoreProvider>
)
},
true
Expand All @@ -307,15 +308,15 @@ export function deleteConversationPermanently({ ids, t, dispatch, createModal, d
const closeModal = createModal(
{
children: (
<>
<StoreProvider>
<DeleteConvConfirm
selectedIDs={ids}
dispatch={dispatch}
isMessageView={false}
onClose={() => closeModal()}
deselectAll={deselectAll}
/>
</>
</StoreProvider>
)
},
true
Expand Down
21 changes: 11 additions & 10 deletions src/ui-actions/message-actions.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import DeleteConvConfirm from './delete-conv-modal';
import RedirectAction from './redirect-message-action';
import { getContentForPrint, getErrorPage } from '../commons/print-conversation';
import { applyTag } from './tag-actions';
import { StoreProvider } from '../store/redux';

export function setMsgRead({
ids,
Expand Down Expand Up @@ -299,7 +300,7 @@ export function deleteMsg({ ids, dispatch, createSnackbar, createModal }) {
},
dismissLabel: t('label.cancel', 'Cancel'),
children: (
<>
<StoreProvider>
<Text overflow="break-word">
{t(
'messages.modal.delete.sure_delete_email',
Expand All @@ -312,7 +313,7 @@ export function deleteMsg({ ids, dispatch, createSnackbar, createModal }) {
'If you delete the e-mail, it will be lost forever.'
)}
</Text>
</>
</StoreProvider>
)
});
}
Expand Down Expand Up @@ -387,14 +388,14 @@ export function editDraft({ id, folderId, message }) {
},
showCloseIcon: true,
children: (
<>
<StoreProvider>
<Text overflow="break-word">
{t(
'messages.edit_schedule_warning',
'By editing this e-mail, the time and date previously set for delayed sending will be reset.'
)}
</Text>
</>
</StoreProvider>
)
});
} else replaceHistory(`/folder/${folderId}/edit/${id}?action=${ActionsType.EDIT_AS_DRAFT}`);
Expand Down Expand Up @@ -430,9 +431,9 @@ export function redirectMsg({ id, createModal }) {
{
maxHeight: '90vh',
children: (
<>
<StoreProvider>
<RedirectAction onClose={() => closeModal()} id={id} />
</>
</StoreProvider>
)
},
true
Expand All @@ -451,7 +452,7 @@ export function moveMessageToFolder({ id, dispatch, isRestore, createModal, dese
{
maxHeight: '90vh',
children: (
<>
<StoreProvider>
<MoveConvMessage
selectedIDs={id}
onClose={() => closeModal()}
Expand All @@ -460,7 +461,7 @@ export function moveMessageToFolder({ id, dispatch, isRestore, createModal, dese
isRestore={isRestore}
deselectAll={deselectAll}
/>
</>
</StoreProvider>
)
},
true
Expand All @@ -478,15 +479,15 @@ export function deleteMessagePermanently({ ids, dispatch, createModal, deselectA
const closeModal = createModal(
{
children: (
<>
<StoreProvider>
<DeleteConvConfirm
selectedIDs={ids}
dispatch={dispatch}
isMessageView
onClose={() => closeModal()}
deselectAll={deselectAll}
/>
</>
</StoreProvider>
)
},
true
Expand Down
21 changes: 18 additions & 3 deletions src/ui-actions/tag-actions.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ import CreateUpdateTagModal from '../views/sidebar/parts/tags/create-update-tag-
import DeleteTagModal from '../views/sidebar/parts/tags/delete-tag-modal';
import { convAction, msgAction } from '../store/actions';
import { TagsActionsType } from '../commons/utils';
import { StoreProvider } from '../store/redux';

export const createTag = ({ createModal }: ArgumentType): ReturnType => ({
id: TagsActionsType.NEW,
Expand All @@ -40,7 +41,13 @@ export const createTag = ({ createModal }: ArgumentType): ReturnType => ({
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
const closeModal = createModal(
{ children: <CreateUpdateTagModal onClose={(): void => closeModal()} /> },
{
children: (
<StoreProvider>
<CreateUpdateTagModal onClose={(): void => closeModal()} />
</StoreProvider>
)
},
true
);
}
Expand All @@ -58,7 +65,11 @@ export const editTag = ({ createModal, tag }: ArgumentType): ReturnType => ({
// @ts-ignore
const closeModal = createModal(
{
children: <CreateUpdateTagModal onClose={(): void => closeModal()} tag={tag} editMode />
children: (
<StoreProvider>
<CreateUpdateTagModal onClose={(): void => closeModal()} tag={tag} editMode />
</StoreProvider>
)
},
true
);
Expand All @@ -77,7 +88,11 @@ export const deleteTag = ({ createModal, tag }: ArgumentType): ReturnType => ({
// @ts-ignore
const closeModal = createModal(
{
children: <DeleteTagModal onClose={(): void => closeModal()} tag={tag} />
children: (
<StoreProvider>
<DeleteTagModal onClose={(): void => closeModal()} tag={tag} />
</StoreProvider>
)
},
true
);
Expand Down
9 changes: 5 additions & 4 deletions src/views/app/detail-panel/edit/parts/edit-view-header.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ import { mailAttachment } from '../../../../../types';
import { sendMsg } from '../../../../../store/actions/send-msg';
import { ActionsType } from '../../../../../commons/utils';
import SendLaterModal from './send-later-modal';
import { StoreProvider } from '../../../../../store/redux';

type PropType = {
setShowRouteGuard: (arg: boolean) => void;
Expand Down Expand Up @@ -223,7 +224,7 @@ const EditViewHeader: FC<PropType> = ({
closeModal();
},
children: (
<>
<StoreProvider>
<Text overflow="break-word" style={{ paddingTop: '16px' }}>
{t(
'messages.modal.send_anyway.first',
Expand All @@ -233,7 +234,7 @@ const EditViewHeader: FC<PropType> = ({
<Text overflow="break-word" style={{ paddingBottom: '16px' }}>
{t('messages.modal.send_anyway.second', 'Do you still want to send the email?')}
</Text>
</>
</StoreProvider>
)
});
}
Expand Down Expand Up @@ -325,7 +326,7 @@ const EditViewHeader: FC<PropType> = ({
{
maxHeight: '90vh',
children: (
<>
<StoreProvider>
<SendLaterModal
// TODO : fix it inside shell
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
Expand All @@ -335,7 +336,7 @@ const EditViewHeader: FC<PropType> = ({
editor={editor}
closeBoard={boardUtilities?.closeBoard}
/>
</>
</StoreProvider>
)
},
true
Expand Down
8 changes: 4 additions & 4 deletions src/views/settings/filters/parts/create-filter-modal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ type ComponentProps = {
t: TFunction;
onClose: () => void;
incomingFilters?: any;
setFetchIncomingFilters: (arg: boolean) => void;
setIncomingFilters: (arg: any) => void;
setFetchIncomingFilters?: (arg: boolean) => void;
setIncomingFilters?: (arg: any) => void;
};

type ActionType = Record<string, Array<any>>;
Expand Down Expand Up @@ -116,9 +116,9 @@ const CreateFilterModal: FC<ComponentProps> = ({
const onConfirm = useCallback(() => {
const toSend = [...incomingFiltersCopy, requiredFilters];

setIncomingFilters(toSend);
setIncomingFilters?.(toSend);
modifyFilterRules(toSend).then(() => {
setFetchIncomingFilters(true);
setFetchIncomingFilters?.(true);
});
onClose();
}, [incomingFiltersCopy, requiredFilters, setIncomingFilters, onClose, setFetchIncomingFilters]);
Expand Down
28 changes: 19 additions & 9 deletions src/views/settings/filters/parts/filters-actions-delete.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import {
import { FilterContext } from './filter-context';
import CreateFilterModal from './create-filter-modal';
import ModifyOutgoingFilterModal from './modify-filter/modify-outgoing-filter-modal';
import { StoreProvider } from '../../../../store/redux';

type FilterListType = {
active: boolean;
Expand Down Expand Up @@ -75,7 +76,14 @@ const FilterActions: FC<ComponentProps> = ({ compProps }): ReactElement => {
const closeModal = createModal(
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
{ size: 'large', children: <CreateFilterModal t={t} onClose={(): void => closeModal()} /> },
{
size: 'large',
children: (
<StoreProvider>
<CreateFilterModal t={t} onClose={(): void => closeModal()} />
</StoreProvider>
)
},
true
);
}, [createModal, t]);
Expand Down Expand Up @@ -145,14 +153,16 @@ const FilterActions: FC<ComponentProps> = ({ compProps }): ReactElement => {
size: 'large',
maxHeight: '70vh',
children: (
<ModifyOutgoingFilterModal
t={t}
selectedFilter={selectedFilter}
onClose={(): void => closeModal()}
outgoingFilters={outgoingFilters}
setFetchOutgoingFilters={setFetchOutgoingFilters}
setOutgoingFilters={setOutgoingFilters}
/>
<StoreProvider>
<ModifyOutgoingFilterModal
t={t}
selectedFilter={selectedFilter}
onClose={(): void => closeModal()}
outgoingFilters={outgoingFilters}
setFetchOutgoingFilters={setFetchOutgoingFilters}
setOutgoingFilters={setOutgoingFilters}
/>
</StoreProvider>
)
},
true
Expand Down
65 changes: 36 additions & 29 deletions src/views/settings/filters/parts/incoming-filters-actions.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import React, { FC, ReactElement, useCallback, useContext, useMemo } from 'react
import { TFunction } from 'i18next';
import { Button, Padding, ModalManagerContext } from '@zextras/carbonio-design-system';
import { find } from 'lodash';
import { StoreProvider } from '../../../../store/redux';
import { removeFilter, addFilter } from './actions';
import { modifyFilterRules } from '../../../../store/actions/modify-filter-rules';
import { FilterContext } from './filter-context';
Expand Down Expand Up @@ -82,13 +83,15 @@ const IncomingFilterActions: FC<ComponentProps> = ({ compProps }): ReactElement
size: 'large',
maxHeight: '80vh',
children: (
<CreateFilterModal
t={t}
onClose={(): void => closeModal()}
incomingFilters={incomingFilters}
setFetchIncomingFilters={setFetchIncomingFilters}
setIncomingFilters={setIncomingFilters}
/>
<StoreProvider>
<CreateFilterModal
t={t}
onClose={(): void => closeModal()}
incomingFilters={incomingFilters}
setFetchIncomingFilters={setFetchIncomingFilters}
setIncomingFilters={setIncomingFilters}
/>
</StoreProvider>
)
},
true
Expand All @@ -101,20 +104,22 @@ const IncomingFilterActions: FC<ComponentProps> = ({ compProps }): ReactElement
{
size: 'small',
children: (
<DeleteFilterModal
onClose={(): void => closeModal()}
t={t}
availableList={availableList}
activeList={activeList}
setFilters={setIncomingFilters}
setFetchFilters={setFetchIncomingFilters}
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
modifierFunc={modifyFilterRules}
filterName={selectedFilterName}
selectedFilter={selectedFilter}
incomingFilters={incomingFilters}
/>
<StoreProvider>
<DeleteFilterModal
onClose={(): void => closeModal()}
t={t}
availableList={availableList}
activeList={activeList}
setFilters={setIncomingFilters}
setFetchFilters={setFetchIncomingFilters}
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
modifierFunc={modifyFilterRules}
filterName={selectedFilterName}
selectedFilter={selectedFilter}
incomingFilters={incomingFilters}
/>
</StoreProvider>
)
},
true
Expand Down Expand Up @@ -164,14 +169,16 @@ const IncomingFilterActions: FC<ComponentProps> = ({ compProps }): ReactElement
size: 'large',
maxHeight: '80vh',
children: (
<ModifyFilterModal
t={t}
selectedFilter={selectedFilter}
onClose={(): void => closeModal()}
incomingFilters={incomingFilters}
setFetchIncomingFilters={setFetchIncomingFilters}
setIncomingFilters={setIncomingFilters}
/>
<StoreProvider>
<ModifyFilterModal
t={t}
selectedFilter={selectedFilter}
onClose={(): void => closeModal()}
incomingFilters={incomingFilters}
setFetchIncomingFilters={setFetchIncomingFilters}
setIncomingFilters={setIncomingFilters}
/>
</StoreProvider>
)
},
true
Expand Down
Loading