mautourco-components 0.2.33 → 0.2.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/molecules/DialogContentPolicy/DialogCancellationAccom.js +1 -1
- package/dist/components/molecules/Toast/Toast.d.ts +2 -0
- package/dist/components/molecules/Toast/Toast.js +2 -2
- package/dist/components/organisms/DialogBookingAddItem/AddItemNewService.js +6 -1
- package/dist/components/organisms/DialogDeleteConfirm/DialogDeleteConfirm.d.ts +9 -8
- package/dist/components/organisms/DialogDeleteConfirm/DialogDeleteConfirm.js +12 -7
- package/dist/components/organisms/DialogDeleteConfirm/DialogDeleteConfirmMultiple/DialogDeleteConfirmMultiple.css +2103 -0
- package/dist/components/organisms/DialogDeleteConfirm/DialogDeleteConfirmMultiple/DialogDeleteConfirmMultiple.d.ts +12 -0
- package/dist/components/organisms/DialogDeleteConfirm/DialogDeleteConfirmMultiple/DialogDeleteConfirmMultiple.js +44 -0
- package/dist/components/organisms/DialogDeleteConfirm/DialogDeleteConfirmWrapper.d.ts +10 -0
- package/dist/components/organisms/DialogDeleteConfirm/DialogDeleteConfirmWrapper.js +6 -0
- package/dist/components/organisms/DialogDeleteConfirm/index.d.ts +3 -0
- package/dist/components/organisms/DialogDeleteConfirm/index.js +1 -0
- package/dist/components/organisms/DialogQuoteRename/DialogQuoteRename.d.ts +7 -0
- package/dist/components/organisms/DialogQuoteRename/DialogQuoteRename.js +14 -0
- package/dist/components/organisms/DialogSendingMail/DialogSendingMailContent.js +1 -1
- package/dist/components/organisms/DialogSendingMail/DialogSendingMailMultiple/DialogSendingMailMultiple.d.ts +30 -1
- package/dist/components/organisms/DialogSendingMail/DialogSendingMailMultiple/DialogSendingMailMultiple.js +36 -7
- package/dist/components/organisms/DialogSendingMail/index.d.ts +1 -0
- package/dist/components/organisms/QuoteHeader/QuoteHeader.d.ts +4 -2
- package/dist/components/organisms/QuoteHeader/QuoteHeader.js +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +2 -0
- package/package.json +1 -1
- package/src/components/molecules/DialogContentPolicy/DialogCancellationAccom.tsx +2 -2
- package/src/components/molecules/Toast/Toast.tsx +8 -3
- package/src/components/organisms/DialogBookingAddItem/AddItemNewService.tsx +7 -1
- package/src/components/organisms/DialogDeleteConfirm/DialogDeleteConfirm.tsx +19 -37
- package/src/components/organisms/DialogDeleteConfirm/DialogDeleteConfirmMultiple/DialogDeleteConfirmMultiple.css +20 -0
- package/src/components/organisms/DialogDeleteConfirm/DialogDeleteConfirmMultiple/DialogDeleteConfirmMultiple.tsx +84 -0
- package/src/components/organisms/DialogDeleteConfirm/DialogDeleteConfirmWrapper.tsx +34 -0
- package/src/components/organisms/DialogDeleteConfirm/index.ts +4 -0
- package/src/components/organisms/DialogQuoteRename/DialogQuoteRename.tsx +48 -0
- package/src/components/organisms/DialogSendingMail/DialogSendingMailContent.tsx +1 -0
- package/src/components/organisms/DialogSendingMail/DialogSendingMailMultiple/DialogSendingMailMultiple.tsx +49 -7
- package/src/components/organisms/DialogSendingMail/index.ts +1 -0
- package/src/components/organisms/QuoteHeader/QuoteHeader.tsx +3 -2
|
@@ -97,6 +97,7 @@ export const DialogSendingMailContent: React.FC<DialogSendingMailContentProps> =
|
|
|
97
97
|
</Button>
|
|
98
98
|
</div>
|
|
99
99
|
<Toast
|
|
100
|
+
showIcon={false}
|
|
100
101
|
type="warning"
|
|
101
102
|
className="mt-8"
|
|
102
103
|
text="Disclaimer: Email formatting may appear distorted in certain older email clients (e.g Outlook Classic ). Content will remain intact, but the visual layout may differ from the original"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import Checkbox from '@/src/components/atoms/Checkbox/Checkbox';
|
|
2
2
|
import SelectedValue from '@/src/components/atoms/SelectedValue/SelectedValue';
|
|
3
|
-
import React, { useEffect, useState } from 'react';
|
|
3
|
+
import React, { useEffect, useMemo, useState } from 'react';
|
|
4
4
|
import {
|
|
5
5
|
DialogSendingMailContent,
|
|
6
6
|
DialogSendingMailContentProps,
|
|
@@ -15,20 +15,52 @@ export interface SelectedQuote {
|
|
|
15
15
|
|
|
16
16
|
export interface DialogSendingMailMultipleProps extends Omit<
|
|
17
17
|
DialogSendingMailContentProps,
|
|
18
|
-
'onSubmit'
|
|
18
|
+
'onSubmit' | 'onPreviewAttachment'
|
|
19
19
|
> {
|
|
20
|
+
/** Default data of the quotes */
|
|
20
21
|
data: SelectedQuote[];
|
|
22
|
+
|
|
23
|
+
/** Function to call when a quote is selected */
|
|
21
24
|
onSelected?: (selectedQuotes: SelectedQuote[]) => void;
|
|
25
|
+
|
|
26
|
+
/** Function to call when the form is submitted */
|
|
22
27
|
onSubmit: (payload: {
|
|
23
28
|
selectedQuotes: SelectedQuote[];
|
|
24
29
|
formData: SendingMailSchema;
|
|
25
30
|
}) => void;
|
|
31
|
+
|
|
32
|
+
/** Function to call when the preview attachment is clicked */
|
|
33
|
+
onPreviewAttachment?: (selectedQuotes: SelectedQuote[]) => void;
|
|
26
34
|
}
|
|
27
35
|
|
|
36
|
+
/**
|
|
37
|
+
* Props for the DialogSendingMailMultiple component
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* <DialogSendingMail>
|
|
41
|
+
* <DialogSendingMail.MultipleQuotes
|
|
42
|
+
* data={[
|
|
43
|
+
* { id: '1', name: 'Quote 1' },
|
|
44
|
+
* { id: '2', name: 'Quote 2' },
|
|
45
|
+
* { id: '3', name: 'Quote 3' },
|
|
46
|
+
* ]}
|
|
47
|
+
* onPreviewAttachment={() => {
|
|
48
|
+
* console.log('Preview attachment');
|
|
49
|
+
* }}
|
|
50
|
+
* onSubmit={(data) => {
|
|
51
|
+
* console.log(data);
|
|
52
|
+
* }}
|
|
53
|
+
* onSelected={(selectedQuotes) => {
|
|
54
|
+
* console.log(selectedQuotes);
|
|
55
|
+
* }} />
|
|
56
|
+
* </DialogSendingMail>
|
|
57
|
+
*
|
|
58
|
+
* @param props - The props of the component
|
|
59
|
+
*/
|
|
28
60
|
export const DialogSendingMailMultiple: React.FC<DialogSendingMailMultipleProps> = (
|
|
29
61
|
props
|
|
30
62
|
) => {
|
|
31
|
-
const { data, onSelected, onSubmit, ...rest } = props;
|
|
63
|
+
const { data, onSelected, onSubmit, onPreviewAttachment, ...rest } = props;
|
|
32
64
|
|
|
33
65
|
const [isSelectAll, setIsSelectAll] = useState(false);
|
|
34
66
|
const [remainingQuotes, setRemainingQuotes] = useState<SelectedQuote[]>(data);
|
|
@@ -61,7 +93,10 @@ export const DialogSendingMailMultiple: React.FC<DialogSendingMailMultipleProps>
|
|
|
61
93
|
if (remainingQuotes.length > 1) {
|
|
62
94
|
setSelectedQuotes((prev) => {
|
|
63
95
|
if (prev.includes(id)) {
|
|
64
|
-
|
|
96
|
+
if (prev.length > 1) {
|
|
97
|
+
return prev.filter((quoteId) => quoteId !== id);
|
|
98
|
+
}
|
|
99
|
+
return prev;
|
|
65
100
|
}
|
|
66
101
|
return [...prev, id];
|
|
67
102
|
});
|
|
@@ -85,6 +120,14 @@ export const DialogSendingMailMultiple: React.FC<DialogSendingMailMultipleProps>
|
|
|
85
120
|
}
|
|
86
121
|
};
|
|
87
122
|
|
|
123
|
+
/**
|
|
124
|
+
* Get the remaining quotes filtered by the selected quotes
|
|
125
|
+
*/
|
|
126
|
+
const remainingQuotesFiltered = useMemo(
|
|
127
|
+
() => remainingQuotes.filter((quote) => selectedQuotes.includes(quote.id)),
|
|
128
|
+
[remainingQuotes, selectedQuotes]
|
|
129
|
+
);
|
|
130
|
+
|
|
88
131
|
useEffect(() => {
|
|
89
132
|
// Select all quotes by default
|
|
90
133
|
setSelectedQuotes(data.map((quote) => quote.id));
|
|
@@ -126,11 +169,10 @@ export const DialogSendingMailMultiple: React.FC<DialogSendingMailMultipleProps>
|
|
|
126
169
|
</div>
|
|
127
170
|
<DialogSendingMailContent
|
|
128
171
|
{...rest}
|
|
172
|
+
onPreviewAttachment={() => onPreviewAttachment?.(remainingQuotesFiltered)}
|
|
129
173
|
onSubmit={(data) =>
|
|
130
174
|
onSubmit({
|
|
131
|
-
selectedQuotes:
|
|
132
|
-
selectedQuotes.includes(quote.id)
|
|
133
|
-
),
|
|
175
|
+
selectedQuotes: remainingQuotesFiltered,
|
|
134
176
|
formData: data,
|
|
135
177
|
})
|
|
136
178
|
}
|
|
@@ -3,3 +3,4 @@ export * from './sending-mail-schema';
|
|
|
3
3
|
|
|
4
4
|
export type { DialogSendingMailProps } from './DialogSendingMail';
|
|
5
5
|
export type { DialogSendingMailContentProps } from './DialogSendingMailContent';
|
|
6
|
+
export type { DialogSendingMailMultipleProps } from './DialogSendingMailMultiple/DialogSendingMailMultiple';
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
1
|
import Button from '../../atoms/Button/Button';
|
|
3
2
|
import DropdownInput from '../../atoms/Inputs/DropdownInput/DropdownInput';
|
|
4
3
|
import Input from '../../atoms/Inputs/Input/Input';
|
|
@@ -38,7 +37,7 @@ const filterConfig = {
|
|
|
38
37
|
},
|
|
39
38
|
};
|
|
40
39
|
|
|
41
|
-
export const QuoteHeader
|
|
40
|
+
export const QuoteHeader = (props: QuoteHeaderProps) => {
|
|
42
41
|
const { current = 'quotation', onNavigate, onNewQuote, onFilterChange } = props;
|
|
43
42
|
|
|
44
43
|
return (
|
|
@@ -91,3 +90,5 @@ export const QuoteHeader: React.FC<QuoteHeaderProps> = (props) => {
|
|
|
91
90
|
</div>
|
|
92
91
|
);
|
|
93
92
|
};
|
|
93
|
+
|
|
94
|
+
QuoteHeader.displayName = 'QuoteHeader';
|