@bigbinary/neeto-email-notifications-frontend 2.2.14 → 2.2.16
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/README.md +89 -18
- package/app/javascript/src/translations/ar.json +17 -0
- package/app/javascript/src/translations/bg.json +17 -0
- package/app/javascript/src/translations/ca.json +17 -0
- package/app/javascript/src/translations/cs.json +17 -0
- package/app/javascript/src/translations/da.json +17 -0
- package/app/javascript/src/translations/de.json +2 -2
- package/app/javascript/src/translations/en.json +1 -1
- package/app/javascript/src/translations/es-MX.json +17 -0
- package/app/javascript/src/translations/es.json +2 -2
- package/app/javascript/src/translations/et.json +17 -0
- package/app/javascript/src/translations/fi.json +17 -0
- package/app/javascript/src/translations/fil.json +17 -0
- package/app/javascript/src/translations/fr.json +2 -2
- package/app/javascript/src/translations/hi.json +17 -0
- package/app/javascript/src/translations/hr.json +17 -0
- package/app/javascript/src/translations/id.json +17 -0
- package/app/javascript/src/translations/it.json +17 -0
- package/app/javascript/src/translations/ja.json +17 -0
- package/app/javascript/src/translations/ko.json +17 -0
- package/app/javascript/src/translations/nl.json +17 -0
- package/app/javascript/src/translations/pl.json +17 -0
- package/app/javascript/src/translations/pt-BR.json +17 -0
- package/app/javascript/src/translations/pt.json +17 -0
- package/app/javascript/src/translations/ro.json +17 -0
- package/app/javascript/src/translations/ru.json +17 -0
- package/app/javascript/src/translations/sk.json +17 -0
- package/app/javascript/src/translations/sl.json +17 -0
- package/app/javascript/src/translations/sv.json +17 -0
- package/app/javascript/src/translations/th.json +17 -0
- package/app/javascript/src/translations/tr.json +17 -0
- package/app/javascript/src/translations/uk.json +17 -0
- package/app/javascript/src/translations/vi.json +17 -0
- package/app/javascript/src/translations/zh-CN.json +17 -0
- package/app/javascript/src/translations/zh-TW.json +17 -0
- package/dist/NeetoEmailNotificationForm.js +91 -51
- package/dist/NeetoEmailNotificationForm.js.map +1 -1
- package/dist/cjs/NeetoEmailNotificationForm.js +90 -50
- package/dist/cjs/NeetoEmailNotificationForm.js.map +1 -1
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +16 -15
- package/types.d.ts +18 -15
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"neetoEmailNotifications": {
|
|
3
|
+
"welcomeScreen": "Välkommen till neeto wheel nano",
|
|
4
|
+
"errors": {
|
|
5
|
+
"invalidEmailAddress": "Vänligen ange en giltig e-postadress",
|
|
6
|
+
"sendFromRequired": "'Skicka från' e-postadress är obligatorisk",
|
|
7
|
+
"sendToRequired": "'Skicka till' e-postadress är obligatorisk",
|
|
8
|
+
"subjectRequired": "Ämnet är obligatoriskt",
|
|
9
|
+
"messageRequired": "Meddelandet är obligatoriskt"
|
|
10
|
+
},
|
|
11
|
+
"emailNotification": {
|
|
12
|
+
"title": "E-postmeddelande",
|
|
13
|
+
"notificationToggleLabel": "Skicka ett e-postmeddelande när en ny händelse inträffar"
|
|
14
|
+
},
|
|
15
|
+
"preview": "Förhandsvisning"
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"neetoEmailNotifications": {
|
|
3
|
+
"welcomeScreen": "ยินดีต้อนรับสู่ neeto wheel nano",
|
|
4
|
+
"errors": {
|
|
5
|
+
"invalidEmailAddress": "โปรดป้อนที่อยู่อีเมลที่ถูกต้อง",
|
|
6
|
+
"sendFromRequired": "'ส่งจาก' ที่อยู่อีเมลจำเป็นต้องระบุ",
|
|
7
|
+
"sendToRequired": "'ส่งถึง' ที่อยู่อีเมลจำเป็นต้องระบุ",
|
|
8
|
+
"subjectRequired": "หัวข้อจำเป็นต้องระบุ",
|
|
9
|
+
"messageRequired": "ข้อความจำเป็นต้องระบุ"
|
|
10
|
+
},
|
|
11
|
+
"emailNotification": {
|
|
12
|
+
"title": "การแจ้งเตือนทางอีเมล",
|
|
13
|
+
"notificationToggleLabel": "ส่งการแจ้งเตือนทางอีเมลเมื่อมีเหตุการณ์ใหม่เกิดขึ้น"
|
|
14
|
+
},
|
|
15
|
+
"preview": "ตัวอย่าง"
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"neetoEmailNotifications": {
|
|
3
|
+
"welcomeScreen": "Neeto Wheel Nano'ya hoş geldiniz",
|
|
4
|
+
"errors": {
|
|
5
|
+
"invalidEmailAddress": "Lütfen geçerli bir e-posta adresi girin",
|
|
6
|
+
"sendFromRequired": "'Gönderen' e-posta adresi gereklidir",
|
|
7
|
+
"sendToRequired": "'Alıcı' e-posta adresi gereklidir",
|
|
8
|
+
"subjectRequired": "Konu gereklidir",
|
|
9
|
+
"messageRequired": "Mesaj gereklidir"
|
|
10
|
+
},
|
|
11
|
+
"emailNotification": {
|
|
12
|
+
"title": "E-posta bildirimi",
|
|
13
|
+
"notificationToggleLabel": "Yeni bir olay meydana geldiğinde e-posta bildirimi gönder"
|
|
14
|
+
},
|
|
15
|
+
"preview": "Önizleme"
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"neetoEmailNotifications": {
|
|
3
|
+
"welcomeScreen": "Ласкаво просимо до neeto wheel nano",
|
|
4
|
+
"errors": {
|
|
5
|
+
"invalidEmailAddress": "Будь ласка, введіть дійсну адресу електронної пошти",
|
|
6
|
+
"sendFromRequired": "Адреса електронної пошти 'Від кого' є обов'язковою",
|
|
7
|
+
"sendToRequired": "Адреса електронної пошти 'Кому' є обов'язковою",
|
|
8
|
+
"subjectRequired": "Тема є обов'язковою",
|
|
9
|
+
"messageRequired": "Повідомлення є обов'язковим"
|
|
10
|
+
},
|
|
11
|
+
"emailNotification": {
|
|
12
|
+
"title": "Сповіщення електронною поштою",
|
|
13
|
+
"notificationToggleLabel": "Надіслати сповіщення електронною поштою, коли відбудеться нова подія"
|
|
14
|
+
},
|
|
15
|
+
"preview": "Попередній перегляд"
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"neetoEmailNotifications": {
|
|
3
|
+
"welcomeScreen": "Chào mừng bạn đến với neeto wheel nano",
|
|
4
|
+
"errors": {
|
|
5
|
+
"invalidEmailAddress": "Vui lòng nhập địa chỉ email hợp lệ",
|
|
6
|
+
"sendFromRequired": "Địa chỉ email 'Gửi từ' là bắt buộc",
|
|
7
|
+
"sendToRequired": "Địa chỉ email 'Gửi đến' là bắt buộc",
|
|
8
|
+
"subjectRequired": "Chủ đề là bắt buộc",
|
|
9
|
+
"messageRequired": "Tin nhắn là bắt buộc"
|
|
10
|
+
},
|
|
11
|
+
"emailNotification": {
|
|
12
|
+
"title": "Thông báo qua email",
|
|
13
|
+
"notificationToggleLabel": "Gửi thông báo qua email khi có sự kiện mới xảy ra"
|
|
14
|
+
},
|
|
15
|
+
"preview": "Xem trước"
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"neetoEmailNotifications": {
|
|
3
|
+
"welcomeScreen": "欢迎使用neeto wheel nano",
|
|
4
|
+
"errors": {
|
|
5
|
+
"invalidEmailAddress": "请输入有效的电子邮件地址",
|
|
6
|
+
"sendFromRequired": "'发件人'电子邮件地址是必需的",
|
|
7
|
+
"sendToRequired": "'收件人'电子邮件地址是必需的",
|
|
8
|
+
"subjectRequired": "主题是必需的",
|
|
9
|
+
"messageRequired": "消息是必需的"
|
|
10
|
+
},
|
|
11
|
+
"emailNotification": {
|
|
12
|
+
"title": "电子邮件通知",
|
|
13
|
+
"notificationToggleLabel": "当发生新事件时发送电子邮件通知"
|
|
14
|
+
},
|
|
15
|
+
"preview": "预览"
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"neetoEmailNotifications": {
|
|
3
|
+
"welcomeScreen": "歡迎使用 neeto wheel nano",
|
|
4
|
+
"errors": {
|
|
5
|
+
"invalidEmailAddress": "請輸入有效的電子郵件地址",
|
|
6
|
+
"sendFromRequired": "'發件人' 電子郵件地址是必需的",
|
|
7
|
+
"sendToRequired": "'收件人' 電子郵件地址是必需的",
|
|
8
|
+
"subjectRequired": "主旨是必需的",
|
|
9
|
+
"messageRequired": "訊息是必需的"
|
|
10
|
+
},
|
|
11
|
+
"emailNotification": {
|
|
12
|
+
"title": "電子郵件通知",
|
|
13
|
+
"notificationToggleLabel": "當有新事件發生時發送電子郵件通知"
|
|
14
|
+
},
|
|
15
|
+
"preview": "預覽"
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
2
|
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
3
|
+
import { useRef } from 'react';
|
|
3
4
|
import { isNotEmpty, isNotPresent, noop } from '@bigbinary/neeto-cist';
|
|
4
|
-
import
|
|
5
|
+
import EmailForm from '@bigbinary/neeto-molecules/EmailForm';
|
|
5
6
|
import Spinner from '@bigbinary/neetoui/Spinner';
|
|
6
|
-
import { prop, isEmpty, mergeLeft, mergeDeepLeft } from 'ramda';
|
|
7
|
+
import { prop, isEmpty, pick, mergeLeft, mergeDeepLeft } from 'ramda';
|
|
7
8
|
import { useTranslation } from 'react-i18next';
|
|
8
9
|
import { useQuery } from '@tanstack/react-query';
|
|
9
10
|
import { DEFAULT_STALE_TIME } from '@bigbinary/neeto-commons-frontend/constants';
|
|
@@ -13,19 +14,24 @@ import * as yup from 'yup';
|
|
|
13
14
|
import { string } from 'yup';
|
|
14
15
|
import { jsx } from 'react/jsx-runtime';
|
|
15
16
|
|
|
16
|
-
var
|
|
17
|
+
var EMAIL_NOTIFICATIONS_BASE_URL = "neeto_email_notifications/email_notification";
|
|
18
|
+
var RESET_EMAIL_NOTIFICATIONS_TO_DEFAULT_URL = "".concat(EMAIL_NOTIFICATIONS_BASE_URL, "/reset_to_default");
|
|
17
19
|
|
|
18
20
|
var fetch = function fetch(params) {
|
|
19
|
-
return axios.get(
|
|
21
|
+
return axios.get(EMAIL_NOTIFICATIONS_BASE_URL, {
|
|
20
22
|
params: params
|
|
21
23
|
});
|
|
22
24
|
};
|
|
23
25
|
var update = function update(payload) {
|
|
24
|
-
return axios.put(
|
|
26
|
+
return axios.put(EMAIL_NOTIFICATIONS_BASE_URL, payload);
|
|
27
|
+
};
|
|
28
|
+
var resetToDefault = function resetToDefault(params) {
|
|
29
|
+
return axios.post(RESET_EMAIL_NOTIFICATIONS_TO_DEFAULT_URL, params);
|
|
25
30
|
};
|
|
26
31
|
var emailNotificationsApi = {
|
|
27
32
|
fetch: fetch,
|
|
28
|
-
update: update
|
|
33
|
+
update: update,
|
|
34
|
+
resetToDefault: resetToDefault
|
|
29
35
|
};
|
|
30
36
|
|
|
31
37
|
var QUERY_KEYS = {
|
|
@@ -53,13 +59,29 @@ var useUpdateEmailNotification = function useUpdateEmailNotification() {
|
|
|
53
59
|
}]
|
|
54
60
|
});
|
|
55
61
|
};
|
|
62
|
+
var useResetEmailNotificationToDefault = function useResetEmailNotificationToDefault() {
|
|
63
|
+
return useMutationWithInvalidation(emailNotificationsApi.resetToDefault, {
|
|
64
|
+
keysToInvalidate: [function (_, _ref2) {
|
|
65
|
+
var notificationHolderId = _ref2.notificationHolderId,
|
|
66
|
+
customFields = _ref2.customFields;
|
|
67
|
+
return [QUERY_KEYS.NEETO_EMAIL_NOTIFICATIONS, notificationHolderId, customFields];
|
|
68
|
+
}]
|
|
69
|
+
});
|
|
70
|
+
};
|
|
56
71
|
|
|
57
72
|
var FORM_VALIDATION_SCHEMA = {
|
|
58
73
|
isEnabled: yup["boolean"]()
|
|
59
74
|
};
|
|
75
|
+
var DEFAULT_FIELDS_VISIBILITY = {
|
|
76
|
+
showSendToField: true,
|
|
77
|
+
showReplyToField: false,
|
|
78
|
+
showSendToAsRadio: false,
|
|
79
|
+
showBccField: false,
|
|
80
|
+
showCcField: false
|
|
81
|
+
};
|
|
60
82
|
|
|
61
83
|
var _excluded$1 = ["notifyEmails", "notifyCcEmails", "notifyBccEmails", "replyToId", "customFields"],
|
|
62
|
-
_excluded2 = ["id", "isEnabled", "sendTo", "sendToCc", "sendToBcc", "showCopyEmails", "replyTo", "message", "subject", "sendFrom", "
|
|
84
|
+
_excluded2 = ["id", "isEnabled", "sendTo", "sendToCc", "sendToBcc", "showCopyEmails", "replyTo", "message", "subject", "sendFrom", "sendToId"];
|
|
63
85
|
function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
64
86
|
function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
65
87
|
var isValidEmail = function isValidEmail(email) {
|
|
@@ -96,7 +118,7 @@ var parseEmailNotificationData = function parseEmailNotificationData(data, sendT
|
|
|
96
118
|
parsed.showCopyEmails = !!(notifyCcEmails !== null && notifyCcEmails !== void 0 && notifyCcEmails.length || notifyBccEmails !== null && notifyBccEmails !== void 0 && notifyBccEmails.length);
|
|
97
119
|
return parsed;
|
|
98
120
|
};
|
|
99
|
-
var packEmailPayload = function packEmailPayload(values, isReplyToDropdownField) {
|
|
121
|
+
var packEmailPayload = function packEmailPayload(values, isReplyToDropdownField, isDisabledByUser) {
|
|
100
122
|
values.id;
|
|
101
123
|
var isEnabled = values.isEnabled,
|
|
102
124
|
sendTo = values.sendTo,
|
|
@@ -107,7 +129,6 @@ var packEmailPayload = function packEmailPayload(values, isReplyToDropdownField)
|
|
|
107
129
|
message = values.message,
|
|
108
130
|
subject = values.subject,
|
|
109
131
|
sendFrom = values.sendFrom,
|
|
110
|
-
disabledByUser = values.disabledByUser,
|
|
111
132
|
sendToId = values.sendToId,
|
|
112
133
|
rest = _objectWithoutProperties(values, _excluded2);
|
|
113
134
|
var payload = {
|
|
@@ -136,7 +157,7 @@ var packEmailPayload = function packEmailPayload(values, isReplyToDropdownField)
|
|
|
136
157
|
payload.sendFrom = sendFrom;
|
|
137
158
|
} else {
|
|
138
159
|
payload.customFields = {
|
|
139
|
-
disabledByUser:
|
|
160
|
+
disabledByUser: isDisabledByUser
|
|
140
161
|
};
|
|
141
162
|
}
|
|
142
163
|
return payload;
|
|
@@ -144,12 +165,24 @@ var packEmailPayload = function packEmailPayload(values, isReplyToDropdownField)
|
|
|
144
165
|
var renderText = function renderText(text, fallbackTranslation) {
|
|
145
166
|
return isEmpty(text) ? fallbackTranslation : text;
|
|
146
167
|
};
|
|
168
|
+
var generateDefaultValues = function generateDefaultValues(data) {
|
|
169
|
+
var _data$defaultAttribut, _data$defaultAttribut2;
|
|
170
|
+
if (!(data !== null && data !== void 0 && data.defaultAttributes)) {
|
|
171
|
+
return null;
|
|
172
|
+
}
|
|
173
|
+
var currentDataFields = ["id", "customFields", "notifyCcEmails", "notifyBccEmails", "replyToId"];
|
|
174
|
+
var currentDataOverlay = pick(currentDataFields, data);
|
|
175
|
+
var normalizedDefaults = _objectSpread$1(_objectSpread$1({}, data.defaultAttributes), {}, {
|
|
176
|
+
message: ((_data$defaultAttribut = data.defaultAttributes.message) === null || _data$defaultAttribut === void 0 || (_data$defaultAttribut2 = _data$defaultAttribut.replaceAll) === null || _data$defaultAttribut2 === void 0 ? void 0 : _data$defaultAttribut2.call(_data$defaultAttribut, "<br />", "<br>")) || data.defaultAttributes.message
|
|
177
|
+
});
|
|
178
|
+
return mergeLeft(currentDataOverlay, normalizedDefaults);
|
|
179
|
+
};
|
|
147
180
|
|
|
148
|
-
var _excluded = ["validationSchema"
|
|
181
|
+
var _excluded = ["validationSchema"];
|
|
149
182
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
150
183
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
151
184
|
var NeetoEmailNotificationForm = function NeetoEmailNotificationForm(_ref) {
|
|
152
|
-
var _emailFormProps$sendT;
|
|
185
|
+
var _emailFormProps$sendT, _emailFormProps$sendT2;
|
|
153
186
|
var _ref$emailNotificatio = _ref.emailNotificationParams,
|
|
154
187
|
emailNotificationParams = _ref$emailNotificatio === void 0 ? {} : _ref$emailNotificatio,
|
|
155
188
|
_ref$emailPreviewProp = _ref.emailPreviewProps,
|
|
@@ -160,21 +193,24 @@ var NeetoEmailNotificationForm = function NeetoEmailNotificationForm(_ref) {
|
|
|
160
193
|
emailFormikProps = _ref$emailFormikProps === void 0 ? {} : _ref$emailFormikProps,
|
|
161
194
|
_ref$title = _ref.title,
|
|
162
195
|
title = _ref$title === void 0 ? "" : _ref$title,
|
|
163
|
-
_ref$
|
|
164
|
-
|
|
165
|
-
_ref$
|
|
166
|
-
|
|
196
|
+
_ref$notificationTogg = _ref.notificationToggleLabel,
|
|
197
|
+
notificationToggleLabel = _ref$notificationTogg === void 0 ? "" : _ref$notificationTogg,
|
|
198
|
+
_ref$breadcrumbs = _ref.breadcrumbs,
|
|
199
|
+
breadcrumbs = _ref$breadcrumbs === void 0 ? [] : _ref$breadcrumbs,
|
|
200
|
+
_ref$helpPopoverProps = _ref.helpPopoverProps,
|
|
201
|
+
helpPopoverProps = _ref$helpPopoverProps === void 0 ? {} : _ref$helpPopoverProps,
|
|
167
202
|
_ref$tooltipProps = _ref.tooltipProps,
|
|
168
203
|
tooltipProps = _ref$tooltipProps === void 0 ? {} : _ref$tooltipProps,
|
|
169
|
-
_ref$
|
|
170
|
-
|
|
204
|
+
_ref$disabled = _ref.disabled,
|
|
205
|
+
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
206
|
+
_ref$fieldsVisibility = _ref.fieldsVisibility,
|
|
207
|
+
fieldsVisibility = _ref$fieldsVisibility === void 0 ? {} : _ref$fieldsVisibility,
|
|
171
208
|
_ref$blockNavigation = _ref.blockNavigation,
|
|
172
209
|
blockNavigation = _ref$blockNavigation === void 0 ? false : _ref$blockNavigation,
|
|
173
|
-
_ref$
|
|
174
|
-
|
|
175
|
-
children = _ref.children
|
|
176
|
-
|
|
177
|
-
helpPopoverProps = _ref$helpPopoverProps === void 0 ? {} : _ref$helpPopoverProps;
|
|
210
|
+
_ref$onSuccess = _ref.onSuccess,
|
|
211
|
+
onSuccess = _ref$onSuccess === void 0 ? noop : _ref$onSuccess,
|
|
212
|
+
children = _ref.children;
|
|
213
|
+
var editorRef = useRef();
|
|
178
214
|
var _useTranslation = useTranslation(),
|
|
179
215
|
t = _useTranslation.t;
|
|
180
216
|
var _useFetchEmailNotific = useFetchEmailNotifications(emailNotificationParams),
|
|
@@ -184,10 +220,14 @@ var NeetoEmailNotificationForm = function NeetoEmailNotificationForm(_ref) {
|
|
|
184
220
|
var _useUpdateEmailNotifi = useUpdateEmailNotification(),
|
|
185
221
|
updateEmailNotification = _useUpdateEmailNotifi.mutate,
|
|
186
222
|
isSubmitting = _useUpdateEmailNotifi.isPending;
|
|
223
|
+
var _useResetEmailNotific = useResetEmailNotificationToDefault(),
|
|
224
|
+
resetToDefault = _useResetEmailNotific.mutate,
|
|
225
|
+
isResetting = _useResetEmailNotific.isPending;
|
|
187
226
|
var handleSubmit = function handleSubmit(values) {
|
|
188
227
|
var _emailFormProps$reply;
|
|
228
|
+
var isDisabledByUser = data.isEnabled && !values.isEnabled;
|
|
189
229
|
var isReplyToDropdownField = (emailFormProps === null || emailFormProps === void 0 || (_emailFormProps$reply = emailFormProps.replyToFieldProps) === null || _emailFormProps$reply === void 0 ? void 0 : _emailFormProps$reply.options) !== undefined;
|
|
190
|
-
var body = mergeDeepLeft(packEmailPayload(values, isReplyToDropdownField), emailNotificationParams);
|
|
230
|
+
var body = mergeDeepLeft(packEmailPayload(values, isReplyToDropdownField, isDisabledByUser), emailNotificationParams);
|
|
191
231
|
updateEmailNotification(body, {
|
|
192
232
|
onSuccess: onSuccess
|
|
193
233
|
});
|
|
@@ -198,52 +238,52 @@ var NeetoEmailNotificationForm = function NeetoEmailNotificationForm(_ref) {
|
|
|
198
238
|
children: /*#__PURE__*/jsx(Spinner, {})
|
|
199
239
|
});
|
|
200
240
|
}
|
|
241
|
+
var newDefaultAttributes = generateDefaultValues(data);
|
|
242
|
+
var defaultValues = parseEmailNotificationData(newDefaultAttributes, emailFormProps === null || emailFormProps === void 0 || (_emailFormProps$sendT = emailFormProps.sendToFieldProps) === null || _emailFormProps$sendT === void 0 ? void 0 : _emailFormProps$sendT.options);
|
|
243
|
+
defaultValues.defaultAttributes = data.defaultAttributes;
|
|
201
244
|
var formattedTitle = renderText(title, t("neetoEmailNotifications.emailNotification.title"));
|
|
202
|
-
var
|
|
245
|
+
var formattedNotificationToggleLabel = renderText(notificationToggleLabel, t("neetoEmailNotifications.emailNotification.notificationToggleLabel"));
|
|
203
246
|
var customValidationSchema = emailFormikProps.validationSchema,
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
247
|
+
formikProps = _objectWithoutProperties(emailFormikProps, _excluded);
|
|
248
|
+
var handleResetToDefault = function handleResetToDefault() {
|
|
249
|
+
resetToDefault(emailNotificationParams, {
|
|
250
|
+
onSuccess: function onSuccess(_ref2) {
|
|
251
|
+
var _editorRef$current;
|
|
252
|
+
var emailNotification = _ref2.emailNotification;
|
|
253
|
+
return editorRef === null || editorRef === void 0 || (_editorRef$current = editorRef.current) === null || _editorRef$current === void 0 || (_editorRef$current = _editorRef$current.editor) === null || _editorRef$current === void 0 || (_editorRef$current = _editorRef$current.commands) === null || _editorRef$current === void 0 ? void 0 : _editorRef$current.setContent(emailNotification.message);
|
|
254
|
+
}
|
|
255
|
+
});
|
|
256
|
+
};
|
|
213
257
|
return /*#__PURE__*/jsx("div", {
|
|
214
258
|
className: "min-w-0 flex-grow overflow-y-auto",
|
|
215
|
-
children: /*#__PURE__*/jsx(
|
|
259
|
+
children: /*#__PURE__*/jsx(EmailForm, _objectSpread(_objectSpread({}, _objectSpread({
|
|
216
260
|
blockNavigation: blockNavigation,
|
|
217
261
|
emailPreviewProps: emailPreviewProps,
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
showSendToAsRadio: showSendToAsRadio,
|
|
222
|
-
tooltipProps: tooltipProps,
|
|
223
|
-
showSendToField: true,
|
|
224
|
-
emailFormProps: _objectSpread({
|
|
225
|
-
showSendToField: true
|
|
226
|
-
}, emailFormProps),
|
|
262
|
+
formikProps: formikProps,
|
|
263
|
+
tooltipProps: tooltipProps
|
|
264
|
+
}, mergeLeft(fieldsVisibility, DEFAULT_FIELDS_VISIBILITY))), {}, {
|
|
227
265
|
isLoading: isSubmitting,
|
|
228
266
|
validationSchema: customValidationSchema || FORM_VALIDATION_SCHEMA,
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
267
|
+
emailFormProps: _objectSpread({
|
|
268
|
+
editorRef: editorRef,
|
|
269
|
+
handleResetToDefault: handleResetToDefault,
|
|
270
|
+
isResetting: isResetting,
|
|
271
|
+
defaultValues: defaultValues
|
|
272
|
+
}, emailFormProps),
|
|
233
273
|
headerProps: {
|
|
234
274
|
title: formattedTitle,
|
|
235
275
|
titleHelpPopoverProps: helpPopoverProps,
|
|
236
276
|
breadcrumbs: breadcrumbs
|
|
237
277
|
},
|
|
238
|
-
initialValues: parseEmailNotificationData(data,
|
|
278
|
+
initialValues: parseEmailNotificationData(data, emailFormProps === null || emailFormProps === void 0 || (_emailFormProps$sendT2 = emailFormProps.sendToFieldProps) === null || _emailFormProps$sendT2 === void 0 ? void 0 : _emailFormProps$sendT2.options),
|
|
239
279
|
switchProps: {
|
|
240
|
-
label:
|
|
280
|
+
label: formattedNotificationToggleLabel,
|
|
241
281
|
disabled: disabled,
|
|
242
282
|
"data-cy": "receive-email-notification-switch"
|
|
243
283
|
},
|
|
244
284
|
onSubmit: handleSubmit,
|
|
245
285
|
children: children
|
|
246
|
-
})
|
|
286
|
+
}))
|
|
247
287
|
});
|
|
248
288
|
};
|
|
249
289
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NeetoEmailNotificationForm.js","sources":["../app/javascript/src/constants/index.js","../app/javascript/src/apis/email_notifications.js","../app/javascript/src/constants/query.js","../app/javascript/src/hooks/reactQuery/emailNotificationApi.js","../app/javascript/src/components/EmailNotificationForm/constants.js","../app/javascript/src/components/EmailNotificationForm/utils.js","../app/javascript/src/components/EmailNotificationForm/index.jsx"],"sourcesContent":["export const EMAIL_NOTIFICATIONS_URL =\n \"neeto_email_notifications/email_notification\";\n","import axios from \"axios\";\n\nimport { EMAIL_NOTIFICATIONS_URL } from \"src/constants\";\n\nconst fetch = params => axios.get(EMAIL_NOTIFICATIONS_URL, { params });\n\nconst update = payload => axios.put(EMAIL_NOTIFICATIONS_URL, payload);\n\nconst emailNotificationsApi = { fetch, update };\n\nexport default emailNotificationsApi;\n","export const QUERY_KEYS = {\n NEETO_EMAIL_NOTIFICATIONS: \"neeto-email-notifications\",\n};\n","import { useQuery } from \"@tanstack/react-query\";\nimport { isNotEmpty } from \"neetocist\";\nimport { DEFAULT_STALE_TIME } from \"neetocommons/constants\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\nimport { prop } from \"ramda\";\n\nimport emailNotificationsApi from \"src/apis/email_notifications\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nexport const useFetchEmailNotifications = params =>\n useQuery({\n queryKey: [\n QUERY_KEYS.NEETO_EMAIL_NOTIFICATIONS,\n params[\"notificationHolderId\"],\n params[\"customFields\"],\n ],\n queryFn: () => emailNotificationsApi.fetch(params),\n staleTime: DEFAULT_STALE_TIME,\n select: prop(\"emailNotification\"),\n enabled: isNotEmpty(params),\n });\n\nexport const useUpdateEmailNotification = () =>\n useMutationWithInvalidation(params => emailNotificationsApi.update(params), {\n keysToInvalidate: [\n (_, { notificationHolderId }) => [\n QUERY_KEYS.NEETO_EMAIL_NOTIFICATIONS,\n notificationHolderId,\n ],\n ],\n });\n","import * as yup from \"yup\";\n\nexport const FORM_VALIDATION_SCHEMA = { isEnabled: yup.boolean() };\n","import { isNotEmpty } from \"neetocist\";\nimport { isEmpty, mergeLeft, prop } from \"ramda\";\nimport { string } from \"yup\";\n\nconst isValidEmail = email => string().email().isValidSync(email);\n\nconst createEmailOptions = (emails = []) =>\n emails.map(email => ({\n label: email,\n value: email,\n valid: isValidEmail(email),\n }));\n\nexport const parseEmailsOptions = (emailOptions = []) =>\n emailOptions.map(prop(\"label\"));\n\nexport const parseEmailNotificationData = (data, sendToOptions) => {\n const {\n notifyEmails,\n notifyCcEmails,\n notifyBccEmails,\n replyToId,\n customFields,\n ...rest\n } = data;\n\n const parsed = { ...customFields, ...rest };\n parsed.sendTo = notifyEmails ? createEmailOptions(notifyEmails) : [];\n parsed.sendToCc = notifyCcEmails ? createEmailOptions(notifyCcEmails) : [];\n parsed.sendToBcc = notifyCcEmails ? createEmailOptions(notifyBccEmails) : [];\n parsed.replyTo = replyToId || customFields[\"replyTo\"];\n parsed.sendToId = customFields[\"sendToId\"] || sendToOptions?.[0]?.value || \"\";\n parsed.showCopyEmails = !!(notifyCcEmails?.length || notifyBccEmails?.length);\n\n return parsed;\n};\n\nexport const packEmailPayload = (values, isReplyToDropdownField) => {\n const {\n // eslint-disable-next-line no-unused-vars\n id: _,\n isEnabled,\n sendTo,\n sendToCc,\n sendToBcc,\n showCopyEmails,\n replyTo,\n message,\n subject,\n sendFrom,\n disabledByUser,\n sendToId,\n ...rest\n } = values;\n let payload = { isEnabled };\n\n if (isEnabled) {\n payload = { ...payload };\n payload.notifyEmails = parseEmailsOptions(sendTo);\n payload.notifyBccEmails = showCopyEmails\n ? parseEmailsOptions(sendToBcc)\n : [];\n\n payload.notifyCcEmails = showCopyEmails ? parseEmailsOptions(sendToCc) : [];\n if (isReplyToDropdownField) {\n payload.replyToId = replyTo;\n } else {\n rest.replyTo = replyTo;\n }\n payload.message = message;\n payload.subject = subject;\n payload.customFields = { ...rest, disabledByUser: false };\n\n if (isNotEmpty(sendToId)) {\n payload.customFields = mergeLeft(payload.customFields, { sendToId });\n }\n payload.sendFrom = sendFrom;\n } else {\n payload.customFields = { disabledByUser };\n }\n\n return payload;\n};\n\nexport const renderText = (text, fallbackTranslation) =>\n isEmpty(text) ? fallbackTranslation : text;\n","import { isNotPresent, noop } from \"neetocist\";\nimport EmailFormComponent from \"neetomolecules/EmailForm\";\nimport { Spinner } from \"neetoui\";\nimport { mergeDeepLeft } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n useFetchEmailNotifications,\n useUpdateEmailNotification,\n} from \"src/hooks/reactQuery/emailNotificationApi\";\n\nimport { FORM_VALIDATION_SCHEMA } from \"./constants\";\nimport {\n packEmailPayload,\n parseEmailNotificationData,\n renderText,\n} from \"./utils\";\n\nconst NeetoEmailNotificationForm = ({\n emailNotificationParams = {},\n emailPreviewProps = {},\n emailFormProps = {},\n emailFormikProps = {},\n title = \"\",\n subTitle = \"\",\n disabled = false,\n tooltipProps = {},\n onSuccess = noop,\n blockNavigation = false,\n breadcrumbs = [],\n children,\n helpPopoverProps = {},\n}) => {\n const { t } = useTranslation();\n\n const { data = {}, isLoading } = useFetchEmailNotifications(\n emailNotificationParams\n );\n\n const { mutate: updateEmailNotification, isPending: isSubmitting } =\n useUpdateEmailNotification();\n\n const handleSubmit = values => {\n const isReplyToDropdownField =\n emailFormProps?.replyToFieldProps?.options !== undefined;\n\n const body = mergeDeepLeft(\n packEmailPayload(values, isReplyToDropdownField),\n emailNotificationParams\n );\n updateEmailNotification(body, { onSuccess });\n };\n\n if (isLoading || isNotPresent(data)) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n const formattedTitle = renderText(\n title,\n t(\"neetoEmailNotifications.emailNotification.title\")\n );\n\n const formattedSubTitle = renderText(\n subTitle,\n t(\"neetoEmailNotifications.emailNotification.subTitle\")\n );\n\n const {\n validationSchema: customValidationSchema,\n showReplyToField = false,\n showSendToAsRadio = false,\n showCcField = false,\n showBccField = false,\n ...pureFormikProps\n } = emailFormikProps;\n\n return (\n <div className=\"min-w-0 flex-grow overflow-y-auto\">\n <EmailFormComponent\n {...{\n blockNavigation,\n emailPreviewProps,\n showBccField,\n showCcField,\n showReplyToField,\n showSendToAsRadio,\n tooltipProps,\n }}\n showSendToField\n emailFormProps={{ showSendToField: true, ...emailFormProps }}\n isLoading={isSubmitting}\n validationSchema={customValidationSchema || FORM_VALIDATION_SCHEMA}\n formikProps={{\n validateOnBlur: true,\n validateOnChange: true,\n ...pureFormikProps,\n }}\n headerProps={{\n title: formattedTitle,\n titleHelpPopoverProps: helpPopoverProps,\n breadcrumbs,\n }}\n initialValues={parseEmailNotificationData(\n data,\n emailFormProps?.sendToFieldProps?.options ||\n emailFormProps?.sendToOptions\n )}\n switchProps={{\n label: formattedSubTitle,\n disabled,\n \"data-cy\": \"receive-email-notification-switch\",\n }}\n onSubmit={handleSubmit}\n >\n {children}\n </EmailFormComponent>\n </div>\n );\n};\n\nexport default NeetoEmailNotificationForm;\n"],"names":["EMAIL_NOTIFICATIONS_URL","fetch","params","axios","get","update","payload","put","emailNotificationsApi","QUERY_KEYS","NEETO_EMAIL_NOTIFICATIONS","useFetchEmailNotifications","useQuery","queryKey","queryFn","staleTime","DEFAULT_STALE_TIME","select","prop","enabled","isNotEmpty","useUpdateEmailNotification","useMutationWithInvalidation","keysToInvalidate","_","_ref","notificationHolderId","FORM_VALIDATION_SCHEMA","isEnabled","yup","isValidEmail","email","string","isValidSync","createEmailOptions","emails","arguments","length","undefined","map","label","value","valid","parseEmailsOptions","emailOptions","parseEmailNotificationData","data","sendToOptions","_sendToOptions$","notifyEmails","notifyCcEmails","notifyBccEmails","replyToId","customFields","rest","_objectWithoutProperties","_excluded","parsed","_objectSpread","sendTo","sendToCc","sendToBcc","replyTo","sendToId","showCopyEmails","packEmailPayload","values","isReplyToDropdownField","id","message","subject","sendFrom","disabledByUser","_excluded2","mergeLeft","renderText","text","fallbackTranslation","isEmpty","NeetoEmailNotificationForm","_emailFormProps$sendT","_ref$emailNotificatio","emailNotificationParams","_ref$emailPreviewProp","emailPreviewProps","_ref$emailFormProps","emailFormProps","_ref$emailFormikProps","emailFormikProps","_ref$title","title","_ref$subTitle","subTitle","_ref$disabled","disabled","_ref$tooltipProps","tooltipProps","_ref$onSuccess","onSuccess","noop","_ref$blockNavigation","blockNavigation","_ref$breadcrumbs","breadcrumbs","children","_ref$helpPopoverProps","helpPopoverProps","_useTranslation","useTranslation","t","_useFetchEmailNotific","_useFetchEmailNotific2","isLoading","_useUpdateEmailNotifi","updateEmailNotification","mutate","isSubmitting","isPending","handleSubmit","_emailFormProps$reply","replyToFieldProps","options","body","mergeDeepLeft","isNotPresent","_jsx","className","Spinner","formattedTitle","formattedSubTitle","customValidationSchema","validationSchema","_emailFormikProps$sho","showReplyToField","_emailFormikProps$sho2","showSendToAsRadio","_emailFormikProps$sho3","showCcField","_emailFormikProps$sho4","showBccField","pureFormikProps","EmailFormComponent","showSendToField","formikProps","validateOnBlur","validateOnChange","headerProps","titleHelpPopoverProps","initialValues","sendToFieldProps","switchProps","onSubmit"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"NeetoEmailNotificationForm.js","sources":["../app/javascript/src/constants/index.js","../app/javascript/src/apis/email_notifications.js","../app/javascript/src/constants/query.js","../app/javascript/src/hooks/reactQuery/emailNotificationApi.js","../app/javascript/src/components/EmailNotificationForm/constants.js","../app/javascript/src/components/EmailNotificationForm/utils.js","../app/javascript/src/components/EmailNotificationForm/index.jsx"],"sourcesContent":["export const EMAIL_NOTIFICATIONS_BASE_URL =\n \"neeto_email_notifications/email_notification\";\n\nexport const RESET_EMAIL_NOTIFICATIONS_TO_DEFAULT_URL = `${EMAIL_NOTIFICATIONS_BASE_URL}/reset_to_default`;\n","import axios from \"axios\";\n\nimport {\n RESET_EMAIL_NOTIFICATIONS_TO_DEFAULT_URL,\n EMAIL_NOTIFICATIONS_BASE_URL,\n} from \"src/constants\";\n\nconst fetch = params => axios.get(EMAIL_NOTIFICATIONS_BASE_URL, { params });\n\nconst update = payload => axios.put(EMAIL_NOTIFICATIONS_BASE_URL, payload);\n\nconst resetToDefault = params =>\n axios.post(RESET_EMAIL_NOTIFICATIONS_TO_DEFAULT_URL, params);\n\nconst emailNotificationsApi = { fetch, update, resetToDefault };\n\nexport default emailNotificationsApi;\n","export const QUERY_KEYS = {\n NEETO_EMAIL_NOTIFICATIONS: \"neeto-email-notifications\",\n};\n","import { useQuery } from \"@tanstack/react-query\";\nimport { isNotEmpty } from \"neetocist\";\nimport { DEFAULT_STALE_TIME } from \"neetocommons/constants\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\nimport { prop } from \"ramda\";\n\nimport emailNotificationsApi from \"src/apis/email_notifications\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nexport const useFetchEmailNotifications = params =>\n useQuery({\n queryKey: [\n QUERY_KEYS.NEETO_EMAIL_NOTIFICATIONS,\n params[\"notificationHolderId\"],\n params[\"customFields\"],\n ],\n queryFn: () => emailNotificationsApi.fetch(params),\n staleTime: DEFAULT_STALE_TIME,\n select: prop(\"emailNotification\"),\n enabled: isNotEmpty(params),\n });\n\nexport const useUpdateEmailNotification = () =>\n useMutationWithInvalidation(params => emailNotificationsApi.update(params), {\n keysToInvalidate: [\n (_, { notificationHolderId }) => [\n QUERY_KEYS.NEETO_EMAIL_NOTIFICATIONS,\n notificationHolderId,\n ],\n ],\n });\n\nexport const useResetEmailNotificationToDefault = () =>\n useMutationWithInvalidation(emailNotificationsApi.resetToDefault, {\n keysToInvalidate: [\n (_, { notificationHolderId, customFields }) => [\n QUERY_KEYS.NEETO_EMAIL_NOTIFICATIONS,\n notificationHolderId,\n customFields,\n ],\n ],\n });\n","import * as yup from \"yup\";\n\nexport const FORM_VALIDATION_SCHEMA = { isEnabled: yup.boolean() };\n\nexport const DEFAULT_FIELDS_VISIBILITY = {\n showSendToField: true,\n showReplyToField: false,\n showSendToAsRadio: false,\n showBccField: false,\n showCcField: false,\n};\n","import { isNotEmpty } from \"neetocist\";\nimport { isEmpty, mergeLeft, prop, pick } from \"ramda\";\nimport { string } from \"yup\";\n\nconst isValidEmail = email => string().email().isValidSync(email);\n\nconst createEmailOptions = (emails = []) =>\n emails.map(email => ({\n label: email,\n value: email,\n valid: isValidEmail(email),\n }));\n\nexport const parseEmailsOptions = (emailOptions = []) =>\n emailOptions.map(prop(\"label\"));\n\nexport const parseEmailNotificationData = (data, sendToOptions) => {\n const {\n notifyEmails,\n notifyCcEmails,\n notifyBccEmails,\n replyToId,\n customFields,\n ...rest\n } = data;\n\n const parsed = { ...customFields, ...rest };\n parsed.sendTo = notifyEmails ? createEmailOptions(notifyEmails) : [];\n parsed.sendToCc = notifyCcEmails ? createEmailOptions(notifyCcEmails) : [];\n parsed.sendToBcc = notifyCcEmails ? createEmailOptions(notifyBccEmails) : [];\n parsed.replyTo = replyToId || customFields[\"replyTo\"];\n parsed.sendToId = customFields[\"sendToId\"] || sendToOptions?.[0]?.value || \"\";\n parsed.showCopyEmails = !!(notifyCcEmails?.length || notifyBccEmails?.length);\n\n return parsed;\n};\n\nexport const packEmailPayload = (\n values,\n isReplyToDropdownField,\n isDisabledByUser\n) => {\n const {\n // eslint-disable-next-line no-unused-vars\n id: _,\n isEnabled,\n sendTo,\n sendToCc,\n sendToBcc,\n showCopyEmails,\n replyTo,\n message,\n subject,\n sendFrom,\n sendToId,\n ...rest\n } = values;\n let payload = { isEnabled };\n\n if (isEnabled) {\n payload = { ...payload };\n payload.notifyEmails = parseEmailsOptions(sendTo);\n payload.notifyBccEmails = showCopyEmails\n ? parseEmailsOptions(sendToBcc)\n : [];\n\n payload.notifyCcEmails = showCopyEmails ? parseEmailsOptions(sendToCc) : [];\n if (isReplyToDropdownField) {\n payload.replyToId = replyTo;\n } else {\n rest.replyTo = replyTo;\n }\n payload.message = message;\n payload.subject = subject;\n payload.customFields = { ...rest, disabledByUser: false };\n\n if (isNotEmpty(sendToId)) {\n payload.customFields = mergeLeft(payload.customFields, { sendToId });\n }\n payload.sendFrom = sendFrom;\n } else {\n payload.customFields = { disabledByUser: isDisabledByUser };\n }\n\n return payload;\n};\n\nexport const renderText = (text, fallbackTranslation) =>\n isEmpty(text) ? fallbackTranslation : text;\n\nexport const generateDefaultValues = data => {\n if (!data?.defaultAttributes) {\n return null;\n }\n\n const currentDataFields = [\n \"id\",\n \"customFields\",\n \"notifyCcEmails\",\n \"notifyBccEmails\",\n \"replyToId\",\n ];\n\n const currentDataOverlay = pick(currentDataFields, data);\n\n const normalizedDefaults = {\n ...data.defaultAttributes,\n message:\n data.defaultAttributes.message?.replaceAll?.(\"<br />\", \"<br>\") ||\n data.defaultAttributes.message,\n };\n\n return mergeLeft(currentDataOverlay, normalizedDefaults);\n};\n","import { useRef } from \"react\";\n\nimport { isNotPresent, noop } from \"neetocist\";\nimport EmailForm from \"neetomolecules/EmailForm\";\nimport { Spinner } from \"neetoui\";\nimport { mergeDeepLeft, mergeLeft } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n useFetchEmailNotifications,\n useUpdateEmailNotification,\n useResetEmailNotificationToDefault,\n} from \"src/hooks/reactQuery/emailNotificationApi\";\n\nimport { DEFAULT_FIELDS_VISIBILITY, FORM_VALIDATION_SCHEMA } from \"./constants\";\nimport {\n packEmailPayload,\n parseEmailNotificationData,\n renderText,\n generateDefaultValues,\n} from \"./utils\";\n\nconst NeetoEmailNotificationForm = ({\n emailNotificationParams = {},\n emailPreviewProps = {},\n emailFormProps = {},\n emailFormikProps = {},\n title = \"\",\n notificationToggleLabel = \"\",\n breadcrumbs = [],\n helpPopoverProps = {},\n tooltipProps = {},\n disabled = false,\n fieldsVisibility = {},\n blockNavigation = false,\n onSuccess = noop,\n children,\n}) => {\n const editorRef = useRef();\n\n const { t } = useTranslation();\n\n const { data = {}, isLoading } = useFetchEmailNotifications(\n emailNotificationParams\n );\n\n const { mutate: updateEmailNotification, isPending: isSubmitting } =\n useUpdateEmailNotification();\n\n const { mutate: resetToDefault, isPending: isResetting } =\n useResetEmailNotificationToDefault();\n\n const handleSubmit = values => {\n const isDisabledByUser = data.isEnabled && !values.isEnabled;\n const isReplyToDropdownField =\n emailFormProps?.replyToFieldProps?.options !== undefined;\n\n const body = mergeDeepLeft(\n packEmailPayload(values, isReplyToDropdownField, isDisabledByUser),\n emailNotificationParams\n );\n updateEmailNotification(body, { onSuccess });\n };\n\n if (isLoading || isNotPresent(data)) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n const newDefaultAttributes = generateDefaultValues(data);\n\n const defaultValues = parseEmailNotificationData(\n newDefaultAttributes,\n emailFormProps?.sendToFieldProps?.options\n );\n\n defaultValues.defaultAttributes = data.defaultAttributes;\n\n const formattedTitle = renderText(\n title,\n t(\"neetoEmailNotifications.emailNotification.title\")\n );\n\n const formattedNotificationToggleLabel = renderText(\n notificationToggleLabel,\n t(\"neetoEmailNotifications.emailNotification.notificationToggleLabel\")\n );\n\n const { validationSchema: customValidationSchema, ...formikProps } =\n emailFormikProps;\n\n const handleResetToDefault = () => {\n resetToDefault(emailNotificationParams, {\n onSuccess: ({ emailNotification }) =>\n editorRef?.current?.editor?.commands?.setContent(\n emailNotification.message\n ),\n });\n };\n\n return (\n <div className=\"min-w-0 flex-grow overflow-y-auto\">\n <EmailForm\n {...{\n blockNavigation,\n emailPreviewProps,\n formikProps,\n tooltipProps,\n ...mergeLeft(fieldsVisibility, DEFAULT_FIELDS_VISIBILITY),\n }}\n isLoading={isSubmitting}\n validationSchema={customValidationSchema || FORM_VALIDATION_SCHEMA}\n emailFormProps={{\n editorRef,\n handleResetToDefault,\n isResetting,\n defaultValues,\n ...emailFormProps,\n }}\n headerProps={{\n title: formattedTitle,\n titleHelpPopoverProps: helpPopoverProps,\n breadcrumbs,\n }}\n initialValues={parseEmailNotificationData(\n data,\n emailFormProps?.sendToFieldProps?.options\n )}\n switchProps={{\n label: formattedNotificationToggleLabel,\n disabled,\n \"data-cy\": \"receive-email-notification-switch\",\n }}\n onSubmit={handleSubmit}\n >\n {children}\n </EmailForm>\n </div>\n );\n};\n\nexport default NeetoEmailNotificationForm;\n"],"names":["EMAIL_NOTIFICATIONS_BASE_URL","RESET_EMAIL_NOTIFICATIONS_TO_DEFAULT_URL","concat","fetch","params","axios","get","update","payload","put","resetToDefault","post","emailNotificationsApi","QUERY_KEYS","NEETO_EMAIL_NOTIFICATIONS","useFetchEmailNotifications","useQuery","queryKey","queryFn","staleTime","DEFAULT_STALE_TIME","select","prop","enabled","isNotEmpty","useUpdateEmailNotification","useMutationWithInvalidation","keysToInvalidate","_","_ref","notificationHolderId","useResetEmailNotificationToDefault","_ref2","customFields","FORM_VALIDATION_SCHEMA","isEnabled","yup","DEFAULT_FIELDS_VISIBILITY","showSendToField","showReplyToField","showSendToAsRadio","showBccField","showCcField","isValidEmail","email","string","isValidSync","createEmailOptions","emails","arguments","length","undefined","map","label","value","valid","parseEmailsOptions","emailOptions","parseEmailNotificationData","data","sendToOptions","_sendToOptions$","notifyEmails","notifyCcEmails","notifyBccEmails","replyToId","rest","_objectWithoutProperties","_excluded","parsed","_objectSpread","sendTo","sendToCc","sendToBcc","replyTo","sendToId","showCopyEmails","packEmailPayload","values","isReplyToDropdownField","isDisabledByUser","id","message","subject","sendFrom","_excluded2","disabledByUser","mergeLeft","renderText","text","fallbackTranslation","isEmpty","generateDefaultValues","_data$defaultAttribut","_data$defaultAttribut2","defaultAttributes","currentDataFields","currentDataOverlay","pick","normalizedDefaults","replaceAll","call","NeetoEmailNotificationForm","_emailFormProps$sendT","_emailFormProps$sendT2","_ref$emailNotificatio","emailNotificationParams","_ref$emailPreviewProp","emailPreviewProps","_ref$emailFormProps","emailFormProps","_ref$emailFormikProps","emailFormikProps","_ref$title","title","_ref$notificationTogg","notificationToggleLabel","_ref$breadcrumbs","breadcrumbs","_ref$helpPopoverProps","helpPopoverProps","_ref$tooltipProps","tooltipProps","_ref$disabled","disabled","_ref$fieldsVisibility","fieldsVisibility","_ref$blockNavigation","blockNavigation","_ref$onSuccess","onSuccess","noop","children","editorRef","useRef","_useTranslation","useTranslation","t","_useFetchEmailNotific","_useFetchEmailNotific2","isLoading","_useUpdateEmailNotifi","updateEmailNotification","mutate","isSubmitting","isPending","_useResetEmailNotific","isResetting","handleSubmit","_emailFormProps$reply","replyToFieldProps","options","body","mergeDeepLeft","isNotPresent","_jsx","className","Spinner","newDefaultAttributes","defaultValues","sendToFieldProps","formattedTitle","formattedNotificationToggleLabel","customValidationSchema","validationSchema","formikProps","handleResetToDefault","_editorRef$current","emailNotification","current","editor","commands","setContent","EmailForm","headerProps","titleHelpPopoverProps","initialValues","switchProps","onSubmit"],"mappings":"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"}
|