@bigbinary/neeto-email-notifications-frontend 2.2.9 → 2.2.11

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.
@@ -0,0 +1,303 @@
1
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
+ import classNames from 'classnames';
3
+ import { isNotEmpty, isNotPresent, noop } from '@bigbinary/neeto-cist';
4
+ import Breadcrumbs from '@bigbinary/neeto-molecules/Breadcrumbs';
5
+ import { EmailFormProvider, EmailForm, EmailPreview } from '@bigbinary/neeto-molecules/EmailForm';
6
+ import MobilePreviewHeader from '@bigbinary/neeto-molecules/MobilePreviewHeader';
7
+ import Spinner from '@bigbinary/neetoui/Spinner';
8
+ import Tooltip from '@bigbinary/neetoui/Tooltip';
9
+ import Typography from '@bigbinary/neetoui/Typography';
10
+ import BlockNavigation from '@bigbinary/neetoui/formik/BlockNavigation';
11
+ import Switch from '@bigbinary/neetoui/formik/Switch';
12
+ import { prop, mergeLeft, isEmpty, mergeDeepLeft, pluck } from 'ramda';
13
+ import { useTranslation } from 'react-i18next';
14
+ import { useQuery } from '@tanstack/react-query';
15
+ import { DEFAULT_STALE_TIME } from '@bigbinary/neeto-commons-frontend/constants';
16
+ import { useMutationWithInvalidation } from '@bigbinary/neeto-commons-frontend/react-utils';
17
+ import axios from 'axios';
18
+ import * as yup from 'yup';
19
+ import { string } from 'yup';
20
+ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
21
+ import { jsx, jsxs } from 'react/jsx-runtime';
22
+
23
+ var EMAIL_NOTIFICATIONS_URL = "neeto_email_notifications/email_notification";
24
+
25
+ var fetch = function fetch(params) {
26
+ return axios.get(EMAIL_NOTIFICATIONS_URL, {
27
+ params: params
28
+ });
29
+ };
30
+ var update = function update(payload) {
31
+ return axios.put(EMAIL_NOTIFICATIONS_URL, payload);
32
+ };
33
+ var emailNotificationsApi = {
34
+ fetch: fetch,
35
+ update: update
36
+ };
37
+
38
+ var QUERY_KEYS = {
39
+ NEETO_EMAIL_NOTIFICATIONS: "neeto-email-notifications"
40
+ };
41
+
42
+ var useFetchEmailNotifications = function useFetchEmailNotifications(params) {
43
+ return useQuery({
44
+ queryKey: [QUERY_KEYS.NEETO_EMAIL_NOTIFICATIONS, params["notificationHolderId"], params["customFields"]],
45
+ queryFn: function queryFn() {
46
+ return emailNotificationsApi.fetch(params);
47
+ },
48
+ staleTime: DEFAULT_STALE_TIME,
49
+ select: prop("emailNotification"),
50
+ enabled: isNotEmpty(params)
51
+ });
52
+ };
53
+ var useUpdateEmailNotification = function useUpdateEmailNotification() {
54
+ return useMutationWithInvalidation(function (params) {
55
+ return emailNotificationsApi.update(params);
56
+ }, {
57
+ keysToInvalidate: [function (_, _ref) {
58
+ var notificationHolderId = _ref.notificationHolderId;
59
+ return [QUERY_KEYS.NEETO_EMAIL_NOTIFICATIONS, notificationHolderId];
60
+ }]
61
+ });
62
+ };
63
+
64
+ var FORM_VALIDATION_SCHEMA = {
65
+ isEnabled: yup["boolean"]()
66
+ };
67
+
68
+ var _excluded = ["notifyEmails", "notifyCcEmails", "notifyBccEmails", "replyToId", "customFields"],
69
+ _excluded2 = ["id", "isEnabled", "sendTo", "sendToCc", "sendToBcc", "showCopyEmails", "replyTo", "message", "subject", "sendFrom", "disabledByUser", "sendToId"];
70
+ 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; }
71
+ 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; }
72
+ var isValidEmail = function isValidEmail(email) {
73
+ return string().email().isValidSync(email);
74
+ };
75
+ var createEmailOptions = function createEmailOptions() {
76
+ var emails = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
77
+ return emails.map(function (email) {
78
+ return {
79
+ label: email,
80
+ value: email,
81
+ valid: isValidEmail(email)
82
+ };
83
+ });
84
+ };
85
+ var parseEmailsOptions = function parseEmailsOptions() {
86
+ var emailOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
87
+ return emailOptions.map(prop("label"));
88
+ };
89
+ var parseEmailNotificationData = function parseEmailNotificationData(data, sendToOptions) {
90
+ var _sendToOptions$;
91
+ var notifyEmails = data.notifyEmails,
92
+ notifyCcEmails = data.notifyCcEmails,
93
+ notifyBccEmails = data.notifyBccEmails,
94
+ replyToId = data.replyToId,
95
+ customFields = data.customFields,
96
+ rest = _objectWithoutProperties(data, _excluded);
97
+ var parsed = _objectSpread$1(_objectSpread$1({}, customFields), rest);
98
+ parsed.sendTo = notifyEmails ? createEmailOptions(notifyEmails) : [];
99
+ parsed.sendToCc = notifyCcEmails ? createEmailOptions(notifyCcEmails) : [];
100
+ parsed.sendToBcc = notifyCcEmails ? createEmailOptions(notifyBccEmails) : [];
101
+ parsed.replyTo = replyToId || customFields["replyTo"];
102
+ parsed.sendToId = customFields["sendToId"] || (sendToOptions === null || sendToOptions === void 0 || (_sendToOptions$ = sendToOptions[0]) === null || _sendToOptions$ === void 0 ? void 0 : _sendToOptions$.value) || "";
103
+ parsed.showCopyEmails = !!(notifyCcEmails !== null && notifyCcEmails !== void 0 && notifyCcEmails.length || notifyBccEmails !== null && notifyBccEmails !== void 0 && notifyBccEmails.length);
104
+ return parsed;
105
+ };
106
+ var packEmailPayload = function packEmailPayload(values, isReplyToDropdownField) {
107
+ values.id;
108
+ var isEnabled = values.isEnabled,
109
+ sendTo = values.sendTo,
110
+ sendToCc = values.sendToCc,
111
+ sendToBcc = values.sendToBcc,
112
+ showCopyEmails = values.showCopyEmails,
113
+ replyTo = values.replyTo,
114
+ message = values.message,
115
+ subject = values.subject,
116
+ sendFrom = values.sendFrom,
117
+ disabledByUser = values.disabledByUser,
118
+ sendToId = values.sendToId,
119
+ rest = _objectWithoutProperties(values, _excluded2);
120
+ var payload = {
121
+ isEnabled: isEnabled
122
+ };
123
+ if (isEnabled) {
124
+ payload = _objectSpread$1({}, payload);
125
+ payload.notifyEmails = parseEmailsOptions(sendTo);
126
+ payload.notifyBccEmails = showCopyEmails ? parseEmailsOptions(sendToBcc) : [];
127
+ payload.notifyCcEmails = showCopyEmails ? parseEmailsOptions(sendToCc) : [];
128
+ if (isReplyToDropdownField) {
129
+ payload.replyToId = replyTo;
130
+ } else {
131
+ rest.replyTo = replyTo;
132
+ }
133
+ payload.message = message;
134
+ payload.subject = subject;
135
+ payload.customFields = _objectSpread$1(_objectSpread$1({}, rest), {}, {
136
+ disabledByUser: false
137
+ });
138
+ if (isNotEmpty(sendToId)) {
139
+ payload.customFields = mergeLeft(payload.customFields, {
140
+ sendToId: sendToId
141
+ });
142
+ }
143
+ payload.sendFrom = sendFrom;
144
+ } else {
145
+ payload.customFields = {
146
+ disabledByUser: disabledByUser
147
+ };
148
+ }
149
+ return payload;
150
+ };
151
+ var renderText = function renderText(text, fallbackTranslation) {
152
+ return isEmpty(text) ? fallbackTranslation : text;
153
+ };
154
+
155
+ 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; }
156
+ 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; }
157
+ var NeetoEmailNotificationForm = function NeetoEmailNotificationForm(_ref) {
158
+ var _emailFormProps$sendT;
159
+ var _ref$emailNotificatio = _ref.emailNotificationParams,
160
+ emailNotificationParams = _ref$emailNotificatio === void 0 ? {} : _ref$emailNotificatio,
161
+ _ref$emailPreviewProp = _ref.emailPreviewProps,
162
+ emailPreviewProps = _ref$emailPreviewProp === void 0 ? {} : _ref$emailPreviewProp,
163
+ _ref$emailFormProps = _ref.emailFormProps,
164
+ emailFormProps = _ref$emailFormProps === void 0 ? {} : _ref$emailFormProps,
165
+ _ref$emailFormikProps = _ref.emailFormikProps,
166
+ emailFormikProps = _ref$emailFormikProps === void 0 ? {} : _ref$emailFormikProps,
167
+ _ref$title = _ref.title,
168
+ title = _ref$title === void 0 ? "" : _ref$title,
169
+ _ref$subTitle = _ref.subTitle,
170
+ subTitle = _ref$subTitle === void 0 ? "" : _ref$subTitle,
171
+ _ref$disabled = _ref.disabled,
172
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
173
+ _ref$tooltipProps = _ref.tooltipProps,
174
+ tooltipProps = _ref$tooltipProps === void 0 ? {} : _ref$tooltipProps,
175
+ _ref$onSuccess = _ref.onSuccess,
176
+ onSuccess = _ref$onSuccess === void 0 ? noop : _ref$onSuccess,
177
+ _ref$blockNavigation = _ref.blockNavigation,
178
+ blockNavigation = _ref$blockNavigation === void 0 ? false : _ref$blockNavigation,
179
+ _ref$breadcrumbs = _ref.breadcrumbs,
180
+ breadcrumbs = _ref$breadcrumbs === void 0 ? [] : _ref$breadcrumbs,
181
+ _children = _ref.children;
182
+ var _useTranslation = useTranslation(),
183
+ t = _useTranslation.t;
184
+ var _useFetchEmailNotific = useFetchEmailNotifications(emailNotificationParams),
185
+ _useFetchEmailNotific2 = _useFetchEmailNotific.data,
186
+ data = _useFetchEmailNotific2 === void 0 ? {} : _useFetchEmailNotific2,
187
+ isLoading = _useFetchEmailNotific.isLoading;
188
+ var _useUpdateEmailNotifi = useUpdateEmailNotification(),
189
+ updateEmailNotification = _useUpdateEmailNotifi.mutate,
190
+ isSubmitting = _useUpdateEmailNotifi.isPending;
191
+ var handleSubmit = function handleSubmit(values) {
192
+ var _emailFormProps$reply;
193
+ var isReplyToDropdownField = (emailFormProps === null || emailFormProps === void 0 || (_emailFormProps$reply = emailFormProps.replyToFieldProps) === null || _emailFormProps$reply === void 0 ? void 0 : _emailFormProps$reply.options) !== undefined;
194
+ var body = mergeDeepLeft(packEmailPayload(values, isReplyToDropdownField), emailNotificationParams);
195
+ updateEmailNotification(body, {
196
+ onSuccess: onSuccess
197
+ });
198
+ };
199
+ var handleSwitchChange = function handleSwitchChange(_ref2) {
200
+ var _event$target, _event$target2;
201
+ var event = _ref2.event,
202
+ values = _ref2.values,
203
+ setFieldValue = _ref2.setFieldValue;
204
+ if ((event === null || event === void 0 || (_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target.checked) === true) {
205
+ setFieldValue("isEnabled", true);
206
+ } else if ((event === null || event === void 0 || (_event$target2 = event.target) === null || _event$target2 === void 0 ? void 0 : _event$target2.checked) === false) {
207
+ if ((values === null || values === void 0 ? void 0 : values.isEnabled) === true) setFieldValue("disabledByUser", true);
208
+ setFieldValue("isEnabled", false);
209
+ }
210
+ };
211
+ if (isLoading || isNotPresent(data)) {
212
+ return /*#__PURE__*/jsx("div", {
213
+ className: "flex h-full w-full items-center justify-center",
214
+ children: /*#__PURE__*/jsx(Spinner, {})
215
+ });
216
+ }
217
+ return /*#__PURE__*/jsx("div", {
218
+ className: "min-w-0 flex-grow overflow-y-auto",
219
+ children: /*#__PURE__*/jsx(EmailFormProvider, _objectSpread(_objectSpread({
220
+ showSendToField: true,
221
+ formikProps: {
222
+ validateOnBlur: true,
223
+ validateOnChange: true
224
+ },
225
+ validationSchema: FORM_VALIDATION_SCHEMA,
226
+ initialValues: parseEmailNotificationData(data, (emailFormProps === null || emailFormProps === void 0 || (_emailFormProps$sendT = emailFormProps.sendToFieldProps) === null || _emailFormProps$sendT === void 0 ? void 0 : _emailFormProps$sendT.options) || (emailFormProps === null || emailFormProps === void 0 ? void 0 : emailFormProps.sendToOptions)),
227
+ onSubmit: handleSubmit
228
+ }, emailFormikProps), {}, {
229
+ children: function children(_ref3) {
230
+ var values = _ref3.values,
231
+ setFieldValue = _ref3.setFieldValue;
232
+ return /*#__PURE__*/jsxs("div", {
233
+ className: "nf-email-notification-wrapper flex h-full flex-grow flex-col lg:flex-row",
234
+ children: [/*#__PURE__*/jsxs("div", {
235
+ className: "flex w-full flex-col px-5 md:px-10 lg:h-full lg:w-1/2 lg:overflow-y-auto",
236
+ children: [isNotEmpty(breadcrumbs) && /*#__PURE__*/jsx(Breadcrumbs, {
237
+ breadcrumbs: breadcrumbs,
238
+ className: "mb-6 pt-10"
239
+ }), blockNavigation && /*#__PURE__*/jsx(BlockNavigation, {}), /*#__PURE__*/jsx("div", {
240
+ className: "flex items-center justify-between gap-6",
241
+ children: /*#__PURE__*/jsxs("div", {
242
+ className: "space-y-0.5",
243
+ children: [/*#__PURE__*/jsx(Tooltip, _objectSpread(_objectSpread({
244
+ disabled: !disabled,
245
+ position: "top"
246
+ }, tooltipProps), {}, {
247
+ children: /*#__PURE__*/jsxs("div", {
248
+ className: "flex items-center gap-2",
249
+ children: [/*#__PURE__*/jsx(Switch, {
250
+ disabled: disabled,
251
+ "data-cy": "receive-email-notification-switch",
252
+ name: "isEnabled",
253
+ onChange: function onChange(event) {
254
+ return handleSwitchChange({
255
+ event: event,
256
+ setFieldValue: setFieldValue,
257
+ values: values
258
+ });
259
+ }
260
+ }), /*#__PURE__*/jsx(Typography, {
261
+ component: "span",
262
+ "data-cy": "receive-email-notification-label",
263
+ lineHeight: "normal",
264
+ style: "h3",
265
+ weight: "semibold",
266
+ children: renderText(title, t("neetoEmailNotifications.emailNotification.title"))
267
+ })]
268
+ })
269
+ })), /*#__PURE__*/jsx(Typography, {
270
+ lineHeight: "normal",
271
+ style: "body2",
272
+ children: renderText(subTitle, t("neetoEmailNotifications.emailNotification.subTitle"))
273
+ })]
274
+ })
275
+ }), values.isEnabled && _children, /*#__PURE__*/jsx(EmailForm, _objectSpread({
276
+ showSendToField: true,
277
+ className: classNames({
278
+ "pt-3 ": values.isEnabled
279
+ }),
280
+ isLoading: isSubmitting,
281
+ showFields: values.isEnabled
282
+ }, emailFormProps))]
283
+ }), /*#__PURE__*/jsx(MobilePreviewHeader, {
284
+ className: "lg:hidden"
285
+ }), values.isEnabled && /*#__PURE__*/jsx("div", {
286
+ className: "neeto-ui-bg-gray-100 w-full px-5 py-10 lg:w-1/2 lg:overflow-y-auto lg:px-10",
287
+ children: /*#__PURE__*/jsx(EmailPreview, _objectSpread(_objectSpread({
288
+ body: values.message,
289
+ from: values.sendFrom,
290
+ subject: values.subject,
291
+ to: pluck("value", values.sendTo)
292
+ }, emailPreviewProps), {}, {
293
+ className: "neeto-ui-theme--light"
294
+ }))
295
+ })]
296
+ });
297
+ }
298
+ }))
299
+ });
300
+ };
301
+
302
+ export { NeetoEmailNotificationForm as default };
303
+ //# sourceMappingURL=NeetoEmailNotificationForm.js.map
@@ -0,0 +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 classNames from \"classnames\";\nimport { isNotPresent, noop, isNotEmpty } from \"neetocist\";\nimport Breadcrumbs from \"neetomolecules/Breadcrumbs\";\nimport {\n EmailFormProvider,\n EmailForm,\n EmailPreview,\n} from \"neetomolecules/EmailForm\";\nimport MobilePreviewHeader from \"neetomolecules/MobilePreviewHeader\";\nimport { Spinner, Tooltip, Typography } from \"neetoui\";\nimport { BlockNavigation, Switch } from \"neetoui/formik\";\nimport { mergeDeepLeft, pluck } 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}) => {\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 const handleSwitchChange = ({ event, values, setFieldValue }) => {\n if (event?.target?.checked === true) {\n setFieldValue(\"isEnabled\", true);\n } else if (event?.target?.checked === false) {\n if (values?.isEnabled === true) setFieldValue(\"disabledByUser\", true);\n setFieldValue(\"isEnabled\", false);\n }\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 return (\n <div className=\"min-w-0 flex-grow overflow-y-auto\">\n <EmailFormProvider\n showSendToField\n formikProps={{ validateOnBlur: true, validateOnChange: true }}\n validationSchema={FORM_VALIDATION_SCHEMA}\n initialValues={parseEmailNotificationData(\n data,\n emailFormProps?.sendToFieldProps?.options ||\n emailFormProps?.sendToOptions\n )}\n onSubmit={handleSubmit}\n {...emailFormikProps}\n >\n {({ values, setFieldValue }) => (\n <div className=\"nf-email-notification-wrapper flex h-full flex-grow flex-col lg:flex-row\">\n <div className=\"flex w-full flex-col px-5 md:px-10 lg:h-full lg:w-1/2 lg:overflow-y-auto\">\n {isNotEmpty(breadcrumbs) && (\n <Breadcrumbs {...{ breadcrumbs }} className=\"mb-6 pt-10\" />\n )}\n {blockNavigation && <BlockNavigation />}\n <div className=\"flex items-center justify-between gap-6\">\n <div className=\"space-y-0.5\">\n <Tooltip\n disabled={!disabled}\n position=\"top\"\n {...tooltipProps}\n >\n <div className=\"flex items-center gap-2\">\n <Switch\n {...{ disabled }}\n data-cy=\"receive-email-notification-switch\"\n name=\"isEnabled\"\n onChange={event =>\n handleSwitchChange({ event, setFieldValue, values })\n }\n />\n <Typography\n component=\"span\"\n data-cy=\"receive-email-notification-label\"\n lineHeight=\"normal\"\n style=\"h3\"\n weight=\"semibold\"\n >\n {renderText(\n title,\n t(\"neetoEmailNotifications.emailNotification.title\")\n )}\n </Typography>\n </div>\n </Tooltip>\n <Typography lineHeight=\"normal\" style=\"body2\">\n {renderText(\n subTitle,\n t(\"neetoEmailNotifications.emailNotification.subTitle\")\n )}\n </Typography>\n </div>\n </div>\n {values.isEnabled && children}\n <EmailForm\n showSendToField\n className={classNames({ \"pt-3 \": values.isEnabled })}\n isLoading={isSubmitting}\n showFields={values.isEnabled}\n {...emailFormProps}\n />\n </div>\n <MobilePreviewHeader className=\"lg:hidden\" />\n {values.isEnabled && (\n <div className=\"neeto-ui-bg-gray-100 w-full px-5 py-10 lg:w-1/2 lg:overflow-y-auto lg:px-10\">\n <EmailPreview\n body={values.message}\n from={values.sendFrom}\n subject={values.subject}\n to={pluck(\"value\", values.sendTo)}\n {...emailPreviewProps}\n className=\"neeto-ui-theme--light\"\n />\n </div>\n )}\n </div>\n )}\n </EmailFormProvider>\n </div>\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","_useTranslation","useTranslation","t","_useFetchEmailNotific","_useFetchEmailNotific2","isLoading","_useUpdateEmailNotifi","updateEmailNotification","mutate","isSubmitting","isPending","handleSubmit","_emailFormProps$reply","replyToFieldProps","options","body","mergeDeepLeft","handleSwitchChange","_ref2","_event$target","_event$target2","event","setFieldValue","target","checked","isNotPresent","_jsx","className","Spinner","EmailFormProvider","showSendToField","formikProps","validateOnBlur","validateOnChange","validationSchema","initialValues","sendToFieldProps","onSubmit","_ref3","_jsxs","Breadcrumbs","BlockNavigation","Tooltip","position","Switch","name","onChange","Typography","component","lineHeight","style","weight","EmailForm","classNames","showFields","MobilePreviewHeader","EmailPreview","from","to","pluck"],"mappings":"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"}
@@ -0,0 +1,323 @@
1
+ 'use strict';
2
+
3
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
+ var classNames = require('classnames');
5
+ var neetoCist = require('@bigbinary/neeto-cist');
6
+ var Breadcrumbs = require('@bigbinary/neeto-molecules/Breadcrumbs');
7
+ var EmailForm = require('@bigbinary/neeto-molecules/EmailForm');
8
+ var MobilePreviewHeader = require('@bigbinary/neeto-molecules/MobilePreviewHeader');
9
+ var Spinner = require('@bigbinary/neetoui/Spinner');
10
+ var Tooltip = require('@bigbinary/neetoui/Tooltip');
11
+ var Typography = require('@bigbinary/neetoui/Typography');
12
+ var BlockNavigation = require('@bigbinary/neetoui/formik/BlockNavigation');
13
+ var Switch = require('@bigbinary/neetoui/formik/Switch');
14
+ var ramda = require('ramda');
15
+ var reactI18next = require('react-i18next');
16
+ var reactQuery = require('@tanstack/react-query');
17
+ var constants = require('@bigbinary/neeto-commons-frontend/constants');
18
+ var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
19
+ var axios = require('axios');
20
+ var yup = require('yup');
21
+ var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
22
+ var jsxRuntime = require('react/jsx-runtime');
23
+
24
+ function _interopNamespaceDefault(e) {
25
+ var n = Object.create(null);
26
+ if (e) {
27
+ Object.keys(e).forEach(function (k) {
28
+ if (k !== 'default') {
29
+ var d = Object.getOwnPropertyDescriptor(e, k);
30
+ Object.defineProperty(n, k, d.get ? d : {
31
+ enumerable: true,
32
+ get: function () { return e[k]; }
33
+ });
34
+ }
35
+ });
36
+ }
37
+ n.default = e;
38
+ return Object.freeze(n);
39
+ }
40
+
41
+ var yup__namespace = /*#__PURE__*/_interopNamespaceDefault(yup);
42
+
43
+ var EMAIL_NOTIFICATIONS_URL = "neeto_email_notifications/email_notification";
44
+
45
+ var fetch = function fetch(params) {
46
+ return axios.get(EMAIL_NOTIFICATIONS_URL, {
47
+ params: params
48
+ });
49
+ };
50
+ var update = function update(payload) {
51
+ return axios.put(EMAIL_NOTIFICATIONS_URL, payload);
52
+ };
53
+ var emailNotificationsApi = {
54
+ fetch: fetch,
55
+ update: update
56
+ };
57
+
58
+ var QUERY_KEYS = {
59
+ NEETO_EMAIL_NOTIFICATIONS: "neeto-email-notifications"
60
+ };
61
+
62
+ var useFetchEmailNotifications = function useFetchEmailNotifications(params) {
63
+ return reactQuery.useQuery({
64
+ queryKey: [QUERY_KEYS.NEETO_EMAIL_NOTIFICATIONS, params["notificationHolderId"], params["customFields"]],
65
+ queryFn: function queryFn() {
66
+ return emailNotificationsApi.fetch(params);
67
+ },
68
+ staleTime: constants.DEFAULT_STALE_TIME,
69
+ select: ramda.prop("emailNotification"),
70
+ enabled: neetoCist.isNotEmpty(params)
71
+ });
72
+ };
73
+ var useUpdateEmailNotification = function useUpdateEmailNotification() {
74
+ return reactUtils.useMutationWithInvalidation(function (params) {
75
+ return emailNotificationsApi.update(params);
76
+ }, {
77
+ keysToInvalidate: [function (_, _ref) {
78
+ var notificationHolderId = _ref.notificationHolderId;
79
+ return [QUERY_KEYS.NEETO_EMAIL_NOTIFICATIONS, notificationHolderId];
80
+ }]
81
+ });
82
+ };
83
+
84
+ var FORM_VALIDATION_SCHEMA = {
85
+ isEnabled: yup__namespace["boolean"]()
86
+ };
87
+
88
+ var _excluded = ["notifyEmails", "notifyCcEmails", "notifyBccEmails", "replyToId", "customFields"],
89
+ _excluded2 = ["id", "isEnabled", "sendTo", "sendToCc", "sendToBcc", "showCopyEmails", "replyTo", "message", "subject", "sendFrom", "disabledByUser", "sendToId"];
90
+ 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; }
91
+ 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; }
92
+ var isValidEmail = function isValidEmail(email) {
93
+ return yup.string().email().isValidSync(email);
94
+ };
95
+ var createEmailOptions = function createEmailOptions() {
96
+ var emails = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
97
+ return emails.map(function (email) {
98
+ return {
99
+ label: email,
100
+ value: email,
101
+ valid: isValidEmail(email)
102
+ };
103
+ });
104
+ };
105
+ var parseEmailsOptions = function parseEmailsOptions() {
106
+ var emailOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
107
+ return emailOptions.map(ramda.prop("label"));
108
+ };
109
+ var parseEmailNotificationData = function parseEmailNotificationData(data, sendToOptions) {
110
+ var _sendToOptions$;
111
+ var notifyEmails = data.notifyEmails,
112
+ notifyCcEmails = data.notifyCcEmails,
113
+ notifyBccEmails = data.notifyBccEmails,
114
+ replyToId = data.replyToId,
115
+ customFields = data.customFields,
116
+ rest = _objectWithoutProperties(data, _excluded);
117
+ var parsed = _objectSpread$1(_objectSpread$1({}, customFields), rest);
118
+ parsed.sendTo = notifyEmails ? createEmailOptions(notifyEmails) : [];
119
+ parsed.sendToCc = notifyCcEmails ? createEmailOptions(notifyCcEmails) : [];
120
+ parsed.sendToBcc = notifyCcEmails ? createEmailOptions(notifyBccEmails) : [];
121
+ parsed.replyTo = replyToId || customFields["replyTo"];
122
+ parsed.sendToId = customFields["sendToId"] || (sendToOptions === null || sendToOptions === void 0 || (_sendToOptions$ = sendToOptions[0]) === null || _sendToOptions$ === void 0 ? void 0 : _sendToOptions$.value) || "";
123
+ parsed.showCopyEmails = !!(notifyCcEmails !== null && notifyCcEmails !== void 0 && notifyCcEmails.length || notifyBccEmails !== null && notifyBccEmails !== void 0 && notifyBccEmails.length);
124
+ return parsed;
125
+ };
126
+ var packEmailPayload = function packEmailPayload(values, isReplyToDropdownField) {
127
+ values.id;
128
+ var isEnabled = values.isEnabled,
129
+ sendTo = values.sendTo,
130
+ sendToCc = values.sendToCc,
131
+ sendToBcc = values.sendToBcc,
132
+ showCopyEmails = values.showCopyEmails,
133
+ replyTo = values.replyTo,
134
+ message = values.message,
135
+ subject = values.subject,
136
+ sendFrom = values.sendFrom,
137
+ disabledByUser = values.disabledByUser,
138
+ sendToId = values.sendToId,
139
+ rest = _objectWithoutProperties(values, _excluded2);
140
+ var payload = {
141
+ isEnabled: isEnabled
142
+ };
143
+ if (isEnabled) {
144
+ payload = _objectSpread$1({}, payload);
145
+ payload.notifyEmails = parseEmailsOptions(sendTo);
146
+ payload.notifyBccEmails = showCopyEmails ? parseEmailsOptions(sendToBcc) : [];
147
+ payload.notifyCcEmails = showCopyEmails ? parseEmailsOptions(sendToCc) : [];
148
+ if (isReplyToDropdownField) {
149
+ payload.replyToId = replyTo;
150
+ } else {
151
+ rest.replyTo = replyTo;
152
+ }
153
+ payload.message = message;
154
+ payload.subject = subject;
155
+ payload.customFields = _objectSpread$1(_objectSpread$1({}, rest), {}, {
156
+ disabledByUser: false
157
+ });
158
+ if (neetoCist.isNotEmpty(sendToId)) {
159
+ payload.customFields = ramda.mergeLeft(payload.customFields, {
160
+ sendToId: sendToId
161
+ });
162
+ }
163
+ payload.sendFrom = sendFrom;
164
+ } else {
165
+ payload.customFields = {
166
+ disabledByUser: disabledByUser
167
+ };
168
+ }
169
+ return payload;
170
+ };
171
+ var renderText = function renderText(text, fallbackTranslation) {
172
+ return ramda.isEmpty(text) ? fallbackTranslation : text;
173
+ };
174
+
175
+ 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; }
176
+ 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; }
177
+ var NeetoEmailNotificationForm = function NeetoEmailNotificationForm(_ref) {
178
+ var _emailFormProps$sendT;
179
+ var _ref$emailNotificatio = _ref.emailNotificationParams,
180
+ emailNotificationParams = _ref$emailNotificatio === void 0 ? {} : _ref$emailNotificatio,
181
+ _ref$emailPreviewProp = _ref.emailPreviewProps,
182
+ emailPreviewProps = _ref$emailPreviewProp === void 0 ? {} : _ref$emailPreviewProp,
183
+ _ref$emailFormProps = _ref.emailFormProps,
184
+ emailFormProps = _ref$emailFormProps === void 0 ? {} : _ref$emailFormProps,
185
+ _ref$emailFormikProps = _ref.emailFormikProps,
186
+ emailFormikProps = _ref$emailFormikProps === void 0 ? {} : _ref$emailFormikProps,
187
+ _ref$title = _ref.title,
188
+ title = _ref$title === void 0 ? "" : _ref$title,
189
+ _ref$subTitle = _ref.subTitle,
190
+ subTitle = _ref$subTitle === void 0 ? "" : _ref$subTitle,
191
+ _ref$disabled = _ref.disabled,
192
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
193
+ _ref$tooltipProps = _ref.tooltipProps,
194
+ tooltipProps = _ref$tooltipProps === void 0 ? {} : _ref$tooltipProps,
195
+ _ref$onSuccess = _ref.onSuccess,
196
+ onSuccess = _ref$onSuccess === void 0 ? neetoCist.noop : _ref$onSuccess,
197
+ _ref$blockNavigation = _ref.blockNavigation,
198
+ blockNavigation = _ref$blockNavigation === void 0 ? false : _ref$blockNavigation,
199
+ _ref$breadcrumbs = _ref.breadcrumbs,
200
+ breadcrumbs = _ref$breadcrumbs === void 0 ? [] : _ref$breadcrumbs,
201
+ _children = _ref.children;
202
+ var _useTranslation = reactI18next.useTranslation(),
203
+ t = _useTranslation.t;
204
+ var _useFetchEmailNotific = useFetchEmailNotifications(emailNotificationParams),
205
+ _useFetchEmailNotific2 = _useFetchEmailNotific.data,
206
+ data = _useFetchEmailNotific2 === void 0 ? {} : _useFetchEmailNotific2,
207
+ isLoading = _useFetchEmailNotific.isLoading;
208
+ var _useUpdateEmailNotifi = useUpdateEmailNotification(),
209
+ updateEmailNotification = _useUpdateEmailNotifi.mutate,
210
+ isSubmitting = _useUpdateEmailNotifi.isPending;
211
+ var handleSubmit = function handleSubmit(values) {
212
+ var _emailFormProps$reply;
213
+ var isReplyToDropdownField = (emailFormProps === null || emailFormProps === void 0 || (_emailFormProps$reply = emailFormProps.replyToFieldProps) === null || _emailFormProps$reply === void 0 ? void 0 : _emailFormProps$reply.options) !== undefined;
214
+ var body = ramda.mergeDeepLeft(packEmailPayload(values, isReplyToDropdownField), emailNotificationParams);
215
+ updateEmailNotification(body, {
216
+ onSuccess: onSuccess
217
+ });
218
+ };
219
+ var handleSwitchChange = function handleSwitchChange(_ref2) {
220
+ var _event$target, _event$target2;
221
+ var event = _ref2.event,
222
+ values = _ref2.values,
223
+ setFieldValue = _ref2.setFieldValue;
224
+ if ((event === null || event === void 0 || (_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target.checked) === true) {
225
+ setFieldValue("isEnabled", true);
226
+ } else if ((event === null || event === void 0 || (_event$target2 = event.target) === null || _event$target2 === void 0 ? void 0 : _event$target2.checked) === false) {
227
+ if ((values === null || values === void 0 ? void 0 : values.isEnabled) === true) setFieldValue("disabledByUser", true);
228
+ setFieldValue("isEnabled", false);
229
+ }
230
+ };
231
+ if (isLoading || neetoCist.isNotPresent(data)) {
232
+ return /*#__PURE__*/jsxRuntime.jsx("div", {
233
+ className: "flex h-full w-full items-center justify-center",
234
+ children: /*#__PURE__*/jsxRuntime.jsx(Spinner, {})
235
+ });
236
+ }
237
+ return /*#__PURE__*/jsxRuntime.jsx("div", {
238
+ className: "min-w-0 flex-grow overflow-y-auto",
239
+ children: /*#__PURE__*/jsxRuntime.jsx(EmailForm.EmailFormProvider, _objectSpread(_objectSpread({
240
+ showSendToField: true,
241
+ formikProps: {
242
+ validateOnBlur: true,
243
+ validateOnChange: true
244
+ },
245
+ validationSchema: FORM_VALIDATION_SCHEMA,
246
+ initialValues: parseEmailNotificationData(data, (emailFormProps === null || emailFormProps === void 0 || (_emailFormProps$sendT = emailFormProps.sendToFieldProps) === null || _emailFormProps$sendT === void 0 ? void 0 : _emailFormProps$sendT.options) || (emailFormProps === null || emailFormProps === void 0 ? void 0 : emailFormProps.sendToOptions)),
247
+ onSubmit: handleSubmit
248
+ }, emailFormikProps), {}, {
249
+ children: function children(_ref3) {
250
+ var values = _ref3.values,
251
+ setFieldValue = _ref3.setFieldValue;
252
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
253
+ className: "nf-email-notification-wrapper flex h-full flex-grow flex-col lg:flex-row",
254
+ children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
255
+ className: "flex w-full flex-col px-5 md:px-10 lg:h-full lg:w-1/2 lg:overflow-y-auto",
256
+ children: [neetoCist.isNotEmpty(breadcrumbs) && /*#__PURE__*/jsxRuntime.jsx(Breadcrumbs, {
257
+ breadcrumbs: breadcrumbs,
258
+ className: "mb-6 pt-10"
259
+ }), blockNavigation && /*#__PURE__*/jsxRuntime.jsx(BlockNavigation, {}), /*#__PURE__*/jsxRuntime.jsx("div", {
260
+ className: "flex items-center justify-between gap-6",
261
+ children: /*#__PURE__*/jsxRuntime.jsxs("div", {
262
+ className: "space-y-0.5",
263
+ children: [/*#__PURE__*/jsxRuntime.jsx(Tooltip, _objectSpread(_objectSpread({
264
+ disabled: !disabled,
265
+ position: "top"
266
+ }, tooltipProps), {}, {
267
+ children: /*#__PURE__*/jsxRuntime.jsxs("div", {
268
+ className: "flex items-center gap-2",
269
+ children: [/*#__PURE__*/jsxRuntime.jsx(Switch, {
270
+ disabled: disabled,
271
+ "data-cy": "receive-email-notification-switch",
272
+ name: "isEnabled",
273
+ onChange: function onChange(event) {
274
+ return handleSwitchChange({
275
+ event: event,
276
+ setFieldValue: setFieldValue,
277
+ values: values
278
+ });
279
+ }
280
+ }), /*#__PURE__*/jsxRuntime.jsx(Typography, {
281
+ component: "span",
282
+ "data-cy": "receive-email-notification-label",
283
+ lineHeight: "normal",
284
+ style: "h3",
285
+ weight: "semibold",
286
+ children: renderText(title, t("neetoEmailNotifications.emailNotification.title"))
287
+ })]
288
+ })
289
+ })), /*#__PURE__*/jsxRuntime.jsx(Typography, {
290
+ lineHeight: "normal",
291
+ style: "body2",
292
+ children: renderText(subTitle, t("neetoEmailNotifications.emailNotification.subTitle"))
293
+ })]
294
+ })
295
+ }), values.isEnabled && _children, /*#__PURE__*/jsxRuntime.jsx(EmailForm.EmailForm, _objectSpread({
296
+ showSendToField: true,
297
+ className: classNames({
298
+ "pt-3 ": values.isEnabled
299
+ }),
300
+ isLoading: isSubmitting,
301
+ showFields: values.isEnabled
302
+ }, emailFormProps))]
303
+ }), /*#__PURE__*/jsxRuntime.jsx(MobilePreviewHeader, {
304
+ className: "lg:hidden"
305
+ }), values.isEnabled && /*#__PURE__*/jsxRuntime.jsx("div", {
306
+ className: "neeto-ui-bg-gray-100 w-full px-5 py-10 lg:w-1/2 lg:overflow-y-auto lg:px-10",
307
+ children: /*#__PURE__*/jsxRuntime.jsx(EmailForm.EmailPreview, _objectSpread(_objectSpread({
308
+ body: values.message,
309
+ from: values.sendFrom,
310
+ subject: values.subject,
311
+ to: ramda.pluck("value", values.sendTo)
312
+ }, emailPreviewProps), {}, {
313
+ className: "neeto-ui-theme--light"
314
+ }))
315
+ })]
316
+ });
317
+ }
318
+ }))
319
+ });
320
+ };
321
+
322
+ module.exports = NeetoEmailNotificationForm;
323
+ //# sourceMappingURL=NeetoEmailNotificationForm.js.map
@@ -0,0 +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 classNames from \"classnames\";\nimport { isNotPresent, noop, isNotEmpty } from \"neetocist\";\nimport Breadcrumbs from \"neetomolecules/Breadcrumbs\";\nimport {\n EmailFormProvider,\n EmailForm,\n EmailPreview,\n} from \"neetomolecules/EmailForm\";\nimport MobilePreviewHeader from \"neetomolecules/MobilePreviewHeader\";\nimport { Spinner, Tooltip, Typography } from \"neetoui\";\nimport { BlockNavigation, Switch } from \"neetoui/formik\";\nimport { mergeDeepLeft, pluck } 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}) => {\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 const handleSwitchChange = ({ event, values, setFieldValue }) => {\n if (event?.target?.checked === true) {\n setFieldValue(\"isEnabled\", true);\n } else if (event?.target?.checked === false) {\n if (values?.isEnabled === true) setFieldValue(\"disabledByUser\", true);\n setFieldValue(\"isEnabled\", false);\n }\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 return (\n <div className=\"min-w-0 flex-grow overflow-y-auto\">\n <EmailFormProvider\n showSendToField\n formikProps={{ validateOnBlur: true, validateOnChange: true }}\n validationSchema={FORM_VALIDATION_SCHEMA}\n initialValues={parseEmailNotificationData(\n data,\n emailFormProps?.sendToFieldProps?.options ||\n emailFormProps?.sendToOptions\n )}\n onSubmit={handleSubmit}\n {...emailFormikProps}\n >\n {({ values, setFieldValue }) => (\n <div className=\"nf-email-notification-wrapper flex h-full flex-grow flex-col lg:flex-row\">\n <div className=\"flex w-full flex-col px-5 md:px-10 lg:h-full lg:w-1/2 lg:overflow-y-auto\">\n {isNotEmpty(breadcrumbs) && (\n <Breadcrumbs {...{ breadcrumbs }} className=\"mb-6 pt-10\" />\n )}\n {blockNavigation && <BlockNavigation />}\n <div className=\"flex items-center justify-between gap-6\">\n <div className=\"space-y-0.5\">\n <Tooltip\n disabled={!disabled}\n position=\"top\"\n {...tooltipProps}\n >\n <div className=\"flex items-center gap-2\">\n <Switch\n {...{ disabled }}\n data-cy=\"receive-email-notification-switch\"\n name=\"isEnabled\"\n onChange={event =>\n handleSwitchChange({ event, setFieldValue, values })\n }\n />\n <Typography\n component=\"span\"\n data-cy=\"receive-email-notification-label\"\n lineHeight=\"normal\"\n style=\"h3\"\n weight=\"semibold\"\n >\n {renderText(\n title,\n t(\"neetoEmailNotifications.emailNotification.title\")\n )}\n </Typography>\n </div>\n </Tooltip>\n <Typography lineHeight=\"normal\" style=\"body2\">\n {renderText(\n subTitle,\n t(\"neetoEmailNotifications.emailNotification.subTitle\")\n )}\n </Typography>\n </div>\n </div>\n {values.isEnabled && children}\n <EmailForm\n showSendToField\n className={classNames({ \"pt-3 \": values.isEnabled })}\n isLoading={isSubmitting}\n showFields={values.isEnabled}\n {...emailFormProps}\n />\n </div>\n <MobilePreviewHeader className=\"lg:hidden\" />\n {values.isEnabled && (\n <div className=\"neeto-ui-bg-gray-100 w-full px-5 py-10 lg:w-1/2 lg:overflow-y-auto lg:px-10\">\n <EmailPreview\n body={values.message}\n from={values.sendFrom}\n subject={values.subject}\n to={pluck(\"value\", values.sendTo)}\n {...emailPreviewProps}\n className=\"neeto-ui-theme--light\"\n />\n </div>\n )}\n </div>\n )}\n </EmailFormProvider>\n </div>\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","_useTranslation","useTranslation","t","_useFetchEmailNotific","_useFetchEmailNotific2","isLoading","_useUpdateEmailNotifi","updateEmailNotification","mutate","isSubmitting","isPending","handleSubmit","_emailFormProps$reply","replyToFieldProps","options","body","mergeDeepLeft","handleSwitchChange","_ref2","_event$target","_event$target2","event","setFieldValue","target","checked","isNotPresent","_jsx","className","Spinner","EmailFormProvider","showSendToField","formikProps","validateOnBlur","validateOnChange","validationSchema","initialValues","sendToFieldProps","onSubmit","_ref3","_jsxs","Breadcrumbs","BlockNavigation","Tooltip","position","Switch","name","onChange","Typography","component","lineHeight","style","weight","EmailForm","classNames","showFields","MobilePreviewHeader","EmailPreview","from","to","pluck"],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ 'use strict';
2
+
3
+ var NeetoEmailNotificationForm = require('./NeetoEmailNotificationForm.js');
4
+ require('@babel/runtime/helpers/defineProperty');
5
+ require('classnames');
6
+ require('@bigbinary/neeto-cist');
7
+ require('@bigbinary/neeto-molecules/Breadcrumbs');
8
+ require('@bigbinary/neeto-molecules/EmailForm');
9
+ require('@bigbinary/neeto-molecules/MobilePreviewHeader');
10
+ require('@bigbinary/neetoui/Spinner');
11
+ require('@bigbinary/neetoui/Tooltip');
12
+ require('@bigbinary/neetoui/Typography');
13
+ require('@bigbinary/neetoui/formik/BlockNavigation');
14
+ require('@bigbinary/neetoui/formik/Switch');
15
+ require('ramda');
16
+ require('react-i18next');
17
+ require('@tanstack/react-query');
18
+ require('@bigbinary/neeto-commons-frontend/constants');
19
+ require('@bigbinary/neeto-commons-frontend/react-utils');
20
+ require('axios');
21
+ require('yup');
22
+ require('@babel/runtime/helpers/objectWithoutProperties');
23
+ require('react/jsx-runtime');
24
+
25
+
26
+
27
+ exports.NeetoEmailNotificationForm = NeetoEmailNotificationForm;
28
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/index.js ADDED
@@ -0,0 +1,22 @@
1
+ export { default as NeetoEmailNotificationForm } from './NeetoEmailNotificationForm.js';
2
+ import '@babel/runtime/helpers/defineProperty';
3
+ import 'classnames';
4
+ import '@bigbinary/neeto-cist';
5
+ import '@bigbinary/neeto-molecules/Breadcrumbs';
6
+ import '@bigbinary/neeto-molecules/EmailForm';
7
+ import '@bigbinary/neeto-molecules/MobilePreviewHeader';
8
+ import '@bigbinary/neetoui/Spinner';
9
+ import '@bigbinary/neetoui/Tooltip';
10
+ import '@bigbinary/neetoui/Typography';
11
+ import '@bigbinary/neetoui/formik/BlockNavigation';
12
+ import '@bigbinary/neetoui/formik/Switch';
13
+ import 'ramda';
14
+ import 'react-i18next';
15
+ import '@tanstack/react-query';
16
+ import '@bigbinary/neeto-commons-frontend/constants';
17
+ import '@bigbinary/neeto-commons-frontend/react-utils';
18
+ import 'axios';
19
+ import 'yup';
20
+ import '@babel/runtime/helpers/objectWithoutProperties';
21
+ import 'react/jsx-runtime';
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-email-notifications-frontend",
3
- "version": "2.2.9",
3
+ "version": "2.2.11",
4
4
  "description": "A repo acts as the source of truth for the new nano's structure, configs, data etc.",
5
5
  "license": "UNLICENSED",
6
6
  "homepage": "https://github.com/bigbinary/neeto-email-notifications-nano",
@@ -63,7 +63,12 @@
63
63
  "@bigbinary/babel-preset-neeto": "^1.0.3",
64
64
  "@bigbinary/eslint-plugin-neeto": "1.5.7",
65
65
  "@bigbinary/neeto-cist": "1.0.15",
66
+ "@bigbinary/neeto-commons-frontend": "4.13.23",
67
+ "@bigbinary/neeto-editor": "1.45.16",
66
68
  "@bigbinary/neeto-filters-frontend": "4.3.15",
69
+ "@bigbinary/neeto-icons": "1.20.26",
70
+ "@bigbinary/neeto-molecules": "3.15.42",
71
+ "@bigbinary/neetoui": "8.2.65",
67
72
  "@emotion/is-prop-valid": "1.2.0",
68
73
  "@faker-js/faker": "8.2.0",
69
74
  "@honeybadger-io/js": "6.10.1",
@@ -171,7 +176,12 @@
171
176
  "peerDependencies": {
172
177
  "@babel/runtime": "7.26.0",
173
178
  "@bigbinary/neeto-cist": "1.0.15",
179
+ "@bigbinary/neeto-commons-frontend": "4.13.23",
180
+ "@bigbinary/neeto-editor": "1.45.16",
174
181
  "@bigbinary/neeto-filters-frontend": "4.3.15",
182
+ "@bigbinary/neeto-icons": "1.20.26",
183
+ "@bigbinary/neeto-molecules": "3.15.42",
184
+ "@bigbinary/neetoui": "8.2.65",
175
185
  "@honeybadger-io/js": "6.10.1",
176
186
  "@honeybadger-io/react": "6.1.25",
177
187
  "@tailwindcss/container-queries": "^0.1.1",