@capillarytech/creatives-library 9.0.15-alpha.1 → 9.0.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/constants/unified.js +0 -29
- package/global-styles.js +1 -1
- package/package.json +1 -1
- package/services/tests/api.test.js +20 -35
- package/utils/commonUtils.js +1 -19
- package/v2Components/CapActionButton/constants.js +0 -7
- package/v2Components/CapActionButton/index.js +109 -168
- package/v2Components/CapActionButton/index.scss +5 -156
- package/v2Components/CapActionButton/messages.js +3 -19
- package/v2Components/CapActionButton/tests/index.test.js +18 -42
- package/v2Components/CapImageUpload/index.js +2 -2
- package/v2Components/CapTagList/index.js +0 -10
- package/v2Components/CommonTestAndPreview/CustomValuesEditor.js +48 -70
- package/v2Components/CommonTestAndPreview/DeliverySettings/DeliverySettings.scss +2 -8
- package/v2Components/CommonTestAndPreview/DeliverySettings/ModifyDeliverySettings.js +21 -214
- package/v2Components/CommonTestAndPreview/DeliverySettings/constants.js +0 -16
- package/v2Components/CommonTestAndPreview/DeliverySettings/index.js +9 -83
- package/v2Components/CommonTestAndPreview/DeliverySettings/messages.js +0 -30
- package/v2Components/CommonTestAndPreview/DeliverySettings/utils/parseSenderDetailsResponse.js +11 -60
- package/v2Components/CommonTestAndPreview/SendTestMessage.js +5 -10
- package/v2Components/CommonTestAndPreview/UnifiedPreview/RcsPreviewContent.js +23 -201
- package/v2Components/CommonTestAndPreview/UnifiedPreview/_unifiedPreview.scss +76 -355
- package/v2Components/CommonTestAndPreview/UnifiedPreview/index.js +8 -155
- package/v2Components/CommonTestAndPreview/_commonTestAndPreview.scss +0 -11
- package/v2Components/CommonTestAndPreview/constants.js +2 -38
- package/v2Components/CommonTestAndPreview/index.js +222 -761
- package/v2Components/CommonTestAndPreview/messages.js +3 -45
- package/v2Components/CommonTestAndPreview/sagas.js +6 -25
- package/v2Components/CommonTestAndPreview/tests/CommonTestAndPreview.addTestCustomer.test.js +0 -1
- package/v2Components/CommonTestAndPreview/tests/CustomValuesEditor.test.js +267 -284
- package/v2Components/CommonTestAndPreview/tests/DeliverySettings/ModifyDeliverySettings.test.js +65 -231
- package/v2Components/CommonTestAndPreview/tests/DeliverySettings/index.test.js +5 -118
- package/v2Components/CommonTestAndPreview/tests/DeliverySettings/utils/parseSenderDetailsResponse.test.js +0 -341
- package/v2Components/CommonTestAndPreview/tests/PreviewSection.test.js +1 -8
- package/v2Components/CommonTestAndPreview/tests/SendTestMessage.test.js +13 -34
- package/v2Components/CommonTestAndPreview/tests/UnifiedPreview/RcsPreviewContent.test.js +283 -281
- package/v2Components/CommonTestAndPreview/tests/UnifiedPreview/index.test.js +1 -199
- package/v2Components/CommonTestAndPreview/tests/index.test.js +4 -133
- package/v2Components/CommonTestAndPreview/tests/sagas.test.js +24 -31
- package/v2Components/TemplatePreview/_templatePreview.scss +22 -41
- package/v2Components/TemplatePreview/index.js +31 -143
- package/v2Components/TemplatePreview/tests/index.test.js +0 -142
- package/v2Components/TestAndPreviewSlidebox/CustomValuesEditor.js +6 -6
- package/v2Components/TestAndPreviewSlidebox/index.js +1 -13
- package/v2Components/TestAndPreviewSlidebox/sagas.js +4 -11
- package/v2Components/TestAndPreviewSlidebox/tests/saga.test.js +1 -3
- package/v2Containers/CommunicationFlow/Tests/CommunicationFlow.test.js +1 -4
- package/v2Containers/CommunicationFlow/steps/DeliverySettingsStep/Tests/DeliverySettingsSection.test.js +0 -4
- package/v2Containers/CommunicationFlow/steps/DeliverySettingsStep/Tests/SenderDetails.test.js +20 -20
- package/v2Containers/CreativesContainer/SlideBoxContent.js +7 -36
- package/v2Containers/CreativesContainer/SlideBoxFooter.js +5 -14
- package/v2Containers/CreativesContainer/SlideBoxHeader.js +5 -36
- package/v2Containers/CreativesContainer/constants.js +0 -11
- package/v2Containers/CreativesContainer/index.js +104 -323
- package/v2Containers/CreativesContainer/index.scss +1 -83
- package/v2Containers/CreativesContainer/tests/SlideBoxFooter.test.js +34 -79
- package/v2Containers/CreativesContainer/tests/SlideBoxHeader.test.js +16 -79
- package/v2Containers/CreativesContainer/tests/__snapshots__/SlideBoxContent.test.js.snap +0 -8
- package/v2Containers/CreativesContainer/tests/__snapshots__/SlideBoxHeader.test.js.snap +90 -333
- package/v2Containers/CreativesContainer/tests/__snapshots__/index.test.js.snap +15 -20
- package/v2Containers/CreativesContainer/tests/index.test.js +9 -71
- package/v2Containers/Email/index.js +5 -2
- package/v2Containers/MobilePush/Create/test/saga.test.js +2 -2
- package/v2Containers/Rcs/constants.js +11 -131
- package/v2Containers/Rcs/index.js +810 -2605
- package/v2Containers/Rcs/index.scss +8 -289
- package/v2Containers/Rcs/messages.js +3 -34
- package/v2Containers/Rcs/tests/__snapshots__/index.test.js.snap +38537 -73535
- package/v2Containers/Rcs/tests/__snapshots__/utils.test.js.snap +8 -0
- package/v2Containers/Rcs/tests/index.test.js +36 -147
- package/v2Containers/Rcs/tests/mockData.js +0 -38
- package/v2Containers/Rcs/tests/utils.test.js +30 -646
- package/v2Containers/Rcs/utils.js +11 -478
- package/v2Containers/Sms/Create/index.js +48 -115
- package/v2Containers/SmsTrai/Create/index.js +4 -9
- package/v2Containers/SmsTrai/Edit/constants.js +0 -2
- package/v2Containers/SmsTrai/Edit/index.js +169 -678
- package/v2Containers/SmsTrai/Edit/messages.js +4 -14
- package/v2Containers/SmsTrai/Edit/tests/__snapshots__/index.test.js.snap +2854 -5455
- package/v2Containers/SmsWrapper/index.js +8 -37
- package/v2Containers/TagList/index.js +0 -6
- package/v2Containers/Templates/_templates.scss +12 -171
- package/v2Containers/Templates/actions.js +0 -11
- package/v2Containers/Templates/constants.js +0 -2
- package/v2Containers/Templates/index.js +55 -125
- package/v2Containers/Templates/sagas.js +13 -57
- package/v2Containers/Templates/tests/__snapshots__/index.test.js.snap +1015 -1060
- package/v2Containers/Templates/tests/sagas.test.js +16 -199
- package/v2Containers/TemplatesV2/TemplatesV2.style.js +1 -72
- package/v2Containers/TemplatesV2/index.js +23 -86
- package/v2Containers/WeChat/MapTemplates/test/saga.test.js +9 -9
- package/v2Containers/Whatsapp/index.js +20 -3
- package/v2Containers/Whatsapp/tests/__snapshots__/index.test.js.snap +34 -578
- package/utils/rcsPayloadUtils.js +0 -92
- package/utils/templateVarUtils.js +0 -201
- package/utils/tests/rcsPayloadUtils.test.js +0 -226
- package/utils/tests/templateVarUtils.test.js +0 -204
- package/v2Components/CommonTestAndPreview/previewApiUtils.js +0 -59
- package/v2Components/CommonTestAndPreview/tests/previewApiUtils.test.js +0 -67
- package/v2Components/CommonTestAndPreview/utils.js +0 -84
- package/v2Components/SmsFallback/SmsFallbackLocalSelector.js +0 -91
- package/v2Components/SmsFallback/constants.js +0 -94
- package/v2Components/SmsFallback/index.js +0 -958
- package/v2Components/SmsFallback/index.scss +0 -266
- package/v2Components/SmsFallback/messages.js +0 -78
- package/v2Components/SmsFallback/smsFallbackUtils.js +0 -120
- package/v2Components/SmsFallback/tests/SmsFallbackLocalSelector.test.js +0 -50
- package/v2Components/SmsFallback/tests/rcsSmsFallback.acceptance.test.js +0 -147
- package/v2Components/SmsFallback/tests/smsFallbackHandlers.test.js +0 -304
- package/v2Components/SmsFallback/tests/smsFallbackUi.test.js +0 -208
- package/v2Components/SmsFallback/tests/smsFallbackUtils.test.js +0 -309
- package/v2Components/SmsFallback/tests/useLocalTemplateList.test.js +0 -422
- package/v2Components/SmsFallback/useLocalTemplateList.js +0 -92
- package/v2Components/TemplatePreview/constants.js +0 -2
- package/v2Components/VarSegmentMessageEditor/constants.js +0 -2
- package/v2Components/VarSegmentMessageEditor/index.js +0 -125
- package/v2Components/VarSegmentMessageEditor/index.scss +0 -46
- package/v2Containers/CreativesContainer/CreativesSlideBoxWrapper.js +0 -17
- package/v2Containers/CreativesContainer/embeddedSlideboxUtils.js +0 -79
- package/v2Containers/CreativesContainer/tests/SlideBoxContent.localTemplates.test.js +0 -90
- package/v2Containers/CreativesContainer/tests/embeddedSlideboxUtils.test.js +0 -258
- package/v2Containers/CreativesContainer/tests/useLocalTemplatesProp.test.js +0 -125
- package/v2Containers/Rcs/rcsLibraryHydrationUtils.js +0 -227
- package/v2Containers/Rcs/tests/rcsLibraryHydrationUtils.test.js +0 -318
- package/v2Containers/Sms/smsFormDataHelpers.js +0 -67
- package/v2Containers/Sms/tests/smsFormDataHelpers.test.js +0 -253
- package/v2Containers/SmsTrai/Edit/index.scss +0 -126
- package/v2Containers/Templates/TemplatesActionBar.js +0 -101
- package/v2Containers/Templates/tests/TemplatesActionBar.test.js +0 -120
- package/v2Containers/Templates/tests/smsTemplatesListApi.test.js +0 -180
- package/v2Containers/Templates/utils/smsTemplatesListApi.js +0 -79
- package/v2Containers/TemplatesV2/tests/TemplatesV2.localTemplates.test.js +0 -131
|
@@ -32,37 +32,16 @@ import {
|
|
|
32
32
|
DELIVERY_SETTING_KEY_SENDER_REPLY_TO,
|
|
33
33
|
DELIVERY_SETTING_KEY_SOURCE_ACCOUNT_IDENTIFIER,
|
|
34
34
|
DELIVERY_SETTING_KEY_SENDER_MOB_NUM,
|
|
35
|
-
DELIVERY_SETTING_KEY_SMS_FALLBACK_DOMAIN_ID,
|
|
36
35
|
} from './constants';
|
|
37
36
|
import './ModifyDeliverySettings.scss';
|
|
38
37
|
|
|
39
38
|
const findDefault = (array) => find(array, { default: true }) || (array && array[0]) || {};
|
|
40
39
|
|
|
41
|
-
/**
|
|
42
|
-
* Drop empty GSM rows. Optionally drop rows whose value equals domain name — some APIs duplicate
|
|
43
|
-
* domain label as a bogus sender row; RCS/DLT often legitimately use the same string (e.g. DetailsForGW1).
|
|
44
|
-
*/
|
|
45
|
-
const filterUsableGsmSendersForDomain = (domain, gsmSenders, { skipDomainNameEchoFilter = false } = {}) => {
|
|
46
|
-
const normalizedDomainName =
|
|
47
|
-
domain?.domainName != null ? String(domain.domainName).trim().toLowerCase() : '';
|
|
48
|
-
return (gsmSenders || []).filter((gsmSenderRow) => {
|
|
49
|
-
const rawValue = gsmSenderRow?.value;
|
|
50
|
-
if (rawValue == null) return false;
|
|
51
|
-
const trimmedSenderValue = String(rawValue).trim();
|
|
52
|
-
if (!trimmedSenderValue) return false;
|
|
53
|
-
const senderMatchesDomainLabel =
|
|
54
|
-
normalizedDomainName && trimmedSenderValue.toLowerCase() === normalizedDomainName;
|
|
55
|
-
if (!skipDomainNameEchoFilter && senderMatchesDomainLabel) return false;
|
|
56
|
-
return true;
|
|
57
|
-
});
|
|
58
|
-
};
|
|
59
|
-
|
|
60
40
|
const ModifyDeliverySettings = (props) => {
|
|
61
41
|
const {
|
|
62
42
|
channel,
|
|
63
43
|
deliverySettings: initialSettings = {},
|
|
64
44
|
senderDetailsOptions = [],
|
|
65
|
-
smsFallbackSenderDetailsOptions = [],
|
|
66
45
|
wecrmAccounts = [],
|
|
67
46
|
onSaveDeliverySettings,
|
|
68
47
|
onClose,
|
|
@@ -123,21 +102,17 @@ const ModifyDeliverySettings = (props) => {
|
|
|
123
102
|
if (!(channel === CHANNELS.SMS && smsTraiDltEnabled)) {
|
|
124
103
|
return allDomainOptions;
|
|
125
104
|
}
|
|
126
|
-
// Without template registered sender IDs, strict DLT filter removes every domain — keep full list.
|
|
127
|
-
if (!registeredSenderIds?.length) {
|
|
128
|
-
return allDomainOptions;
|
|
129
|
-
}
|
|
130
105
|
|
|
131
|
-
return allDomainOptions.filter((domain) => (domain
|
|
132
|
-
(
|
|
106
|
+
return allDomainOptions.filter((domain) => (domain.gsmSenders || []).some(
|
|
107
|
+
(gsmId) => registeredSenderIds.includes(gsmId.value),
|
|
133
108
|
));
|
|
134
109
|
}, [allDomainOptions, channel, registeredSenderIds, smsTraiDltEnabled]);
|
|
135
110
|
|
|
136
111
|
const selectedDomain = useMemo(
|
|
137
112
|
() => (senderDetailsOptions || []).find(
|
|
138
|
-
(
|
|
113
|
+
(d) => d.domainId === get(localSettings, DELIVERY_SETTING_KEY_DOMAIN_ID),
|
|
139
114
|
) || {},
|
|
140
|
-
[senderDetailsOptions,
|
|
115
|
+
[senderDetailsOptions, localSettings.domainId],
|
|
141
116
|
);
|
|
142
117
|
const {
|
|
143
118
|
gsmSenders: selectedDomainGsmSenders = [],
|
|
@@ -145,103 +120,25 @@ const ModifyDeliverySettings = (props) => {
|
|
|
145
120
|
emailRepliers: selectedDomainEmailRepliers = [],
|
|
146
121
|
} = selectedDomain;
|
|
147
122
|
|
|
148
|
-
const rcsSenderOptions = useMemo(
|
|
149
|
-
() => {
|
|
150
|
-
if (channel !== CHANNELS.RCS) return [];
|
|
151
|
-
const rcsDomainRows = senderDetailsOptions || [];
|
|
152
|
-
const selectedRcsDomainId = get(localSettings, DELIVERY_SETTING_KEY_DOMAIN_ID);
|
|
153
|
-
const rcsDomainsForDropdown =
|
|
154
|
-
selectedRcsDomainId != null && selectedRcsDomainId !== ''
|
|
155
|
-
? rcsDomainRows.filter((senderDomain) => senderDomain?.domainId === selectedRcsDomainId)
|
|
156
|
-
: rcsDomainRows;
|
|
157
|
-
return rcsDomainsForDropdown.flatMap((senderDomain) =>
|
|
158
|
-
filterUsableGsmSendersForDomain(senderDomain, senderDomain?.gsmSenders, {
|
|
159
|
-
skipDomainNameEchoFilter: true,
|
|
160
|
-
}).map((gsmSenderRow) => ({
|
|
161
|
-
value: senderDomain?.domainId != null && gsmSenderRow?.value != null
|
|
162
|
-
? `${senderDomain.domainId}|${gsmSenderRow.value}`
|
|
163
|
-
: gsmSenderRow?.value,
|
|
164
|
-
label: String(gsmSenderRow?.value ?? ''),
|
|
165
|
-
})));
|
|
166
|
-
},
|
|
167
|
-
[channel, senderDetailsOptions, localSettings],
|
|
168
|
-
);
|
|
169
|
-
|
|
170
|
-
const rcsGsmSenderIdForSelect = useMemo(() => {
|
|
171
|
-
const raw = get(localSettings, DELIVERY_SETTING_KEY_GSM_SENDER_ID);
|
|
172
|
-
if (raw == null || raw === '') return undefined;
|
|
173
|
-
const allowed = new Set((rcsSenderOptions || []).map((senderOption) => senderOption.value));
|
|
174
|
-
return allowed.has(raw) ? raw : undefined;
|
|
175
|
-
}, [localSettings, rcsSenderOptions]);
|
|
176
|
-
|
|
177
|
-
const smsFallbackDomainOptions = useMemo(
|
|
178
|
-
() => {
|
|
179
|
-
const raw = (smsFallbackSenderDetailsOptions || []).map((senderDetails) => ({
|
|
180
|
-
label: senderDetails.domainName || senderDetails.domainId,
|
|
181
|
-
value: senderDetails.domainId,
|
|
182
|
-
...senderDetails,
|
|
183
|
-
}));
|
|
184
|
-
if (!(channel === CHANNELS.RCS && smsTraiDltEnabled && registeredSenderIds?.length)) {
|
|
185
|
-
return raw;
|
|
186
|
-
}
|
|
187
|
-
return raw.filter((domain) => (domain?.gsmSenders || []).some(
|
|
188
|
-
(gsmSenderOption) => registeredSenderIds?.includes(gsmSenderOption?.value),
|
|
189
|
-
));
|
|
190
|
-
},
|
|
191
|
-
[channel, smsFallbackSenderDetailsOptions, smsTraiDltEnabled, registeredSenderIds],
|
|
192
|
-
);
|
|
193
|
-
|
|
194
|
-
const smsSenderOptions = useMemo(
|
|
195
|
-
() => {
|
|
196
|
-
if (channel !== CHANNELS.RCS) return [];
|
|
197
|
-
const smsFallbackDomainRows = smsFallbackSenderDetailsOptions || [];
|
|
198
|
-
const selectedSmsFallbackDomainId = get(localSettings, DELIVERY_SETTING_KEY_SMS_FALLBACK_DOMAIN_ID);
|
|
199
|
-
const smsFallbackDomainsForDropdown =
|
|
200
|
-
selectedSmsFallbackDomainId != null && selectedSmsFallbackDomainId !== ''
|
|
201
|
-
? smsFallbackDomainRows.filter((senderDomain) => senderDomain?.domainId === selectedSmsFallbackDomainId)
|
|
202
|
-
: smsFallbackDomainRows;
|
|
203
|
-
const shouldFilterSmsSendersByDltRegistration = smsTraiDltEnabled && registeredSenderIds?.length;
|
|
204
|
-
return smsFallbackDomainsForDropdown.flatMap((senderDomain) =>
|
|
205
|
-
filterUsableGsmSendersForDomain(senderDomain, senderDomain?.gsmSenders, { skipDomainNameEchoFilter: true })
|
|
206
|
-
.filter((smsGsmSenderRow) =>
|
|
207
|
-
!shouldFilterSmsSendersByDltRegistration || registeredSenderIds?.includes(smsGsmSenderRow?.value))
|
|
208
|
-
.map((gsmSenderRow) => ({
|
|
209
|
-
value: senderDomain?.domainId != null && gsmSenderRow?.value != null
|
|
210
|
-
? `${senderDomain.domainId}|${gsmSenderRow.value}`
|
|
211
|
-
: gsmSenderRow?.value,
|
|
212
|
-
label: String(gsmSenderRow?.value ?? ''),
|
|
213
|
-
})));
|
|
214
|
-
},
|
|
215
|
-
[channel, smsFallbackSenderDetailsOptions, localSettings, smsTraiDltEnabled, registeredSenderIds],
|
|
216
|
-
);
|
|
217
|
-
|
|
218
|
-
const smsFallbackGsmIdForSelect = useMemo(() => {
|
|
219
|
-
const raw = get(localSettings, DELIVERY_SETTING_KEY_CDMA_SENDER_ID);
|
|
220
|
-
if (raw == null || raw === '') return undefined;
|
|
221
|
-
const allowed = new Set((smsSenderOptions || []).map((senderOption) => senderOption.value));
|
|
222
|
-
return allowed.has(raw) ? raw : undefined;
|
|
223
|
-
}, [localSettings, smsSenderOptions]);
|
|
224
|
-
|
|
225
123
|
const gsmOptions = useMemo(
|
|
226
124
|
() => {
|
|
227
|
-
const
|
|
228
|
-
? selectedDomainGsmSenders.filter((
|
|
229
|
-
registeredSenderIds?.includes(gsmSenderOption?.value))
|
|
125
|
+
const smsGsmSenders = channel === CHANNELS.SMS && smsTraiDltEnabled
|
|
126
|
+
? selectedDomainGsmSenders.filter((gsmId) => registeredSenderIds.includes(gsmId.value))
|
|
230
127
|
: selectedDomainGsmSenders;
|
|
231
128
|
|
|
232
|
-
return
|
|
233
|
-
label:
|
|
234
|
-
value:
|
|
129
|
+
return smsGsmSenders.map((o) => ({
|
|
130
|
+
label: o.value || o.label,
|
|
131
|
+
value: o.value,
|
|
235
132
|
}));
|
|
236
133
|
},
|
|
237
134
|
[channel, registeredSenderIds, selectedDomainGsmSenders, smsTraiDltEnabled],
|
|
238
135
|
);
|
|
239
136
|
|
|
240
137
|
const emailSenderOptions = useMemo(
|
|
241
|
-
() => selectedDomainEmailSenders.map((
|
|
242
|
-
label:
|
|
243
|
-
value:
|
|
244
|
-
senderLabel:
|
|
138
|
+
() => selectedDomainEmailSenders.map((o) => ({
|
|
139
|
+
label: o.value || o.label,
|
|
140
|
+
value: o.value,
|
|
141
|
+
senderLabel: o.label,
|
|
245
142
|
})),
|
|
246
143
|
[selectedDomainEmailSenders],
|
|
247
144
|
);
|
|
@@ -307,54 +204,13 @@ const ModifyDeliverySettings = (props) => {
|
|
|
307
204
|
});
|
|
308
205
|
}, []);
|
|
309
206
|
|
|
310
|
-
const onSmsFallbackDomainChange = useCallback(
|
|
311
|
-
(value) => {
|
|
312
|
-
setLocalSettings((prev) => {
|
|
313
|
-
const next = cloneDeep(prev);
|
|
314
|
-
next[DELIVERY_SETTING_KEY_SMS_FALLBACK_DOMAIN_ID] = value;
|
|
315
|
-
const selectedSmsFallbackDomain = (smsFallbackSenderDetailsOptions || []).find(
|
|
316
|
-
(senderDomain) => senderDomain?.domainId === value,
|
|
317
|
-
);
|
|
318
|
-
const shouldFilterSmsFallbackSendersByDltRegistration =
|
|
319
|
-
channel === CHANNELS.RCS && smsTraiDltEnabled && registeredSenderIds?.length;
|
|
320
|
-
const usableSmsFallbackGsmSenders = filterUsableGsmSendersForDomain(
|
|
321
|
-
selectedSmsFallbackDomain,
|
|
322
|
-
selectedSmsFallbackDomain?.gsmSenders,
|
|
323
|
-
{ skipDomainNameEchoFilter: !!shouldFilterSmsFallbackSendersByDltRegistration },
|
|
324
|
-
);
|
|
325
|
-
const smsFallbackGsmSenders = shouldFilterSmsFallbackSendersByDltRegistration
|
|
326
|
-
? usableSmsFallbackGsmSenders.filter((smsGsmSenderRow) =>
|
|
327
|
-
registeredSenderIds?.includes(smsGsmSenderRow?.value))
|
|
328
|
-
: usableSmsFallbackGsmSenders;
|
|
329
|
-
const firstSmsFallbackGsmSender = smsFallbackGsmSenders[0];
|
|
330
|
-
const composite = selectedSmsFallbackDomain?.domainId != null && firstSmsFallbackGsmSender?.value != null
|
|
331
|
-
? `${selectedSmsFallbackDomain.domainId}|${firstSmsFallbackGsmSender.value}`
|
|
332
|
-
: (firstSmsFallbackGsmSender?.value || '');
|
|
333
|
-
next[DELIVERY_SETTING_KEY_CDMA_SENDER_ID] = composite;
|
|
334
|
-
return next;
|
|
335
|
-
});
|
|
336
|
-
},
|
|
337
|
-
[channel, smsFallbackSenderDetailsOptions, smsTraiDltEnabled, registeredSenderIds],
|
|
338
|
-
);
|
|
339
|
-
|
|
340
207
|
const onDomainChange = useCallback(
|
|
341
208
|
(value) => {
|
|
342
|
-
const domain = domainOptions.find((
|
|
209
|
+
const domain = domainOptions.find((d) => d.value === value);
|
|
343
210
|
updateSetting(DELIVERY_SETTING_KEY_DOMAIN_ID, value);
|
|
344
211
|
if (domain?.dgmId != null) updateSetting(DELIVERY_SETTING_KEY_DOMAIN_GATEWAY_MAP_ID, domain.dgmId);
|
|
345
|
-
if (channel === CHANNELS.RCS && domain) {
|
|
346
|
-
const usableRcsGsmSenders = filterUsableGsmSendersForDomain(domain, domain?.gsmSenders, {
|
|
347
|
-
skipDomainNameEchoFilter: true,
|
|
348
|
-
});
|
|
349
|
-
const firstRcsGsmSender = usableRcsGsmSenders[0];
|
|
350
|
-
const composite = domain?.domainId != null && firstRcsGsmSender?.value != null
|
|
351
|
-
? `${domain.domainId}|${firstRcsGsmSender.value}`
|
|
352
|
-
: (firstRcsGsmSender?.value || '');
|
|
353
|
-
updateSetting(DELIVERY_SETTING_KEY_GSM_SENDER_ID, composite);
|
|
354
|
-
return;
|
|
355
|
-
}
|
|
356
212
|
if (channel === CHANNELS.SMS && domain) {
|
|
357
|
-
const smsGsmSenders = smsTraiDltEnabled
|
|
213
|
+
const smsGsmSenders = smsTraiDltEnabled
|
|
358
214
|
? (domain.gsmSenders || []).filter((gsmId) => registeredSenderIds.includes(gsmId.value))
|
|
359
215
|
: domain.gsmSenders;
|
|
360
216
|
const def = findDefault(smsGsmSenders);
|
|
@@ -374,20 +230,9 @@ const ModifyDeliverySettings = (props) => {
|
|
|
374
230
|
);
|
|
375
231
|
|
|
376
232
|
const handleDone = useCallback(() => {
|
|
377
|
-
|
|
378
|
-
if (channel === CHANNELS.RCS) {
|
|
379
|
-
const rawRcs = get(next, DELIVERY_SETTING_KEY_GSM_SENDER_ID);
|
|
380
|
-
if (rawRcs && !(rcsSenderOptions || []).some((senderOption) => senderOption.value === rawRcs)) {
|
|
381
|
-
next[DELIVERY_SETTING_KEY_GSM_SENDER_ID] = '';
|
|
382
|
-
}
|
|
383
|
-
const rawSms = get(next, DELIVERY_SETTING_KEY_CDMA_SENDER_ID);
|
|
384
|
-
if (rawSms && !(smsSenderOptions || []).some((senderOption) => senderOption.value === rawSms)) {
|
|
385
|
-
next[DELIVERY_SETTING_KEY_CDMA_SENDER_ID] = '';
|
|
386
|
-
}
|
|
387
|
-
}
|
|
388
|
-
onSaveDeliverySettings(next);
|
|
233
|
+
onSaveDeliverySettings(localSettings);
|
|
389
234
|
if (onClose) onClose();
|
|
390
|
-
}, [
|
|
235
|
+
}, [localSettings, onSaveDeliverySettings, onClose]);
|
|
391
236
|
|
|
392
237
|
const renderSelectRow = useCallback(
|
|
393
238
|
({
|
|
@@ -441,7 +286,7 @@ const ModifyDeliverySettings = (props) => {
|
|
|
441
286
|
value: get(localSettings, DELIVERY_SETTING_KEY_SENDER_EMAIL),
|
|
442
287
|
onChange: (val) => {
|
|
443
288
|
const sender = selectedDomainEmailSenders.find(
|
|
444
|
-
(
|
|
289
|
+
(s) => s.value === val,
|
|
445
290
|
);
|
|
446
291
|
updateSetting(DELIVERY_SETTING_KEY_SENDER_EMAIL, val);
|
|
447
292
|
updateSetting(DELIVERY_SETTING_KEY_SENDER_LABEL, sender?.label || val);
|
|
@@ -453,7 +298,7 @@ const ModifyDeliverySettings = (props) => {
|
|
|
453
298
|
value: get(localSettings, DELIVERY_SETTING_KEY_SENDER_LABEL) || '',
|
|
454
299
|
onChange: (val) => {
|
|
455
300
|
const sender = selectedDomainEmailSenders.find(
|
|
456
|
-
(
|
|
301
|
+
(s) => (s.label || s.value) === val,
|
|
457
302
|
);
|
|
458
303
|
if (sender) {
|
|
459
304
|
updateSetting(DELIVERY_SETTING_KEY_SENDER_EMAIL, sender.value);
|
|
@@ -481,7 +326,7 @@ const ModifyDeliverySettings = (props) => {
|
|
|
481
326
|
onChange: (val) => {
|
|
482
327
|
updateSetting(DELIVERY_SETTING_KEY_SOURCE_ACCOUNT_IDENTIFIER, val);
|
|
483
328
|
const domain = (senderDetailsOptions || []).find(
|
|
484
|
-
(
|
|
329
|
+
(d) => d.sourceAccountIdentifier === val,
|
|
485
330
|
);
|
|
486
331
|
const first = domain?.gsmSenders?.[0];
|
|
487
332
|
updateSetting(DELIVERY_SETTING_KEY_SENDER_MOB_NUM, first?.value || '');
|
|
@@ -495,39 +340,10 @@ const ModifyDeliverySettings = (props) => {
|
|
|
495
340
|
onChange: (val) => updateSetting(DELIVERY_SETTING_KEY_SENDER_MOB_NUM, val),
|
|
496
341
|
},
|
|
497
342
|
];
|
|
498
|
-
const rcsFields = [
|
|
499
|
-
{
|
|
500
|
-
titleMessage: messages.rcsDomainLabel,
|
|
501
|
-
options: domainOptions,
|
|
502
|
-
value: get(localSettings, DELIVERY_SETTING_KEY_DOMAIN_ID),
|
|
503
|
-
onChange: (val) => onDomainChange(val),
|
|
504
|
-
},
|
|
505
|
-
{
|
|
506
|
-
titleMessage: messages.rcsSenderIdLabel,
|
|
507
|
-
options: rcsSenderOptions,
|
|
508
|
-
value: rcsGsmSenderIdForSelect,
|
|
509
|
-
onChange: (val) => updateSetting(DELIVERY_SETTING_KEY_GSM_SENDER_ID, val),
|
|
510
|
-
},
|
|
511
|
-
...((smsFallbackSenderDetailsOptions || []).length > 0 ? [
|
|
512
|
-
{
|
|
513
|
-
titleMessage: messages.fallbackSmsDomainLabel,
|
|
514
|
-
options: smsFallbackDomainOptions,
|
|
515
|
-
value: get(localSettings, DELIVERY_SETTING_KEY_SMS_FALLBACK_DOMAIN_ID),
|
|
516
|
-
onChange: onSmsFallbackDomainChange,
|
|
517
|
-
},
|
|
518
|
-
{
|
|
519
|
-
titleMessage: messages.fallbackSmsSenderIdLabel,
|
|
520
|
-
options: smsSenderOptions,
|
|
521
|
-
value: smsFallbackGsmIdForSelect,
|
|
522
|
-
onChange: (val) => updateSetting(DELIVERY_SETTING_KEY_CDMA_SENDER_ID, val),
|
|
523
|
-
},
|
|
524
|
-
] : []),
|
|
525
|
-
];
|
|
526
343
|
const byChannel = {
|
|
527
344
|
[CHANNELS.SMS]: smsFields,
|
|
528
345
|
[CHANNELS.EMAIL]: emailFields,
|
|
529
346
|
[CHANNELS.WHATSAPP]: whatsappFields,
|
|
530
|
-
[CHANNELS.RCS]: rcsFields,
|
|
531
347
|
};
|
|
532
348
|
return byChannel[channel] || [];
|
|
533
349
|
}, [
|
|
@@ -540,13 +356,6 @@ const ModifyDeliverySettings = (props) => {
|
|
|
540
356
|
wecrmAccountOptions,
|
|
541
357
|
whatsappAccountOptionsForDisplay,
|
|
542
358
|
whatsappSenderOptions,
|
|
543
|
-
rcsSenderOptions,
|
|
544
|
-
rcsGsmSenderIdForSelect,
|
|
545
|
-
smsSenderOptions,
|
|
546
|
-
smsFallbackGsmIdForSelect,
|
|
547
|
-
smsFallbackDomainOptions,
|
|
548
|
-
smsFallbackSenderDetailsOptions,
|
|
549
|
-
onSmsFallbackDomainChange,
|
|
550
359
|
localSettings,
|
|
551
360
|
selectedDomainEmailSenders,
|
|
552
361
|
senderDetailsOptions,
|
|
@@ -581,10 +390,9 @@ const ModifyDeliverySettings = (props) => {
|
|
|
581
390
|
};
|
|
582
391
|
|
|
583
392
|
ModifyDeliverySettings.propTypes = {
|
|
584
|
-
channel: PropTypes.oneOf([CHANNELS.SMS, CHANNELS.EMAIL, CHANNELS.WHATSAPP
|
|
393
|
+
channel: PropTypes.oneOf([CHANNELS.SMS, CHANNELS.EMAIL, CHANNELS.WHATSAPP]).isRequired,
|
|
585
394
|
deliverySettings: PropTypes.object,
|
|
586
395
|
senderDetailsOptions: PropTypes.array,
|
|
587
|
-
smsFallbackSenderDetailsOptions: PropTypes.array,
|
|
588
396
|
wecrmAccounts: PropTypes.array,
|
|
589
397
|
onSaveDeliverySettings: PropTypes.func.isRequired,
|
|
590
398
|
onClose: PropTypes.func,
|
|
@@ -600,7 +408,6 @@ ModifyDeliverySettings.propTypes = {
|
|
|
600
408
|
ModifyDeliverySettings.defaultProps = {
|
|
601
409
|
deliverySettings: {},
|
|
602
410
|
senderDetailsOptions: [],
|
|
603
|
-
smsFallbackSenderDetailsOptions: [],
|
|
604
411
|
wecrmAccounts: [],
|
|
605
412
|
onClose: undefined,
|
|
606
413
|
isLoading: false,
|
|
@@ -21,8 +21,6 @@ export const DELIVERY_SETTING_KEY_SENDER_LABEL = 'senderLabel';
|
|
|
21
21
|
export const DELIVERY_SETTING_KEY_SENDER_REPLY_TO = 'senderReplyTo';
|
|
22
22
|
export const DELIVERY_SETTING_KEY_SOURCE_ACCOUNT_IDENTIFIER = 'sourceAccountIdentifier';
|
|
23
23
|
export const DELIVERY_SETTING_KEY_SENDER_MOB_NUM = 'senderMobNum';
|
|
24
|
-
/** RCS: SMS fallback domain (separate from primary RCS domainId) */
|
|
25
|
-
export const DELIVERY_SETTING_KEY_SMS_FALLBACK_DOMAIN_ID = 'smsFallbackDomainId';
|
|
26
24
|
|
|
27
25
|
/** data-testid for delivery settings edit icon */
|
|
28
26
|
export const TEST_ID_DELIVERY_SETTINGS_EDIT = 'delivery-settings-edit';
|
|
@@ -34,7 +32,6 @@ export const CHANNELS_WITH_DELIVERY_SETTINGS = [
|
|
|
34
32
|
CHANNELS.SMS,
|
|
35
33
|
CHANNELS.EMAIL,
|
|
36
34
|
CHANNELS.WHATSAPP,
|
|
37
|
-
CHANNELS.RCS,
|
|
38
35
|
];
|
|
39
36
|
|
|
40
37
|
/** Default empty delivery setting per channel (campaigns-style shape) */
|
|
@@ -59,21 +56,8 @@ export const DEFAULT_DELIVERY_SETTING_WHATSAPP = {
|
|
|
59
56
|
sourceAccountIdentifier: '',
|
|
60
57
|
};
|
|
61
58
|
|
|
62
|
-
/** RCS: gsmSenderId = RCS sender, cdmaSenderId = SMS fallback sender (reuse same keys) */
|
|
63
|
-
export const DEFAULT_DELIVERY_SETTING_RCS = {
|
|
64
|
-
domainId: null,
|
|
65
|
-
domainGatewayMapId: null,
|
|
66
|
-
gsmSenderId: '',
|
|
67
|
-
smsFallbackDomainId: null,
|
|
68
|
-
cdmaSenderId: '',
|
|
69
|
-
};
|
|
70
|
-
|
|
71
59
|
export const DEFAULT_DELIVERY_SETTINGS_BY_CHANNEL = {
|
|
72
60
|
[CHANNELS.SMS]: DEFAULT_DELIVERY_SETTING_SMS,
|
|
73
61
|
[CHANNELS.EMAIL]: DEFAULT_DELIVERY_SETTING_EMAIL,
|
|
74
62
|
[CHANNELS.WHATSAPP]: DEFAULT_DELIVERY_SETTING_WHATSAPP,
|
|
75
|
-
[CHANNELS.RCS]: DEFAULT_DELIVERY_SETTING_RCS,
|
|
76
63
|
};
|
|
77
|
-
|
|
78
|
-
/** API `contactInfo.type` keys that map to RCS-style GSM sender rows (env-specific naming). */
|
|
79
|
-
export const RCS_CONTACT_INFO_GSM_TYPE_KEYS = ['gsm_sender_id', 'rcs_sender_id', 'rcs_sender'];
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* DeliverySettings — summary row + CapSlideBox trigger for Test and Preview.
|
|
3
|
-
* Rendered for SMS, Email, WhatsApp
|
|
3
|
+
* Rendered only for SMS, Email, WhatsApp. Uses cap-ui-library only.
|
|
4
4
|
*
|
|
5
5
|
* Reference: cap-campaigns-v2 DeliverySettingsV2 (summary + modify panel).
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import React, { useState, useCallback
|
|
8
|
+
import React, { useState, useCallback } from "react";
|
|
9
9
|
import PropTypes from "prop-types";
|
|
10
10
|
import CapRow from "@capillarytech/cap-ui-library/CapRow";
|
|
11
11
|
import CapHeading from "@capillarytech/cap-ui-library/CapHeading";
|
|
@@ -22,7 +22,6 @@ import {
|
|
|
22
22
|
SUMMARY_EMPTY_PLACEHOLDER,
|
|
23
23
|
DELIVERY_SETTING_KEY_DOMAIN_ID,
|
|
24
24
|
DELIVERY_SETTING_KEY_GSM_SENDER_ID,
|
|
25
|
-
DELIVERY_SETTING_KEY_CDMA_SENDER_ID,
|
|
26
25
|
DELIVERY_SETTING_KEY_SENDER_EMAIL,
|
|
27
26
|
DELIVERY_SETTING_KEY_SENDER_LABEL,
|
|
28
27
|
DELIVERY_SETTING_KEY_SENDER_REPLY_TO,
|
|
@@ -36,7 +35,7 @@ const DeliverySettings = (props) => {
|
|
|
36
35
|
const {
|
|
37
36
|
channel,
|
|
38
37
|
deliverySettings = {},
|
|
39
|
-
|
|
38
|
+
senderDetailsOptions = [],
|
|
40
39
|
wecrmAccounts = [],
|
|
41
40
|
onSaveDeliverySettings,
|
|
42
41
|
isLoadingSenderDetails,
|
|
@@ -44,7 +43,6 @@ const DeliverySettings = (props) => {
|
|
|
44
43
|
smsTraiDltEnabled,
|
|
45
44
|
registeredSenderIds,
|
|
46
45
|
whatsappAccountFromForm,
|
|
47
|
-
isChannelSmsFallbackPreviewEnabled,
|
|
48
46
|
} = props;
|
|
49
47
|
|
|
50
48
|
const [isSlideBoxOpen, setSlideBoxOpen] = useState(false);
|
|
@@ -60,68 +58,17 @@ const DeliverySettings = (props) => {
|
|
|
60
58
|
[onSaveDeliverySettings, closeSlideBox]
|
|
61
59
|
);
|
|
62
60
|
|
|
63
|
-
const senderDetailsOptions = useMemo(
|
|
64
|
-
() => (senderDetailsByChannel[channel] || []),
|
|
65
|
-
[senderDetailsByChannel, channel],
|
|
66
|
-
);
|
|
67
|
-
const smsDomainsForRcs = useMemo(
|
|
68
|
-
() => (channel === CHANNELS.RCS ? (senderDetailsByChannel[CHANNELS.SMS] || []) : []),
|
|
69
|
-
[channel, senderDetailsByChannel],
|
|
70
|
-
);
|
|
71
|
-
|
|
72
61
|
if (!CHANNELS_WITH_DELIVERY_SETTINGS.includes(channel)) {
|
|
73
62
|
return null;
|
|
74
63
|
}
|
|
75
64
|
|
|
76
65
|
const notConfiguredLabel = formatMessage(messages.notConfigured);
|
|
77
66
|
|
|
78
|
-
const getDisplayFromDomains = (domains, compositeValue) => {
|
|
79
|
-
if (!compositeValue || !domains?.length) return compositeValue || SUMMARY_EMPTY_PLACEHOLDER;
|
|
80
|
-
for (const senderDomain of domains) {
|
|
81
|
-
for (const gsmSenderRow of senderDomain.gsmSenders || []) {
|
|
82
|
-
const value = senderDomain.domainId != null && gsmSenderRow.value != null
|
|
83
|
-
? `${senderDomain.domainId}|${gsmSenderRow.value}`
|
|
84
|
-
: gsmSenderRow.value;
|
|
85
|
-
if (value === compositeValue && (senderDomain.domainName || gsmSenderRow.value)) {
|
|
86
|
-
return [senderDomain.domainName, gsmSenderRow.value].filter(Boolean).join(' · ');
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
return compositeValue || SUMMARY_EMPTY_PLACEHOLDER;
|
|
91
|
-
};
|
|
92
|
-
|
|
93
|
-
/** RCS summary: show sender ID only (no "domain · sender"). */
|
|
94
|
-
const getSenderIdOnlyFromComposite = (domains, compositeValue) => {
|
|
95
|
-
if (!compositeValue || !domains?.length) return compositeValue || SUMMARY_EMPTY_PLACEHOLDER;
|
|
96
|
-
for (const senderDomain of domains) {
|
|
97
|
-
for (const gsmSenderRow of senderDomain.gsmSenders || []) {
|
|
98
|
-
const value = senderDomain.domainId != null && gsmSenderRow.value != null
|
|
99
|
-
? `${senderDomain.domainId}|${gsmSenderRow.value}`
|
|
100
|
-
: gsmSenderRow.value;
|
|
101
|
-
if (value === compositeValue && gsmSenderRow.value != null) {
|
|
102
|
-
return String(gsmSenderRow.value);
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
return compositeValue || SUMMARY_EMPTY_PLACEHOLDER;
|
|
107
|
-
};
|
|
108
|
-
|
|
109
67
|
const getSummaryText = () => {
|
|
110
68
|
const empty = SUMMARY_EMPTY_PLACEHOLDER;
|
|
111
|
-
if (channel === CHANNELS.RCS) {
|
|
112
|
-
const rcsVal = get(deliverySettings, DELIVERY_SETTING_KEY_GSM_SENDER_ID) || '';
|
|
113
|
-
const smsVal = get(deliverySettings, DELIVERY_SETTING_KEY_CDMA_SENDER_ID) || '';
|
|
114
|
-
const summaryRcs = {
|
|
115
|
-
rcsSenderId: getSenderIdOnlyFromComposite(senderDetailsOptions, rcsVal),
|
|
116
|
-
};
|
|
117
|
-
if (isChannelSmsFallbackPreviewEnabled) {
|
|
118
|
-
summaryRcs.smsFallbackSenderId = getSenderIdOnlyFromComposite(smsDomainsForRcs, smsVal);
|
|
119
|
-
}
|
|
120
|
-
return summaryRcs;
|
|
121
|
-
}
|
|
122
69
|
if (channel === CHANNELS.SMS) {
|
|
123
70
|
const domain = (senderDetailsOptions || []).find(
|
|
124
|
-
(
|
|
71
|
+
(d) => d.domainId === get(deliverySettings, DELIVERY_SETTING_KEY_DOMAIN_ID),
|
|
125
72
|
);
|
|
126
73
|
const domainName = domain?.domainName || empty;
|
|
127
74
|
const senderId = get(deliverySettings, DELIVERY_SETTING_KEY_GSM_SENDER_ID) || empty;
|
|
@@ -129,7 +76,7 @@ const DeliverySettings = (props) => {
|
|
|
129
76
|
}
|
|
130
77
|
if (channel === CHANNELS.EMAIL) {
|
|
131
78
|
const domain = (senderDetailsOptions || []).find(
|
|
132
|
-
(
|
|
79
|
+
(d) => d.domainId === get(deliverySettings, DELIVERY_SETTING_KEY_DOMAIN_ID),
|
|
133
80
|
);
|
|
134
81
|
const emailDomain = domain?.domainName || empty;
|
|
135
82
|
const senderEmail = get(deliverySettings, DELIVERY_SETTING_KEY_SENDER_EMAIL) || empty;
|
|
@@ -156,12 +103,7 @@ const DeliverySettings = (props) => {
|
|
|
156
103
|
|
|
157
104
|
const summary = getSummaryText();
|
|
158
105
|
let hasValues = false;
|
|
159
|
-
if (channel === CHANNELS.
|
|
160
|
-
hasValues = (summary.rcsSenderId && summary.rcsSenderId !== SUMMARY_EMPTY_PLACEHOLDER)
|
|
161
|
-
|| (isChannelSmsFallbackPreviewEnabled
|
|
162
|
-
&& summary.smsFallbackSenderId
|
|
163
|
-
&& summary.smsFallbackSenderId !== SUMMARY_EMPTY_PLACEHOLDER);
|
|
164
|
-
} else if (channel === CHANNELS.SMS) {
|
|
106
|
+
if (channel === CHANNELS.SMS) {
|
|
165
107
|
hasValues = summary.senderDomain !== SUMMARY_EMPTY_PLACEHOLDER
|
|
166
108
|
|| summary.senderId !== SUMMARY_EMPTY_PLACEHOLDER;
|
|
167
109
|
} else if (channel === CHANNELS.EMAIL) {
|
|
@@ -180,15 +122,6 @@ const DeliverySettings = (props) => {
|
|
|
180
122
|
const getSummaryObject = () => {
|
|
181
123
|
if (!hasValues) return null;
|
|
182
124
|
const label = (msg) => formatMessage(msg);
|
|
183
|
-
if (channel === CHANNELS.RCS) {
|
|
184
|
-
const rcsSummary = {
|
|
185
|
-
[label(messages.rcsSenderIdLabel)]: summary.rcsSenderId,
|
|
186
|
-
};
|
|
187
|
-
if (isChannelSmsFallbackPreviewEnabled) {
|
|
188
|
-
rcsSummary[label(messages.fallbackSmsSenderIdLabel)] = summary.smsFallbackSenderId;
|
|
189
|
-
}
|
|
190
|
-
return rcsSummary;
|
|
191
|
-
}
|
|
192
125
|
if (channel === CHANNELS.SMS) {
|
|
193
126
|
return {
|
|
194
127
|
[label(messages.senderDomainSummary)]: summary.senderDomain,
|
|
@@ -232,7 +165,7 @@ const DeliverySettings = (props) => {
|
|
|
232
165
|
Object.entries(summaryObject).map(([key, value]) => (
|
|
233
166
|
<CapRow type="flex" key={key} className="delivery-settings__summary-entry">
|
|
234
167
|
<CapLabel type="label1" className="delivery-settings__summary-key">{key}</CapLabel>
|
|
235
|
-
<CapLabel type="label9"
|
|
168
|
+
<CapLabel type="label9">
|
|
236
169
|
:
|
|
237
170
|
{' '}
|
|
238
171
|
{value}
|
|
@@ -261,11 +194,6 @@ const DeliverySettings = (props) => {
|
|
|
261
194
|
channel={channel}
|
|
262
195
|
deliverySettings={deliverySettings}
|
|
263
196
|
senderDetailsOptions={senderDetailsOptions}
|
|
264
|
-
smsFallbackSenderDetailsOptions={
|
|
265
|
-
channel === CHANNELS.RCS && isChannelSmsFallbackPreviewEnabled
|
|
266
|
-
? smsDomainsForRcs
|
|
267
|
-
: undefined
|
|
268
|
-
}
|
|
269
197
|
wecrmAccounts={wecrmAccounts}
|
|
270
198
|
onSaveDeliverySettings={handleSave}
|
|
271
199
|
onClose={closeSlideBox}
|
|
@@ -285,7 +213,7 @@ const DeliverySettings = (props) => {
|
|
|
285
213
|
DeliverySettings.propTypes = {
|
|
286
214
|
channel: PropTypes.string.isRequired,
|
|
287
215
|
deliverySettings: PropTypes.object,
|
|
288
|
-
|
|
216
|
+
senderDetailsOptions: PropTypes.array,
|
|
289
217
|
wecrmAccounts: PropTypes.array,
|
|
290
218
|
onSaveDeliverySettings: PropTypes.func.isRequired,
|
|
291
219
|
isLoadingSenderDetails: PropTypes.bool,
|
|
@@ -295,19 +223,17 @@ DeliverySettings.propTypes = {
|
|
|
295
223
|
whatsappAccountFromForm: PropTypes.shape({
|
|
296
224
|
accountName: PropTypes.string,
|
|
297
225
|
}),
|
|
298
|
-
isChannelSmsFallbackPreviewEnabled: PropTypes.bool,
|
|
299
226
|
};
|
|
300
227
|
|
|
301
228
|
DeliverySettings.defaultProps = {
|
|
302
229
|
deliverySettings: {},
|
|
303
|
-
|
|
230
|
+
senderDetailsOptions: [],
|
|
304
231
|
wecrmAccounts: [],
|
|
305
232
|
isLoadingSenderDetails: false,
|
|
306
233
|
formatMessage: undefined,
|
|
307
234
|
smsTraiDltEnabled: false,
|
|
308
235
|
registeredSenderIds: [],
|
|
309
236
|
whatsappAccountFromForm: undefined,
|
|
310
|
-
isChannelSmsFallbackPreviewEnabled: false,
|
|
311
237
|
};
|
|
312
238
|
|
|
313
239
|
export default DeliverySettings;
|
|
@@ -108,34 +108,4 @@ export default defineMessages({
|
|
|
108
108
|
id: `${prefix}.disabledMessage`,
|
|
109
109
|
defaultMessage: 'Message template selected belongs to this account',
|
|
110
110
|
},
|
|
111
|
-
/** RCS: primary domain (slidebox) */
|
|
112
|
-
rcsDomainLabel: {
|
|
113
|
-
id: `${prefix}.rcsDomainLabel`,
|
|
114
|
-
defaultMessage: 'RCS domain:',
|
|
115
|
-
},
|
|
116
|
-
/** RCS: SMS fallback domain (slidebox) */
|
|
117
|
-
fallbackSmsDomainLabel: {
|
|
118
|
-
id: `${prefix}.fallbackSmsDomainLabel`,
|
|
119
|
-
defaultMessage: 'Fallback SMS domain:',
|
|
120
|
-
},
|
|
121
|
-
/** RCS: "RCS sender ID" */
|
|
122
|
-
rcsSenderIdLabel: {
|
|
123
|
-
id: `${prefix}.rcsSenderIdLabel`,
|
|
124
|
-
defaultMessage: 'RCS sender ID',
|
|
125
|
-
},
|
|
126
|
-
/** RCS: "Fallback SMS sender ID" */
|
|
127
|
-
fallbackSmsSenderIdLabel: {
|
|
128
|
-
id: `${prefix}.fallbackSmsSenderIdLabel`,
|
|
129
|
-
defaultMessage: 'Fallback SMS sender ID',
|
|
130
|
-
},
|
|
131
|
-
/** RCS: "Domain" (for domain · sender ID display) */
|
|
132
|
-
domainLabel: {
|
|
133
|
-
id: `${prefix}.domainLabel`,
|
|
134
|
-
defaultMessage: 'Domain',
|
|
135
|
-
},
|
|
136
|
-
/** RCS: placeholder for sender ID dropdown */
|
|
137
|
-
selectSenderId: {
|
|
138
|
-
id: `${prefix}.selectSenderId`,
|
|
139
|
-
defaultMessage: 'Select sender ID',
|
|
140
|
-
},
|
|
141
111
|
});
|