@bigbinary/neeto-email-notifications-frontend 2.2.14 → 2.2.15
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 +88 -17
- package/app/javascript/src/translations/de.json +2 -2
- package/app/javascript/src/translations/en.json +1 -1
- package/app/javascript/src/translations/es.json +2 -2
- package/app/javascript/src/translations/fr.json +2 -2
- package/dist/NeetoEmailNotificationForm.js +72 -49
- package/dist/NeetoEmailNotificationForm.js.map +1 -1
- package/dist/cjs/NeetoEmailNotificationForm.js +72 -49
- 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 +12 -12
- package/types.d.ts +16 -15
package/README.md
CHANGED
|
@@ -76,6 +76,10 @@ Add the engine's routes to your application's `config/routes.rb`:
|
|
|
76
76
|
mount NeetoEmailNotificationsEngine::Engine, at: "/neeto_email_notifications" # Or your preferred mount point
|
|
77
77
|
```
|
|
78
78
|
|
|
79
|
+
> **Note:** The engine uses the [`liquid`](https://github.com/Shopify/liquid)
|
|
80
|
+
> gem for template rendering. This will be installed automatically as a
|
|
81
|
+
> dependency.
|
|
82
|
+
|
|
79
83
|
## Configuration (Backend Engine)
|
|
80
84
|
|
|
81
85
|
### 1. Initializer Setup
|
|
@@ -231,6 +235,34 @@ The engine creates a table `neeto_email_notifications_engine_email_notifications
|
|
|
231
235
|
- `is_enabled`: Boolean flag to enable/disable notifications.
|
|
232
236
|
- `custom_fields`: JSONB column for additional metadata.
|
|
233
237
|
- `reply_to_id`: Optional reference for reply-to configuration.
|
|
238
|
+
- `type`: String column for Single Table Inheritance (STI) support.
|
|
239
|
+
|
|
240
|
+
#### Default Attributes Class Method
|
|
241
|
+
|
|
242
|
+
**Important:** Host applications must define the `default_attributes` class method in their custom notification models that inherit from `NeetoEmailNotificationsEngine::EmailNotification`. This method is required and will receive the `notification_holder` as a parameter. This method should return a hash with the default attributes for the email notification.
|
|
243
|
+
|
|
244
|
+
Variables in the subject and message must always be wrapped like this:
|
|
245
|
+
```html
|
|
246
|
+
<span data-variable data-label="label" data-id="key">{{key}}</span>
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
**Example Implementation**
|
|
250
|
+
|
|
251
|
+
```ruby
|
|
252
|
+
def self.default_attributes(quiz)
|
|
253
|
+
{
|
|
254
|
+
send_from: Rails.application.secrets.mailer[:default_from_email],
|
|
255
|
+
notify_emails: [quiz.user.email],
|
|
256
|
+
is_enabled: true,
|
|
257
|
+
subject: "A new submission has arrived for {{quiz-name}}",
|
|
258
|
+
message: <<~HTML.squish
|
|
259
|
+
<b><span data-variable data-label="Quiz name" data-id="quiz-name">{{quiz-name}}</span></b>
|
|
260
|
+
has a new submission.<br/><br/>
|
|
261
|
+
<span data-variable data-label="All answers" data-id="all-answers">{{all-answers}}</span>
|
|
262
|
+
HTML
|
|
263
|
+
}
|
|
264
|
+
end
|
|
265
|
+
```
|
|
234
266
|
|
|
235
267
|
## Frontend Integration
|
|
236
268
|
|
|
@@ -256,21 +288,39 @@ yarn add @babel/runtime@^7.26.10 @bigbinary/neeto-cist@^1.0.17 @bigbinary/neeto-
|
|
|
256
288
|
|
|
257
289
|
**Props**
|
|
258
290
|
|
|
259
|
-
| Prop
|
|
260
|
-
|
|
261
|
-
| `emailNotificationParams` | Object
|
|
262
|
-
| `title`
|
|
263
|
-
| `
|
|
264
|
-
| `disabled`
|
|
265
|
-
| `onSuccess`
|
|
266
|
-
| `breadcrumbs`
|
|
267
|
-
| `children`
|
|
268
|
-
| `blockNavigation`
|
|
269
|
-
| `helpPopoverProps`
|
|
270
|
-
| `tooltipProps`
|
|
271
|
-
| `emailFormProps`
|
|
272
|
-
| `emailFormikProps`
|
|
273
|
-
| `emailPreviewProps`
|
|
291
|
+
| Prop | Type | Default | Description |
|
|
292
|
+
| ------------------------- | --------- | -------------------------------------------------------- | ---------------------------------------------------------------- |
|
|
293
|
+
| `emailNotificationParams` | Object | `{}` | **Required.** Parameters for fetching email notification data |
|
|
294
|
+
| `title` | String | `"Email notification"` | Title displayed above the notification toggle |
|
|
295
|
+
| `notificationToggleLabel` | String | `"Send an email notification when a new event occurred"` | The label displayed beside the notification toggle switch |
|
|
296
|
+
| `disabled` | Boolean | `false` | Disables the entire component |
|
|
297
|
+
| `onSuccess` | Function | `noop` | Callback function triggered after successful notification update |
|
|
298
|
+
| `breadcrumbs` | Array | `[]` | Breadcrumb navigation data |
|
|
299
|
+
| `children` | ReactNode | `undefined` | Additional content rendered when notifications are enabled |
|
|
300
|
+
| `blockNavigation` | Boolean | `false` | Shows block navigation alert for unsaved changes |
|
|
301
|
+
| `helpPopoverProps` | Object | `{}` | Props for the help popover component |
|
|
302
|
+
| `tooltipProps` | Object | `{}` | Props for tooltip shown when component is disabled |
|
|
303
|
+
| `emailFormProps` | Object | `{}` | Props passed to the underlying EmailForm component |
|
|
304
|
+
| `emailFormikProps` | Object | `{}` | Props passed to the EmailFormProvider component |
|
|
305
|
+
| `emailPreviewProps` | Object | `{}` | Props passed to the EmailPreview component |
|
|
306
|
+
| `fieldsVisibility` | Object | `{}` | Controls which fields are visible in the email form |
|
|
307
|
+
|
|
308
|
+
#### FieldsVisibility
|
|
309
|
+
|
|
310
|
+
Default visibility for each field is as follows:
|
|
311
|
+
|
|
312
|
+
```js
|
|
313
|
+
{
|
|
314
|
+
showSendToField: true,
|
|
315
|
+
showReplyToField: false,
|
|
316
|
+
showSendToAsRadio: false,
|
|
317
|
+
showCcField: false,
|
|
318
|
+
showBccField: false,
|
|
319
|
+
}
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
You can override any of these by passing a `fieldsVisibility` prop with your
|
|
323
|
+
desired values.
|
|
274
324
|
|
|
275
325
|
**emailNotificationParams Object Structure**
|
|
276
326
|
```javascript
|
|
@@ -296,14 +346,14 @@ const FormSettingsPage = ({ formId }) => {
|
|
|
296
346
|
return (
|
|
297
347
|
<NeetoEmailNotificationForm
|
|
298
348
|
title="Form Submission Notification"
|
|
299
|
-
|
|
349
|
+
notificationToggleLabel="Get notified when someone submits your form"
|
|
300
350
|
emailNotificationParams={{
|
|
301
351
|
notificationHolderId: formId,
|
|
302
352
|
notificationHolderType: "Form",
|
|
303
353
|
customFields: { notificationType: "submission" }
|
|
304
354
|
}}
|
|
305
355
|
emailPreviewProps={{
|
|
306
|
-
|
|
356
|
+
formatBody: message => replaceVariablesWithDummyValues(message, values),
|
|
307
357
|
}}
|
|
308
358
|
breadcrumbs={[
|
|
309
359
|
{ text: "Forms", link: "/forms" },
|
|
@@ -405,6 +455,27 @@ class Meeting < ApplicationRecord
|
|
|
405
455
|
end
|
|
406
456
|
```
|
|
407
457
|
|
|
458
|
+
### Seeding Default Email Notification Content
|
|
459
|
+
It is recommended to automatically create a default email notification record for each instance of your model. This ensures the notification UI and API always have a record to fetch and update, preventing errors and missing functionality. You can use an `after_create` callback in your model to seed this record.
|
|
460
|
+
|
|
461
|
+
##### Example:
|
|
462
|
+
|
|
463
|
+
```ruby
|
|
464
|
+
class Quiz < ApplicationRecord
|
|
465
|
+
has_many :email_notifications, as: :notification_holder,
|
|
466
|
+
class_name: "NeetoEmailNotificationsEngine::EmailNotification", dependent: :destroy
|
|
467
|
+
has_one :push_email_notification, as: :notification_holder
|
|
468
|
+
|
|
469
|
+
after_create :create_default_email_notification
|
|
470
|
+
|
|
471
|
+
private
|
|
472
|
+
|
|
473
|
+
def create_default_email_notification
|
|
474
|
+
self.create_push_email_notification!(PushEmailNotification.default_attributes(self))
|
|
475
|
+
end
|
|
476
|
+
end
|
|
477
|
+
```
|
|
478
|
+
|
|
408
479
|
### Using the Email Notification Service
|
|
409
480
|
Create service classes that include the email notification functionality:
|
|
410
481
|
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
},
|
|
11
11
|
"emailNotification": {
|
|
12
12
|
"title": "E-Mail-Benachrichtigung",
|
|
13
|
-
"
|
|
13
|
+
"notificationToggleLabel": "Eine E-Mail-Benachrichtigung senden, wenn ein neues Ereignis aufgetreten ist"
|
|
14
14
|
},
|
|
15
15
|
"preview": "Vorschau"
|
|
16
16
|
}
|
|
17
|
-
}
|
|
17
|
+
}
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
},
|
|
11
11
|
"emailNotification": {
|
|
12
12
|
"title": "Notificación por correo electrónico",
|
|
13
|
-
"
|
|
13
|
+
"notificationToggleLabel": "Enviar una notificación por correo electrónico cuando ocurra un nuevo evento"
|
|
14
14
|
},
|
|
15
15
|
"preview": "Vista previa"
|
|
16
16
|
}
|
|
17
|
-
}
|
|
17
|
+
}
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
},
|
|
11
11
|
"emailNotification": {
|
|
12
12
|
"title": "Notification par e-mail",
|
|
13
|
-
"
|
|
13
|
+
"notificationToggleLabel": "Envoyer une notification par e-mail lorsqu'un nouvel événement se produit"
|
|
14
14
|
},
|
|
15
15
|
"preview": "Aperçu"
|
|
16
16
|
}
|
|
17
|
-
}
|
|
17
|
+
}
|
|
@@ -1,7 +1,8 @@
|
|
|
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
7
|
import { prop, isEmpty, mergeLeft, mergeDeepLeft } from 'ramda';
|
|
7
8
|
import { useTranslation } from 'react-i18next';
|
|
@@ -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;
|
|
@@ -145,7 +166,7 @@ var renderText = function renderText(text, fallbackTranslation) {
|
|
|
145
166
|
return isEmpty(text) ? fallbackTranslation : text;
|
|
146
167
|
};
|
|
147
168
|
|
|
148
|
-
var _excluded = ["validationSchema"
|
|
169
|
+
var _excluded = ["validationSchema"];
|
|
149
170
|
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
171
|
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
172
|
var NeetoEmailNotificationForm = function NeetoEmailNotificationForm(_ref) {
|
|
@@ -160,21 +181,24 @@ var NeetoEmailNotificationForm = function NeetoEmailNotificationForm(_ref) {
|
|
|
160
181
|
emailFormikProps = _ref$emailFormikProps === void 0 ? {} : _ref$emailFormikProps,
|
|
161
182
|
_ref$title = _ref.title,
|
|
162
183
|
title = _ref$title === void 0 ? "" : _ref$title,
|
|
163
|
-
_ref$
|
|
164
|
-
|
|
165
|
-
_ref$
|
|
166
|
-
|
|
184
|
+
_ref$notificationTogg = _ref.notificationToggleLabel,
|
|
185
|
+
notificationToggleLabel = _ref$notificationTogg === void 0 ? "" : _ref$notificationTogg,
|
|
186
|
+
_ref$breadcrumbs = _ref.breadcrumbs,
|
|
187
|
+
breadcrumbs = _ref$breadcrumbs === void 0 ? [] : _ref$breadcrumbs,
|
|
188
|
+
_ref$helpPopoverProps = _ref.helpPopoverProps,
|
|
189
|
+
helpPopoverProps = _ref$helpPopoverProps === void 0 ? {} : _ref$helpPopoverProps,
|
|
167
190
|
_ref$tooltipProps = _ref.tooltipProps,
|
|
168
191
|
tooltipProps = _ref$tooltipProps === void 0 ? {} : _ref$tooltipProps,
|
|
169
|
-
_ref$
|
|
170
|
-
|
|
192
|
+
_ref$disabled = _ref.disabled,
|
|
193
|
+
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
194
|
+
_ref$fieldsVisibility = _ref.fieldsVisibility,
|
|
195
|
+
fieldsVisibility = _ref$fieldsVisibility === void 0 ? {} : _ref$fieldsVisibility,
|
|
171
196
|
_ref$blockNavigation = _ref.blockNavigation,
|
|
172
197
|
blockNavigation = _ref$blockNavigation === void 0 ? false : _ref$blockNavigation,
|
|
173
|
-
_ref$
|
|
174
|
-
|
|
175
|
-
children = _ref.children
|
|
176
|
-
|
|
177
|
-
helpPopoverProps = _ref$helpPopoverProps === void 0 ? {} : _ref$helpPopoverProps;
|
|
198
|
+
_ref$onSuccess = _ref.onSuccess,
|
|
199
|
+
onSuccess = _ref$onSuccess === void 0 ? noop : _ref$onSuccess,
|
|
200
|
+
children = _ref.children;
|
|
201
|
+
var editorRef = useRef();
|
|
178
202
|
var _useTranslation = useTranslation(),
|
|
179
203
|
t = _useTranslation.t;
|
|
180
204
|
var _useFetchEmailNotific = useFetchEmailNotifications(emailNotificationParams),
|
|
@@ -184,10 +208,14 @@ var NeetoEmailNotificationForm = function NeetoEmailNotificationForm(_ref) {
|
|
|
184
208
|
var _useUpdateEmailNotifi = useUpdateEmailNotification(),
|
|
185
209
|
updateEmailNotification = _useUpdateEmailNotifi.mutate,
|
|
186
210
|
isSubmitting = _useUpdateEmailNotifi.isPending;
|
|
211
|
+
var _useResetEmailNotific = useResetEmailNotificationToDefault(),
|
|
212
|
+
resetToDefault = _useResetEmailNotific.mutate,
|
|
213
|
+
isResetting = _useResetEmailNotific.isPending;
|
|
187
214
|
var handleSubmit = function handleSubmit(values) {
|
|
188
215
|
var _emailFormProps$reply;
|
|
216
|
+
var isDisabledByUser = data.isEnabled && !values.isEnabled;
|
|
189
217
|
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);
|
|
218
|
+
var body = mergeDeepLeft(packEmailPayload(values, isReplyToDropdownField, isDisabledByUser), emailNotificationParams);
|
|
191
219
|
updateEmailNotification(body, {
|
|
192
220
|
onSuccess: onSuccess
|
|
193
221
|
});
|
|
@@ -199,51 +227,46 @@ var NeetoEmailNotificationForm = function NeetoEmailNotificationForm(_ref) {
|
|
|
199
227
|
});
|
|
200
228
|
}
|
|
201
229
|
var formattedTitle = renderText(title, t("neetoEmailNotifications.emailNotification.title"));
|
|
202
|
-
var
|
|
230
|
+
var formattedNotificationToggleLabel = renderText(notificationToggleLabel, t("neetoEmailNotifications.emailNotification.notificationToggleLabel"));
|
|
203
231
|
var customValidationSchema = emailFormikProps.validationSchema,
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
232
|
+
formikProps = _objectWithoutProperties(emailFormikProps, _excluded);
|
|
233
|
+
var handleResetToDefault = function handleResetToDefault() {
|
|
234
|
+
resetToDefault(emailNotificationParams, {
|
|
235
|
+
onSuccess: function onSuccess(_ref2) {
|
|
236
|
+
var _editorRef$current;
|
|
237
|
+
var emailNotification = _ref2.emailNotification;
|
|
238
|
+
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);
|
|
239
|
+
}
|
|
240
|
+
});
|
|
241
|
+
};
|
|
213
242
|
return /*#__PURE__*/jsx("div", {
|
|
214
243
|
className: "min-w-0 flex-grow overflow-y-auto",
|
|
215
|
-
children: /*#__PURE__*/jsx(
|
|
244
|
+
children: /*#__PURE__*/jsx(EmailForm, _objectSpread(_objectSpread({}, _objectSpread({
|
|
216
245
|
blockNavigation: blockNavigation,
|
|
217
246
|
emailPreviewProps: emailPreviewProps,
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
showSendToField: true,
|
|
247
|
+
formikProps: formikProps,
|
|
248
|
+
tooltipProps: tooltipProps
|
|
249
|
+
}, mergeLeft(fieldsVisibility, DEFAULT_FIELDS_VISIBILITY))), {}, {
|
|
250
|
+
isLoading: isSubmitting || isResetting,
|
|
251
|
+
validationSchema: customValidationSchema || FORM_VALIDATION_SCHEMA,
|
|
224
252
|
emailFormProps: _objectSpread({
|
|
225
|
-
|
|
253
|
+
editorRef: editorRef,
|
|
254
|
+
handleResetToDefault: handleResetToDefault
|
|
226
255
|
}, emailFormProps),
|
|
227
|
-
isLoading: isSubmitting,
|
|
228
|
-
validationSchema: customValidationSchema || FORM_VALIDATION_SCHEMA,
|
|
229
|
-
formikProps: _objectSpread({
|
|
230
|
-
validateOnBlur: true,
|
|
231
|
-
validateOnChange: true
|
|
232
|
-
}, pureFormikProps),
|
|
233
256
|
headerProps: {
|
|
234
257
|
title: formattedTitle,
|
|
235
258
|
titleHelpPopoverProps: helpPopoverProps,
|
|
236
259
|
breadcrumbs: breadcrumbs
|
|
237
260
|
},
|
|
238
|
-
initialValues: parseEmailNotificationData(data,
|
|
261
|
+
initialValues: parseEmailNotificationData(data, emailFormProps === null || emailFormProps === void 0 || (_emailFormProps$sendT = emailFormProps.sendToFieldProps) === null || _emailFormProps$sendT === void 0 ? void 0 : _emailFormProps$sendT.options),
|
|
239
262
|
switchProps: {
|
|
240
|
-
label:
|
|
263
|
+
label: formattedNotificationToggleLabel,
|
|
241
264
|
disabled: disabled,
|
|
242
265
|
"data-cy": "receive-email-notification-switch"
|
|
243
266
|
},
|
|
244
267
|
onSubmit: handleSubmit,
|
|
245
268
|
children: children
|
|
246
|
-
})
|
|
269
|
+
}))
|
|
247
270
|
});
|
|
248
271
|
};
|
|
249
272
|
|
|
@@ -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 } 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","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} 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 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 || isResetting}\n validationSchema={customValidationSchema || FORM_VALIDATION_SCHEMA}\n emailFormProps={{\n editorRef,\n handleResetToDefault,\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","NeetoEmailNotificationForm","_emailFormProps$sendT","_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","formattedTitle","formattedNotificationToggleLabel","customValidationSchema","validationSchema","formikProps","handleResetToDefault","_editorRef$current","emailNotification","current","editor","commands","setContent","EmailForm","headerProps","titleHelpPopoverProps","initialValues","sendToFieldProps","switchProps","onSubmit"],"mappings":"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"}
|
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
4
4
|
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
5
|
+
var react = require('react');
|
|
5
6
|
var neetoCist = require('@bigbinary/neeto-cist');
|
|
6
|
-
var
|
|
7
|
+
var EmailForm = require('@bigbinary/neeto-molecules/EmailForm');
|
|
7
8
|
var Spinner = require('@bigbinary/neetoui/Spinner');
|
|
8
9
|
var ramda = require('ramda');
|
|
9
10
|
var reactI18next = require('react-i18next');
|
|
@@ -33,19 +34,24 @@ function _interopNamespaceDefault(e) {
|
|
|
33
34
|
|
|
34
35
|
var yup__namespace = /*#__PURE__*/_interopNamespaceDefault(yup);
|
|
35
36
|
|
|
36
|
-
var
|
|
37
|
+
var EMAIL_NOTIFICATIONS_BASE_URL = "neeto_email_notifications/email_notification";
|
|
38
|
+
var RESET_EMAIL_NOTIFICATIONS_TO_DEFAULT_URL = "".concat(EMAIL_NOTIFICATIONS_BASE_URL, "/reset_to_default");
|
|
37
39
|
|
|
38
40
|
var fetch = function fetch(params) {
|
|
39
|
-
return axios.get(
|
|
41
|
+
return axios.get(EMAIL_NOTIFICATIONS_BASE_URL, {
|
|
40
42
|
params: params
|
|
41
43
|
});
|
|
42
44
|
};
|
|
43
45
|
var update = function update(payload) {
|
|
44
|
-
return axios.put(
|
|
46
|
+
return axios.put(EMAIL_NOTIFICATIONS_BASE_URL, payload);
|
|
47
|
+
};
|
|
48
|
+
var resetToDefault = function resetToDefault(params) {
|
|
49
|
+
return axios.post(RESET_EMAIL_NOTIFICATIONS_TO_DEFAULT_URL, params);
|
|
45
50
|
};
|
|
46
51
|
var emailNotificationsApi = {
|
|
47
52
|
fetch: fetch,
|
|
48
|
-
update: update
|
|
53
|
+
update: update,
|
|
54
|
+
resetToDefault: resetToDefault
|
|
49
55
|
};
|
|
50
56
|
|
|
51
57
|
var QUERY_KEYS = {
|
|
@@ -73,13 +79,29 @@ var useUpdateEmailNotification = function useUpdateEmailNotification() {
|
|
|
73
79
|
}]
|
|
74
80
|
});
|
|
75
81
|
};
|
|
82
|
+
var useResetEmailNotificationToDefault = function useResetEmailNotificationToDefault() {
|
|
83
|
+
return reactUtils.useMutationWithInvalidation(emailNotificationsApi.resetToDefault, {
|
|
84
|
+
keysToInvalidate: [function (_, _ref2) {
|
|
85
|
+
var notificationHolderId = _ref2.notificationHolderId,
|
|
86
|
+
customFields = _ref2.customFields;
|
|
87
|
+
return [QUERY_KEYS.NEETO_EMAIL_NOTIFICATIONS, notificationHolderId, customFields];
|
|
88
|
+
}]
|
|
89
|
+
});
|
|
90
|
+
};
|
|
76
91
|
|
|
77
92
|
var FORM_VALIDATION_SCHEMA = {
|
|
78
93
|
isEnabled: yup__namespace["boolean"]()
|
|
79
94
|
};
|
|
95
|
+
var DEFAULT_FIELDS_VISIBILITY = {
|
|
96
|
+
showSendToField: true,
|
|
97
|
+
showReplyToField: false,
|
|
98
|
+
showSendToAsRadio: false,
|
|
99
|
+
showBccField: false,
|
|
100
|
+
showCcField: false
|
|
101
|
+
};
|
|
80
102
|
|
|
81
103
|
var _excluded$1 = ["notifyEmails", "notifyCcEmails", "notifyBccEmails", "replyToId", "customFields"],
|
|
82
|
-
_excluded2 = ["id", "isEnabled", "sendTo", "sendToCc", "sendToBcc", "showCopyEmails", "replyTo", "message", "subject", "sendFrom", "
|
|
104
|
+
_excluded2 = ["id", "isEnabled", "sendTo", "sendToCc", "sendToBcc", "showCopyEmails", "replyTo", "message", "subject", "sendFrom", "sendToId"];
|
|
83
105
|
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; }
|
|
84
106
|
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; }
|
|
85
107
|
var isValidEmail = function isValidEmail(email) {
|
|
@@ -116,7 +138,7 @@ var parseEmailNotificationData = function parseEmailNotificationData(data, sendT
|
|
|
116
138
|
parsed.showCopyEmails = !!(notifyCcEmails !== null && notifyCcEmails !== void 0 && notifyCcEmails.length || notifyBccEmails !== null && notifyBccEmails !== void 0 && notifyBccEmails.length);
|
|
117
139
|
return parsed;
|
|
118
140
|
};
|
|
119
|
-
var packEmailPayload = function packEmailPayload(values, isReplyToDropdownField) {
|
|
141
|
+
var packEmailPayload = function packEmailPayload(values, isReplyToDropdownField, isDisabledByUser) {
|
|
120
142
|
values.id;
|
|
121
143
|
var isEnabled = values.isEnabled,
|
|
122
144
|
sendTo = values.sendTo,
|
|
@@ -127,7 +149,6 @@ var packEmailPayload = function packEmailPayload(values, isReplyToDropdownField)
|
|
|
127
149
|
message = values.message,
|
|
128
150
|
subject = values.subject,
|
|
129
151
|
sendFrom = values.sendFrom,
|
|
130
|
-
disabledByUser = values.disabledByUser,
|
|
131
152
|
sendToId = values.sendToId,
|
|
132
153
|
rest = _objectWithoutProperties(values, _excluded2);
|
|
133
154
|
var payload = {
|
|
@@ -156,7 +177,7 @@ var packEmailPayload = function packEmailPayload(values, isReplyToDropdownField)
|
|
|
156
177
|
payload.sendFrom = sendFrom;
|
|
157
178
|
} else {
|
|
158
179
|
payload.customFields = {
|
|
159
|
-
disabledByUser:
|
|
180
|
+
disabledByUser: isDisabledByUser
|
|
160
181
|
};
|
|
161
182
|
}
|
|
162
183
|
return payload;
|
|
@@ -165,7 +186,7 @@ var renderText = function renderText(text, fallbackTranslation) {
|
|
|
165
186
|
return ramda.isEmpty(text) ? fallbackTranslation : text;
|
|
166
187
|
};
|
|
167
188
|
|
|
168
|
-
var _excluded = ["validationSchema"
|
|
189
|
+
var _excluded = ["validationSchema"];
|
|
169
190
|
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; }
|
|
170
191
|
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; }
|
|
171
192
|
var NeetoEmailNotificationForm = function NeetoEmailNotificationForm(_ref) {
|
|
@@ -180,21 +201,24 @@ var NeetoEmailNotificationForm = function NeetoEmailNotificationForm(_ref) {
|
|
|
180
201
|
emailFormikProps = _ref$emailFormikProps === void 0 ? {} : _ref$emailFormikProps,
|
|
181
202
|
_ref$title = _ref.title,
|
|
182
203
|
title = _ref$title === void 0 ? "" : _ref$title,
|
|
183
|
-
_ref$
|
|
184
|
-
|
|
185
|
-
_ref$
|
|
186
|
-
|
|
204
|
+
_ref$notificationTogg = _ref.notificationToggleLabel,
|
|
205
|
+
notificationToggleLabel = _ref$notificationTogg === void 0 ? "" : _ref$notificationTogg,
|
|
206
|
+
_ref$breadcrumbs = _ref.breadcrumbs,
|
|
207
|
+
breadcrumbs = _ref$breadcrumbs === void 0 ? [] : _ref$breadcrumbs,
|
|
208
|
+
_ref$helpPopoverProps = _ref.helpPopoverProps,
|
|
209
|
+
helpPopoverProps = _ref$helpPopoverProps === void 0 ? {} : _ref$helpPopoverProps,
|
|
187
210
|
_ref$tooltipProps = _ref.tooltipProps,
|
|
188
211
|
tooltipProps = _ref$tooltipProps === void 0 ? {} : _ref$tooltipProps,
|
|
189
|
-
_ref$
|
|
190
|
-
|
|
212
|
+
_ref$disabled = _ref.disabled,
|
|
213
|
+
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
214
|
+
_ref$fieldsVisibility = _ref.fieldsVisibility,
|
|
215
|
+
fieldsVisibility = _ref$fieldsVisibility === void 0 ? {} : _ref$fieldsVisibility,
|
|
191
216
|
_ref$blockNavigation = _ref.blockNavigation,
|
|
192
217
|
blockNavigation = _ref$blockNavigation === void 0 ? false : _ref$blockNavigation,
|
|
193
|
-
_ref$
|
|
194
|
-
|
|
195
|
-
children = _ref.children
|
|
196
|
-
|
|
197
|
-
helpPopoverProps = _ref$helpPopoverProps === void 0 ? {} : _ref$helpPopoverProps;
|
|
218
|
+
_ref$onSuccess = _ref.onSuccess,
|
|
219
|
+
onSuccess = _ref$onSuccess === void 0 ? neetoCist.noop : _ref$onSuccess,
|
|
220
|
+
children = _ref.children;
|
|
221
|
+
var editorRef = react.useRef();
|
|
198
222
|
var _useTranslation = reactI18next.useTranslation(),
|
|
199
223
|
t = _useTranslation.t;
|
|
200
224
|
var _useFetchEmailNotific = useFetchEmailNotifications(emailNotificationParams),
|
|
@@ -204,10 +228,14 @@ var NeetoEmailNotificationForm = function NeetoEmailNotificationForm(_ref) {
|
|
|
204
228
|
var _useUpdateEmailNotifi = useUpdateEmailNotification(),
|
|
205
229
|
updateEmailNotification = _useUpdateEmailNotifi.mutate,
|
|
206
230
|
isSubmitting = _useUpdateEmailNotifi.isPending;
|
|
231
|
+
var _useResetEmailNotific = useResetEmailNotificationToDefault(),
|
|
232
|
+
resetToDefault = _useResetEmailNotific.mutate,
|
|
233
|
+
isResetting = _useResetEmailNotific.isPending;
|
|
207
234
|
var handleSubmit = function handleSubmit(values) {
|
|
208
235
|
var _emailFormProps$reply;
|
|
236
|
+
var isDisabledByUser = data.isEnabled && !values.isEnabled;
|
|
209
237
|
var isReplyToDropdownField = (emailFormProps === null || emailFormProps === void 0 || (_emailFormProps$reply = emailFormProps.replyToFieldProps) === null || _emailFormProps$reply === void 0 ? void 0 : _emailFormProps$reply.options) !== undefined;
|
|
210
|
-
var body = ramda.mergeDeepLeft(packEmailPayload(values, isReplyToDropdownField), emailNotificationParams);
|
|
238
|
+
var body = ramda.mergeDeepLeft(packEmailPayload(values, isReplyToDropdownField, isDisabledByUser), emailNotificationParams);
|
|
211
239
|
updateEmailNotification(body, {
|
|
212
240
|
onSuccess: onSuccess
|
|
213
241
|
});
|
|
@@ -219,51 +247,46 @@ var NeetoEmailNotificationForm = function NeetoEmailNotificationForm(_ref) {
|
|
|
219
247
|
});
|
|
220
248
|
}
|
|
221
249
|
var formattedTitle = renderText(title, t("neetoEmailNotifications.emailNotification.title"));
|
|
222
|
-
var
|
|
250
|
+
var formattedNotificationToggleLabel = renderText(notificationToggleLabel, t("neetoEmailNotifications.emailNotification.notificationToggleLabel"));
|
|
223
251
|
var customValidationSchema = emailFormikProps.validationSchema,
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
252
|
+
formikProps = _objectWithoutProperties(emailFormikProps, _excluded);
|
|
253
|
+
var handleResetToDefault = function handleResetToDefault() {
|
|
254
|
+
resetToDefault(emailNotificationParams, {
|
|
255
|
+
onSuccess: function onSuccess(_ref2) {
|
|
256
|
+
var _editorRef$current;
|
|
257
|
+
var emailNotification = _ref2.emailNotification;
|
|
258
|
+
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);
|
|
259
|
+
}
|
|
260
|
+
});
|
|
261
|
+
};
|
|
233
262
|
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
234
263
|
className: "min-w-0 flex-grow overflow-y-auto",
|
|
235
|
-
children: /*#__PURE__*/jsxRuntime.jsx(
|
|
264
|
+
children: /*#__PURE__*/jsxRuntime.jsx(EmailForm, _objectSpread(_objectSpread({}, _objectSpread({
|
|
236
265
|
blockNavigation: blockNavigation,
|
|
237
266
|
emailPreviewProps: emailPreviewProps,
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
showSendToField: true,
|
|
267
|
+
formikProps: formikProps,
|
|
268
|
+
tooltipProps: tooltipProps
|
|
269
|
+
}, ramda.mergeLeft(fieldsVisibility, DEFAULT_FIELDS_VISIBILITY))), {}, {
|
|
270
|
+
isLoading: isSubmitting || isResetting,
|
|
271
|
+
validationSchema: customValidationSchema || FORM_VALIDATION_SCHEMA,
|
|
244
272
|
emailFormProps: _objectSpread({
|
|
245
|
-
|
|
273
|
+
editorRef: editorRef,
|
|
274
|
+
handleResetToDefault: handleResetToDefault
|
|
246
275
|
}, emailFormProps),
|
|
247
|
-
isLoading: isSubmitting,
|
|
248
|
-
validationSchema: customValidationSchema || FORM_VALIDATION_SCHEMA,
|
|
249
|
-
formikProps: _objectSpread({
|
|
250
|
-
validateOnBlur: true,
|
|
251
|
-
validateOnChange: true
|
|
252
|
-
}, pureFormikProps),
|
|
253
276
|
headerProps: {
|
|
254
277
|
title: formattedTitle,
|
|
255
278
|
titleHelpPopoverProps: helpPopoverProps,
|
|
256
279
|
breadcrumbs: breadcrumbs
|
|
257
280
|
},
|
|
258
|
-
initialValues: parseEmailNotificationData(data,
|
|
281
|
+
initialValues: parseEmailNotificationData(data, emailFormProps === null || emailFormProps === void 0 || (_emailFormProps$sendT = emailFormProps.sendToFieldProps) === null || _emailFormProps$sendT === void 0 ? void 0 : _emailFormProps$sendT.options),
|
|
259
282
|
switchProps: {
|
|
260
|
-
label:
|
|
283
|
+
label: formattedNotificationToggleLabel,
|
|
261
284
|
disabled: disabled,
|
|
262
285
|
"data-cy": "receive-email-notification-switch"
|
|
263
286
|
},
|
|
264
287
|
onSubmit: handleSubmit,
|
|
265
288
|
children: children
|
|
266
|
-
})
|
|
289
|
+
}))
|
|
267
290
|
});
|
|
268
291
|
};
|
|
269
292
|
|
|
@@ -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 } 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","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} 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 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 || isResetting}\n validationSchema={customValidationSchema || FORM_VALIDATION_SCHEMA}\n emailFormProps={{\n editorRef,\n handleResetToDefault,\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","NeetoEmailNotificationForm","_emailFormProps$sendT","_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","formattedTitle","formattedNotificationToggleLabel","customValidationSchema","validationSchema","formikProps","handleResetToDefault","_editorRef$current","emailNotification","current","editor","commands","setContent","EmailForm","headerProps","titleHelpPopoverProps","initialValues","sendToFieldProps","switchProps","onSubmit"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAO,IAAMA,4BAA4B,GACvC,8CAA8C;AAEzC,IAAMC,wCAAwC,GAAA,EAAA,CAAAC,MAAA,CAAMF,4BAA4B,EAAmB,mBAAA,CAAA;;ACI1G,IAAMG,KAAK,GAAG,SAARA,KAAKA,CAAGC,MAAM,EAAA;AAAA,EAAA,OAAIC,KAAK,CAACC,GAAG,CAACN,4BAA4B,EAAE;AAAEI,IAAAA,MAAM,EAANA;AAAO,GAAC,CAAC;AAAA,CAAA;AAE3E,IAAMG,MAAM,GAAG,SAATA,MAAMA,CAAGC,OAAO,EAAA;AAAA,EAAA,OAAIH,KAAK,CAACI,GAAG,CAACT,4BAA4B,EAAEQ,OAAO,CAAC;AAAA,CAAA;AAE1E,IAAME,cAAc,GAAG,SAAjBA,cAAcA,CAAGN,MAAM,EAAA;AAAA,EAAA,OAC3BC,KAAK,CAACM,IAAI,CAACV,wCAAwC,EAAEG,MAAM,CAAC;AAAA,CAAA;AAE9D,IAAMQ,qBAAqB,GAAG;AAAET,EAAAA,KAAK,EAALA,KAAK;AAAEI,EAAAA,MAAM,EAANA,MAAM;AAAEG,EAAAA,cAAc,EAAdA;AAAe,CAAC;;ACdxD,IAAMG,UAAU,GAAG;AACxBC,EAAAA,yBAAyB,EAAE;AAC7B,CAAC;;ACOM,IAAMC,0BAA0B,GAAG,SAA7BA,0BAA0BA,CAAGX,MAAM,EAAA;AAAA,EAAA,OAC9CY,mBAAQ,CAAC;AACPC,IAAAA,QAAQ,EAAE,CACRJ,UAAU,CAACC,yBAAyB,EACpCV,MAAM,CAAC,sBAAsB,CAAC,EAC9BA,MAAM,CAAC,cAAc,CAAC,CACvB;IACDc,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,MAAA,OAAQN,qBAAqB,CAACT,KAAK,CAACC,MAAM,CAAC;AAAA,KAAA;AAClDe,IAAAA,SAAS,EAAEC,4BAAkB;AAC7BC,IAAAA,MAAM,EAAEC,UAAI,CAAC,mBAAmB,CAAC;IACjCC,OAAO,EAAEC,oBAAU,CAACpB,MAAM;AAC5B,GAAC,CAAC;AAAA,CAAA;AAEG,IAAMqB,0BAA0B,GAAG,SAA7BA,0BAA0BA,GAAA;EAAA,OACrCC,sCAA2B,CAAC,UAAAtB,MAAM,EAAA;AAAA,IAAA,OAAIQ,qBAAqB,CAACL,MAAM,CAACH,MAAM,CAAC;GAAE,EAAA;AAC1EuB,IAAAA,gBAAgB,EAAE,CAChB,UAACC,CAAC,EAAAC,IAAA,EAAA;AAAA,MAAA,IAAIC,oBAAoB,GAAAD,IAAA,CAApBC,oBAAoB;AAAA,MAAA,OAAO,CAC/BjB,UAAU,CAACC,yBAAyB,EACpCgB,oBAAoB,CACrB;AAAA,KAAA;AAEL,GAAC,CAAC;AAAA,CAAA;AAEG,IAAMC,kCAAkC,GAAG,SAArCA,kCAAkCA,GAAA;AAAA,EAAA,OAC7CL,sCAA2B,CAACd,qBAAqB,CAACF,cAAc,EAAE;AAChEiB,IAAAA,gBAAgB,EAAE,CAChB,UAACC,CAAC,EAAAI,KAAA,EAAA;AAAA,MAAA,IAAIF,oBAAoB,GAAAE,KAAA,CAApBF,oBAAoB;QAAEG,YAAY,GAAAD,KAAA,CAAZC,YAAY;MAAA,OAAO,CAC7CpB,UAAU,CAACC,yBAAyB,EACpCgB,oBAAoB,EACpBG,YAAY,CACb;AAAA,KAAA;AAEL,GAAC,CAAC;AAAA,CAAA;;ACvCG,IAAMC,sBAAsB,GAAG;EAAEC,SAAS,EAAEC,cAAG,CAAA,SAAA,CAAQ;AAAG,CAAC;AAE3D,IAAMC,yBAAyB,GAAG;AACvCC,EAAAA,eAAe,EAAE,IAAI;AACrBC,EAAAA,gBAAgB,EAAE,KAAK;AACvBC,EAAAA,iBAAiB,EAAE,KAAK;AACxBC,EAAAA,YAAY,EAAE,KAAK;AACnBC,EAAAA,WAAW,EAAE;AACf,CAAC;;;;;;ACND,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAGC,KAAK,EAAA;EAAA,OAAIC,UAAM,EAAE,CAACD,KAAK,EAAE,CAACE,WAAW,CAACF,KAAK,CAAC;AAAA,CAAA;AAEjE,IAAMG,kBAAkB,GAAG,SAArBA,kBAAkBA,GAAA;AAAA,EAAA,IAAIC,MAAM,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,EAAE;AAAA,EAAA,OACrCD,MAAM,CAACI,GAAG,CAAC,UAAAR,KAAK,EAAA;IAAA,OAAK;AACnBS,MAAAA,KAAK,EAAET,KAAK;AACZU,MAAAA,KAAK,EAAEV,KAAK;MACZW,KAAK,EAAEZ,YAAY,CAACC,KAAK;KAC1B;AAAA,GAAC,CAAC;AAAA,CAAA;AAEE,IAAMY,kBAAkB,GAAG,SAArBA,kBAAkBA,GAAA;AAAA,EAAA,IAAIC,YAAY,GAAAR,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,EAAE;EAAA,OAClDQ,YAAY,CAACL,GAAG,CAAC9B,UAAI,CAAC,OAAO,CAAC,CAAC;AAAA,CAAA;AAE1B,IAAMoC,0BAA0B,GAAG,SAA7BA,0BAA0BA,CAAIC,IAAI,EAAEC,aAAa,EAAK;AAAA,EAAA,IAAAC,eAAA;AACjE,EAAA,IACEC,YAAY,GAMVH,IAAI,CANNG,YAAY;IACZC,cAAc,GAKZJ,IAAI,CALNI,cAAc;IACdC,eAAe,GAIbL,IAAI,CAJNK,eAAe;IACfC,SAAS,GAGPN,IAAI,CAHNM,SAAS;IACThC,YAAY,GAEV0B,IAAI,CAFN1B,YAAY;AACTiC,IAAAA,IAAI,GAAAC,wBAAA,CACLR,IAAI,EAAAS,WAAA,CAAA;EAER,IAAMC,MAAM,GAAAC,eAAA,CAAAA,eAAA,CAAQrC,EAAAA,EAAAA,YAAY,CAAKiC,EAAAA,IAAI,CAAE;EAC3CG,MAAM,CAACE,MAAM,GAAGT,YAAY,GAAGf,kBAAkB,CAACe,YAAY,CAAC,GAAG,EAAE;EACpEO,MAAM,CAACG,QAAQ,GAAGT,cAAc,GAAGhB,kBAAkB,CAACgB,cAAc,CAAC,GAAG,EAAE;EAC1EM,MAAM,CAACI,SAAS,GAAGV,cAAc,GAAGhB,kBAAkB,CAACiB,eAAe,CAAC,GAAG,EAAE;EAC5EK,MAAM,CAACK,OAAO,GAAGT,SAAS,IAAIhC,YAAY,CAAC,SAAS,CAAC;EACrDoC,MAAM,CAACM,QAAQ,GAAG1C,YAAY,CAAC,UAAU,CAAC,KAAI2B,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAA,KAAA,CAAA,IAAA,CAAAC,eAAA,GAAbD,aAAa,CAAG,CAAC,CAAC,MAAA,IAAA,IAAAC,eAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAlBA,eAAA,CAAoBP,KAAK,CAAA,IAAI,EAAE;EAC7Ee,MAAM,CAACO,cAAc,GAAG,CAAC,EAAEb,cAAc,KAAA,IAAA,IAAdA,cAAc,KAAdA,KAAAA,CAAAA,IAAAA,cAAc,CAAEb,MAAM,IAAIc,eAAe,KAAfA,IAAAA,IAAAA,eAAe,eAAfA,eAAe,CAAEd,MAAM,CAAC;AAE7E,EAAA,OAAOmB,MAAM;AACf,CAAC;AAEM,IAAMQ,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAC3BC,MAAM,EACNC,sBAAsB,EACtBC,gBAAgB,EACb;AACH,EAcIF,MAAM,CAZRG,EAAE;QACF9C,SAAS,GAWP2C,MAAM,CAXR3C,SAAS;IACToC,MAAM,GAUJO,MAAM,CAVRP,MAAM;IACNC,QAAQ,GASNM,MAAM,CATRN,QAAQ;IACRC,SAAS,GAQPK,MAAM,CARRL,SAAS;IACTG,cAAc,GAOZE,MAAM,CAPRF,cAAc;IACdF,OAAO,GAMLI,MAAM,CANRJ,OAAO;IACPQ,OAAO,GAKLJ,MAAM,CALRI,OAAO;IACPC,OAAO,GAILL,MAAM,CAJRK,OAAO;IACPC,QAAQ,GAGNN,MAAM,CAHRM,QAAQ;IACRT,QAAQ,GAENG,MAAM,CAFRH,QAAQ;AACLT,IAAAA,IAAI,GAAAC,wBAAA,CACLW,MAAM,EAAAO,UAAA;AACV,EAAA,IAAI7E,OAAO,GAAG;AAAE2B,IAAAA,SAAS,EAATA;GAAW;AAE3B,EAAA,IAAIA,SAAS,EAAE;AACb3B,IAAAA,OAAO,GAAA8D,eAAA,CAAQ9D,EAAAA,EAAAA,OAAO,CAAE;AACxBA,IAAAA,OAAO,CAACsD,YAAY,GAAGN,kBAAkB,CAACe,MAAM,CAAC;IACjD/D,OAAO,CAACwD,eAAe,GAAGY,cAAc,GACpCpB,kBAAkB,CAACiB,SAAS,CAAC,GAC7B,EAAE;IAENjE,OAAO,CAACuD,cAAc,GAAGa,cAAc,GAAGpB,kBAAkB,CAACgB,QAAQ,CAAC,GAAG,EAAE;AAC3E,IAAA,IAAIO,sBAAsB,EAAE;MAC1BvE,OAAO,CAACyD,SAAS,GAAGS,OAAO;AAC7B,KAAC,MAAM;MACLR,IAAI,CAACQ,OAAO,GAAGA,OAAO;AACxB;IACAlE,OAAO,CAAC0E,OAAO,GAAGA,OAAO;IACzB1E,OAAO,CAAC2E,OAAO,GAAGA,OAAO;AACzB3E,IAAAA,OAAO,CAACyB,YAAY,GAAAqC,eAAA,CAAAA,eAAA,KAAQJ,IAAI,CAAA,EAAA,EAAA,EAAA;AAAEoB,MAAAA,cAAc,EAAE;KAAO,CAAA;AAEzD,IAAA,IAAI9D,oBAAU,CAACmD,QAAQ,CAAC,EAAE;MACxBnE,OAAO,CAACyB,YAAY,GAAGsD,eAAS,CAAC/E,OAAO,CAACyB,YAAY,EAAE;AAAE0C,QAAAA,QAAQ,EAARA;AAAS,OAAC,CAAC;AACtE;IACAnE,OAAO,CAAC4E,QAAQ,GAAGA,QAAQ;AAC7B,GAAC,MAAM;IACL5E,OAAO,CAACyB,YAAY,GAAG;AAAEqD,MAAAA,cAAc,EAAEN;KAAkB;AAC7D;AAEA,EAAA,OAAOxE,OAAO;AAChB,CAAC;AAEM,IAAMgF,UAAU,GAAG,SAAbA,UAAUA,CAAIC,IAAI,EAAEC,mBAAmB,EAAA;AAAA,EAAA,OAClDC,aAAO,CAACF,IAAI,CAAC,GAAGC,mBAAmB,GAAGD,IAAI;AAAA,CAAA;;;;;ACnE5C,IAAMG,0BAA0B,GAAG,SAA7BA,0BAA0BA,CAAA/D,IAAA,EAe1B;AAAA,EAAA,IAAAgE,qBAAA;AAAA,EAAA,IAAAC,qBAAA,GAAAjE,IAAA,CAdJkE,uBAAuB;AAAvBA,IAAAA,uBAAuB,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;IAAAE,qBAAA,GAAAnE,IAAA,CAC5BoE,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;IAAAE,mBAAA,GAAArE,IAAA,CACtBsE,cAAc;AAAdA,IAAAA,cAAc,GAAAD,mBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,mBAAA;IAAAE,qBAAA,GAAAvE,IAAA,CACnBwE,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;IAAAE,UAAA,GAAAzE,IAAA,CACrB0E,KAAK;AAALA,IAAAA,KAAK,GAAAD,UAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,UAAA;IAAAE,qBAAA,GAAA3E,IAAA,CACV4E,uBAAuB;AAAvBA,IAAAA,uBAAuB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA;IAAAE,gBAAA,GAAA7E,IAAA,CAC5B8E,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,gBAAA;IAAAE,qBAAA,GAAA/E,IAAA,CAChBgF,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;IAAAE,iBAAA,GAAAjF,IAAA,CACrBkF,YAAY;AAAZA,IAAAA,YAAY,GAAAD,iBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,iBAAA;IAAAE,aAAA,GAAAnF,IAAA,CACjBoF,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA;IAAAE,qBAAA,GAAArF,IAAA,CAChBsF,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;IAAAE,oBAAA,GAAAvF,IAAA,CACrBwF,eAAe;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,oBAAA;IAAAE,cAAA,GAAAzF,IAAA,CACvB0F,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAGE,KAAAA,CAAAA,GAAAA,cAAI,GAAAF,cAAA;IAChBG,QAAQ,GAAA5F,IAAA,CAAR4F,QAAQ;AAER,EAAA,IAAMC,SAAS,GAAGC,YAAM,EAAE;AAE1B,EAAA,IAAAC,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;AAET,EAAA,IAAAC,qBAAA,GAAiChH,0BAA0B,CACzDgF,uBACF,CAAC;IAAAiC,sBAAA,GAAAD,qBAAA,CAFOpE,IAAI;AAAJA,IAAAA,IAAI,GAAAqE,sBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,sBAAA;IAAEC,SAAS,GAAAF,qBAAA,CAATE,SAAS;AAI5B,EAAA,IAAAC,qBAAA,GACEzG,0BAA0B,EAAE;IADd0G,uBAAuB,GAAAD,qBAAA,CAA/BE,MAAM;IAAsCC,YAAY,GAAAH,qBAAA,CAAvBI,SAAS;AAGlD,EAAA,IAAAC,qBAAA,GACExG,kCAAkC,EAAE;IADtBrB,cAAc,GAAA6H,qBAAA,CAAtBH,MAAM;IAA6BI,WAAW,GAAAD,qBAAA,CAAtBD,SAAS;AAGzC,EAAA,IAAMG,YAAY,GAAG,SAAfA,YAAYA,CAAG3D,MAAM,EAAI;AAAA,IAAA,IAAA4D,qBAAA;IAC7B,IAAM1D,gBAAgB,GAAGrB,IAAI,CAACxB,SAAS,IAAI,CAAC2C,MAAM,CAAC3C,SAAS;AAC5D,IAAA,IAAM4C,sBAAsB,GAC1B,CAAAoB,cAAc,KAAdA,IAAAA,IAAAA,cAAc,gBAAAuC,qBAAA,GAAdvC,cAAc,CAAEwC,iBAAiB,cAAAD,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAjCA,qBAAA,CAAmCE,OAAO,MAAKzF,SAAS;AAE1D,IAAA,IAAM0F,IAAI,GAAGC,mBAAa,CACxBjE,gBAAgB,CAACC,MAAM,EAAEC,sBAAsB,EAAEC,gBAAgB,CAAC,EAClEe,uBACF,CAAC;IACDoC,uBAAuB,CAACU,IAAI,EAAE;AAAEtB,MAAAA,SAAS,EAATA;AAAU,KAAC,CAAC;GAC7C;AAED,EAAA,IAAIU,SAAS,IAAIc,sBAAY,CAACpF,IAAI,CAAC,EAAE;AACnC,IAAA,oBACEqF,cAAA,CAAA,KAAA,EAAA;AAAKC,MAAAA,SAAS,EAAC,gDAAgD;AAAAxB,MAAAA,QAAA,eAC7DuB,cAAA,CAACE,OAAO,EAAE,EAAA;AAAC,KACR,CAAC;AAEV;EAEA,IAAMC,cAAc,GAAG3D,UAAU,CAC/Be,KAAK,EACLuB,CAAC,CAAC,iDAAiD,CACrD,CAAC;EAED,IAAMsB,gCAAgC,GAAG5D,UAAU,CACjDiB,uBAAuB,EACvBqB,CAAC,CAAC,mEAAmE,CACvE,CAAC;AAED,EAAA,IAA0BuB,sBAAsB,GAC9ChD,gBAAgB,CADViD,gBAAgB;AAA6BC,IAAAA,WAAW,GAAApF,wBAAA,CAC9DkC,gBAAgB,EAAAjC,SAAA,CAAA;AAElB,EAAA,IAAMoF,oBAAoB,GAAG,SAAvBA,oBAAoBA,GAAS;IACjC9I,cAAc,CAACqF,uBAAuB,EAAE;AACtCwB,MAAAA,SAAS,EAAE,SAAXA,SAASA,CAAAvF,KAAA,EAAA;AAAA,QAAA,IAAAyH,kBAAA;AAAA,QAAA,IAAKC,iBAAiB,GAAA1H,KAAA,CAAjB0H,iBAAiB;AAAA,QAAA,OAC7BhC,SAAS,KAAA,IAAA,IAATA,SAAS,KAAA,KAAA,CAAA,IAAA,CAAA+B,kBAAA,GAAT/B,SAAS,CAAEiC,OAAO,cAAAF,kBAAA,KAAA,KAAA,CAAA,IAAA,CAAAA,kBAAA,GAAlBA,kBAAA,CAAoBG,MAAM,MAAAH,IAAAA,IAAAA,kBAAA,gBAAAA,kBAAA,GAA1BA,kBAAA,CAA4BI,QAAQ,MAAAJ,IAAAA,IAAAA,kBAAA,KAApCA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,kBAAA,CAAsCK,UAAU,CAC9CJ,iBAAiB,CAACxE,OACpB,CAAC;AAAA;AACL,KAAC,CAAC;GACH;AAED,EAAA,oBACE8D,cAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,mCAAmC;IAAAxB,QAAA,eAChDuB,cAAA,CAACe,SAAS,EAAAzF,aAAA,CAAAA,aAAA,CAAA,EAAA,EAAAA,aAAA,CAAA;AAEN+C,MAAAA,eAAe,EAAfA,eAAe;AACfpB,MAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBsD,MAAAA,WAAW,EAAXA,WAAW;AACXxC,MAAAA,YAAY,EAAZA;AAAY,KAAA,EACTxB,eAAS,CAAC4B,gBAAgB,EAAE9E,yBAAyB,CAAC,CAAA,CAAA,EAAA,EAAA,EAAA;MAE3D4F,SAAS,EAAEI,YAAY,IAAIG,WAAY;MACvCc,gBAAgB,EAAED,sBAAsB,IAAInH,sBAAuB;AACnEiE,MAAAA,cAAc,EAAA7B,aAAA,CAAA;AACZoD,QAAAA,SAAS,EAATA,SAAS;AACT8B,QAAAA,oBAAoB,EAApBA;AAAoB,OAAA,EACjBrD,cAAc,CACjB;AACF6D,MAAAA,WAAW,EAAE;AACXzD,QAAAA,KAAK,EAAE4C,cAAc;AACrBc,QAAAA,qBAAqB,EAAEpD,gBAAgB;AACvCF,QAAAA,WAAW,EAAXA;OACA;MACFuD,aAAa,EAAExG,0BAA0B,CACvCC,IAAI,EACJwC,cAAc,KAAA,IAAA,IAAdA,cAAc,KAAAN,KAAAA,CAAAA,IAAAA,CAAAA,qBAAA,GAAdM,cAAc,CAAEgE,gBAAgB,MAAAtE,IAAAA,IAAAA,qBAAA,uBAAhCA,qBAAA,CAAkC+C,OACpC,CAAE;AACFwB,MAAAA,WAAW,EAAE;AACX/G,QAAAA,KAAK,EAAE+F,gCAAgC;AACvCnC,QAAAA,QAAQ,EAARA,QAAQ;AACR,QAAA,SAAS,EAAE;OACX;AACFoD,MAAAA,QAAQ,EAAE5B,YAAa;AAAAhB,MAAAA,QAAA,EAEtBA;KACQ,CAAA;AAAC,GACT,CAAC;AAEV;;;;"}
|
package/dist/cjs/index.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
var NeetoEmailNotificationForm = require('./NeetoEmailNotificationForm.js');
|
|
4
4
|
require('@babel/runtime/helpers/defineProperty');
|
|
5
5
|
require('@babel/runtime/helpers/objectWithoutProperties');
|
|
6
|
+
require('react');
|
|
6
7
|
require('@bigbinary/neeto-cist');
|
|
7
8
|
require('@bigbinary/neeto-molecules/EmailForm');
|
|
8
9
|
require('@bigbinary/neetoui/Spinner');
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { default as NeetoEmailNotificationForm } from './NeetoEmailNotificationForm.js';
|
|
2
2
|
import '@babel/runtime/helpers/defineProperty';
|
|
3
3
|
import '@babel/runtime/helpers/objectWithoutProperties';
|
|
4
|
+
import 'react';
|
|
4
5
|
import '@bigbinary/neeto-cist';
|
|
5
6
|
import '@bigbinary/neeto-molecules/EmailForm';
|
|
6
7
|
import '@bigbinary/neetoui/Spinner';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
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.
|
|
3
|
+
"version": "2.2.15",
|
|
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",
|
|
@@ -61,14 +61,14 @@
|
|
|
61
61
|
"@babel/preset-typescript": "7.26.0",
|
|
62
62
|
"@babel/runtime": "7.26.10",
|
|
63
63
|
"@bigbinary/babel-preset-neeto": "^1.0.3",
|
|
64
|
-
"@bigbinary/eslint-plugin-neeto": "1.
|
|
64
|
+
"@bigbinary/eslint-plugin-neeto": "1.7.0",
|
|
65
65
|
"@bigbinary/neeto-cist": "1.0.17",
|
|
66
|
-
"@bigbinary/neeto-commons-frontend": "4.13.
|
|
67
|
-
"@bigbinary/neeto-editor": "1.47.
|
|
68
|
-
"@bigbinary/neeto-filters-frontend": "4.3.
|
|
66
|
+
"@bigbinary/neeto-commons-frontend": "4.13.47",
|
|
67
|
+
"@bigbinary/neeto-editor": "1.47.21",
|
|
68
|
+
"@bigbinary/neeto-filters-frontend": "4.3.23",
|
|
69
69
|
"@bigbinary/neeto-icons": "1.20.53",
|
|
70
|
-
"@bigbinary/neeto-molecules": "3.16.
|
|
71
|
-
"@bigbinary/neetoui": "8.3.
|
|
70
|
+
"@bigbinary/neeto-molecules": "3.16.87",
|
|
71
|
+
"@bigbinary/neetoui": "8.3.14",
|
|
72
72
|
"@emotion/is-prop-valid": "1.2.0",
|
|
73
73
|
"@faker-js/faker": "8.2.0",
|
|
74
74
|
"@honeybadger-io/js": "6.10.1",
|
|
@@ -177,12 +177,12 @@
|
|
|
177
177
|
"peerDependencies": {
|
|
178
178
|
"@babel/runtime": "7.26.10",
|
|
179
179
|
"@bigbinary/neeto-cist": "1.0.17",
|
|
180
|
-
"@bigbinary/neeto-commons-frontend": "4.13.
|
|
181
|
-
"@bigbinary/neeto-editor": "1.47.
|
|
182
|
-
"@bigbinary/neeto-filters-frontend": "4.3.
|
|
180
|
+
"@bigbinary/neeto-commons-frontend": "4.13.47",
|
|
181
|
+
"@bigbinary/neeto-editor": "1.47.21",
|
|
182
|
+
"@bigbinary/neeto-filters-frontend": "4.3.23",
|
|
183
183
|
"@bigbinary/neeto-icons": "1.20.53",
|
|
184
|
-
"@bigbinary/neeto-molecules": "3.16.
|
|
185
|
-
"@bigbinary/neetoui": "8.3.
|
|
184
|
+
"@bigbinary/neeto-molecules": "3.16.87",
|
|
185
|
+
"@bigbinary/neetoui": "8.3.14",
|
|
186
186
|
"@honeybadger-io/js": "6.10.1",
|
|
187
187
|
"@honeybadger-io/react": "6.1.25",
|
|
188
188
|
"@tailwindcss/container-queries": "^0.1.1",
|
package/types.d.ts
CHANGED
|
@@ -38,48 +38,48 @@ type EmailFormProps = {
|
|
|
38
38
|
className?: string;
|
|
39
39
|
sendToFieldProps?: SendToFieldPropsType;
|
|
40
40
|
replyToFieldProps?: ReplyToFieldPropsType;
|
|
41
|
-
replyToOptions?: FieldOptions[];
|
|
42
|
-
sendToOptions?: FieldOptions[];
|
|
43
41
|
showResetToDefaultButton?: boolean;
|
|
44
42
|
editorRef?: any;
|
|
45
43
|
editorAddons?: any[];
|
|
46
44
|
};
|
|
47
45
|
|
|
48
46
|
type EmailFormikProps = {
|
|
49
|
-
showSendToField?: boolean;
|
|
50
|
-
showReplyToField?: boolean;
|
|
51
|
-
showSendToAsRadio?: boolean;
|
|
52
|
-
showCcField?: boolean;
|
|
53
|
-
showBccField?: boolean;
|
|
54
47
|
onSubmit?: (values: any) => void;
|
|
55
48
|
initialValues?: any;
|
|
56
49
|
children?: React.ReactNode;
|
|
57
50
|
formikProps?: { [key: string]: any };
|
|
58
|
-
validationSchema?: ValidationMap;
|
|
51
|
+
validationSchema?: AnySchema | ValidationMap;
|
|
59
52
|
};
|
|
60
53
|
|
|
61
54
|
type EmailPreviewProps = {
|
|
62
55
|
to?: string[];
|
|
56
|
+
from?: string;
|
|
63
57
|
subject?: string;
|
|
64
58
|
body?: string;
|
|
65
|
-
from?: string;
|
|
66
59
|
logo?: string;
|
|
67
|
-
productName?: string;
|
|
68
60
|
actionButtonText?: string;
|
|
69
61
|
className?: string;
|
|
70
62
|
customContent?: string;
|
|
71
63
|
formatBody?: (content: string, variables?: any) => string;
|
|
72
64
|
formatSubject?: (content: string, variables?: any) => string;
|
|
73
|
-
bodyVariables?:
|
|
74
|
-
subjectVariables?:
|
|
65
|
+
bodyVariables?: ContentVariables[];
|
|
66
|
+
subjectVariables?: ContentVariables[];
|
|
75
67
|
};
|
|
76
68
|
|
|
77
69
|
type EmailNotificationParams = {
|
|
78
|
-
|
|
79
|
-
|
|
70
|
+
notificationHolderType: string;
|
|
71
|
+
notificationHolderId: string;
|
|
80
72
|
customFields?: { [key: string]: any };
|
|
81
73
|
};
|
|
82
74
|
|
|
75
|
+
type FieldsVisibility = {
|
|
76
|
+
showBccField?: boolean;
|
|
77
|
+
showCcField?: boolean;
|
|
78
|
+
showReplyToField?: boolean;
|
|
79
|
+
showSendToAsRadio?: boolean;
|
|
80
|
+
showSendToField?: boolean;
|
|
81
|
+
};
|
|
82
|
+
|
|
83
83
|
interface EmailNotificationProps {
|
|
84
84
|
emailNotificationParams: EmailNotificationParams;
|
|
85
85
|
emailFormProps?: EmailFormProps;
|
|
@@ -87,13 +87,14 @@ interface EmailNotificationProps {
|
|
|
87
87
|
emailPreviewProps?: EmailPreviewProps;
|
|
88
88
|
tooltipProps?: TooltipProps;
|
|
89
89
|
title?: string;
|
|
90
|
-
|
|
90
|
+
notificationToggleLabel?: string;
|
|
91
91
|
disabled?: boolean;
|
|
92
92
|
blockNavigation?: boolean;
|
|
93
93
|
children?: React.ReactNode;
|
|
94
94
|
onSuccess?: Fn;
|
|
95
95
|
breadcrumbs?: Array<{ text: string; link?: string }>;
|
|
96
96
|
helpPopoverProps?: HelpPopoverProps;
|
|
97
|
+
fieldsVisibility?: FieldsVisibility;
|
|
97
98
|
}
|
|
98
99
|
|
|
99
100
|
export const NeetoEmailNotificationForm: React.FC<EmailNotificationProps>;
|