@capillarytech/creatives-library 9.0.55-alpha.1 → 9.0.55
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/.vscode/settings.json +3 -0
- package/constants/unified.js +1 -0
- package/package.json +1 -1
- package/services/api.js +0 -20
- package/styles/containers/layout/_layoutPage.scss +2 -1
- package/translations/en.json +2 -2
- package/utils/common.js +4 -0
- package/v2Components/AccessForbidden/_accessForbidden.scss +22 -12
- package/v2Components/AccessForbidden/index.js +27 -8
- package/v2Components/AccessForbidden/messages.js +2 -3
- package/v2Components/CommonTestAndPreview/UnifiedPreview/index.js +0 -20
- package/v2Components/CommonTestAndPreview/constants.js +0 -2
- package/v2Components/CommonTestAndPreview/index.js +4 -1
- package/v2Components/CommonTestAndPreview/tests/UnifiedPreview/index.test.js +0 -106
- package/v2Components/CommonTestAndPreview/tests/constants.test.js +1 -9
- package/v2Components/NavigationBar/mfeModuleHeader.config.js +1 -1
- package/v2Containers/Cap/tests/__snapshots__/index.test.js.snap +2 -2
- package/v2Containers/CommunicationFlow/CommunicationFlow.js +56 -118
- package/v2Containers/CommunicationFlow/CommunicationFlow.scss +1 -1
- package/v2Containers/CommunicationFlow/CommunicationFlowCard.js +6 -22
- package/v2Containers/CommunicationFlow/Tests/CommunicationFlow.test.js +49 -421
- package/v2Containers/CommunicationFlow/Tests/CommunicationFlowCard.test.js +2 -18
- package/v2Containers/CommunicationFlow/constants.js +1 -90
- package/v2Containers/CommunicationFlow/index.js +20 -15
- package/v2Containers/CommunicationFlow/messages.js +0 -4
- package/v2Containers/CommunicationFlow/steps/DeliverySettingsStep/SenderDetails.js +0 -6
- package/v2Containers/CommunicationFlow/steps/DeliverySettingsStep/Tests/SenderDetails.test.js +0 -25
- package/v2Containers/CommunicationFlow/steps/DeliverySettingsStep/Tests/deliverySettingsConfig.test.js +4 -11
- package/v2Containers/CommunicationFlow/steps/DeliverySettingsStep/deliverySettingsConfig.js +5 -24
- package/v2Containers/CreativesContainer/index.js +7 -1
- package/v2Containers/Line/Container/ImageCarousel/tests/__snapshots__/content.test.js.snap +6 -6
- package/v2Containers/Line/Container/ImageCarousel/tests/__snapshots__/index.test.js.snap +4 -4
- package/v2Containers/Line/Container/Wrapper/tests/__snapshots__/index.test.js.snap +32 -32
- package/v2Containers/Line/Container/tests/__snapshots__/index.test.js.snap +36 -36
- package/v2Containers/Rcs/constants.js +1 -0
- package/v2Containers/Rcs/index.js +10 -1
- package/v2Containers/Rcs/tests/__snapshots__/index.test.js.snap +226 -118
- package/v2Containers/Rcs/tests/index.test.js +121 -0
- package/v2Containers/SmsTrai/Create/tests/__snapshots__/index.test.js.snap +8 -8
- package/v2Containers/SmsTrai/Edit/tests/__snapshots__/index.test.js.snap +30 -30
- package/v2Containers/Templates/index.js +26 -0
- package/v2Containers/Whatsapp/tests/__snapshots__/index.test.js.snap +268 -268
|
@@ -38,95 +38,6 @@ export const CHANNEL_PRIORITY = 'CHANNEL_PRIORITY';
|
|
|
38
38
|
export const AB_TEST = 'AB_TEST';
|
|
39
39
|
export const SINGLE_TEMPLATE = 'SINGLE_TEMPLATE';
|
|
40
40
|
|
|
41
|
-
// CCS CommDefinition strategyType — distinct from SINGLE_TEMPLATE above, which
|
|
42
|
-
// is this UI's own communicationStrategy value. Only SINGLE is supported this
|
|
43
|
-
// phase; CCS create is skipped entirely for CHANNEL_PRIORITY/AB_TEST.
|
|
44
|
-
export const CCS_STRATEGY_TYPE_SINGLE = 'SINGLE';
|
|
45
|
-
|
|
46
|
-
// Mirrors CCS's SingleChannelStrategy field names exactly (Cap Notify API
|
|
47
|
-
// Design doc sample payloads, verified against real create responses). Kept
|
|
48
|
-
// separate from CHANNEL_CONTENT_KEY_MAP/CHANNEL_DELIVERY_KEY_MAP below, which
|
|
49
|
-
// are the legacy messageMeta payload's keys.
|
|
50
|
-
export const CCS_CHANNEL_CONTENT_KEY_MAP = {
|
|
51
|
-
SMS: 'smsMessageContent',
|
|
52
|
-
EMAIL: 'emailMessageContent',
|
|
53
|
-
WHATSAPP: 'whatsappMessageContent',
|
|
54
|
-
// CCS's channel enum value for mobile push is 'PUSH' (verified against real
|
|
55
|
-
// create responses), even though the content/delivery keys stay 'mpush*'.
|
|
56
|
-
PUSH: 'mpushMessageContent',
|
|
57
|
-
INAPP: 'inAppMessageContent',
|
|
58
|
-
ANDROID: 'androidMessageContent',
|
|
59
|
-
IOS: 'iosMessageContent',
|
|
60
|
-
ZALO: 'zaloMessageContent',
|
|
61
|
-
VIBER: 'viberMessageContent',
|
|
62
|
-
LINE: 'lineMessageContent',
|
|
63
|
-
WEBPUSH: 'webPushMessageContent',
|
|
64
|
-
RCS: 'rcsMessageContent',
|
|
65
|
-
};
|
|
66
|
-
|
|
67
|
-
// contentItem.templateData is built by the legacy CreativesContainer content
|
|
68
|
-
// editor (messageMeta-oriented field names) — for channels whose legacy field
|
|
69
|
-
// names don't match CCS's own content schema, transform before sending rather
|
|
70
|
-
// than dumping templateData as-is. EMAIL: legacy stores the subject as
|
|
71
|
-
// `emailSubject` and the HTML body as `emailBody` (see
|
|
72
|
-
// extractContentForPreview.js and CreativesContainer/index.js, where the Bee
|
|
73
|
-
// editor's output is written back into templateData.emailBody — also
|
|
74
|
-
// mirrored by the existing legacy emailMessageContent builder in
|
|
75
|
-
// utils/transformerUtils.js). CCS expects `messageSubject`/`messageBody`.
|
|
76
|
-
export const CCS_CONTENT_TRANSFORMS = {
|
|
77
|
-
EMAIL: (templateData = {}) => ({
|
|
78
|
-
messageSubject: templateData.emailSubject,
|
|
79
|
-
messageBody: templateData.emailBody || templateData.emailHtml,
|
|
80
|
-
}),
|
|
81
|
-
// SMS: legacy stores the typed text as `messageBody` (see
|
|
82
|
-
// CreativesContainer/index.js's getCreativesData SMS case, and the existing
|
|
83
|
-
// legacy smsMessageContent builder in utils/transformerUtils.js, both of
|
|
84
|
-
// which read/write this same field) — CCS's schema expects it as `message`
|
|
85
|
-
// (confirmed against a real CCS response showing smsMessageContent.message
|
|
86
|
-
// stayed null when messageBody was sent instead).
|
|
87
|
-
SMS: (templateData = {}) => ({
|
|
88
|
-
message: templateData.messageBody || '',
|
|
89
|
-
}),
|
|
90
|
-
// WEBPUSH: the legacy editor nests the real data under
|
|
91
|
-
// messageContent.content (see CommunicationFlowCard.js's own comment on
|
|
92
|
-
// this same wrapping, for the edit-mode case) — extracting it flat here
|
|
93
|
-
// matches CCS's shape ({ messageSubject, accountId, content }); `offers`
|
|
94
|
-
// (a legacy-only field) is deliberately dropped, not part of CCS's schema.
|
|
95
|
-
WEBPUSH: (templateData = {}) => {
|
|
96
|
-
const inner = templateData.messageContent?.content || templateData;
|
|
97
|
-
return {
|
|
98
|
-
messageSubject: inner.messageSubject,
|
|
99
|
-
accountId: inner.accountId,
|
|
100
|
-
content: inner.content,
|
|
101
|
-
};
|
|
102
|
-
},
|
|
103
|
-
};
|
|
104
|
-
|
|
105
|
-
export const CCS_CHANNEL_DELIVERY_KEY_MAP = {
|
|
106
|
-
SMS: 'smsDeliverySettings',
|
|
107
|
-
EMAIL: 'emailDeliverySettings',
|
|
108
|
-
WHATSAPP: 'whatsappDeliverySettings',
|
|
109
|
-
PUSH: 'mpushDeliverySettings',
|
|
110
|
-
INAPP: 'inAppDeliverySettings',
|
|
111
|
-
ANDROID: 'androidDeliverySettings',
|
|
112
|
-
IOS: 'iosDeliverySettings',
|
|
113
|
-
ZALO: 'zaloDeliverySettings',
|
|
114
|
-
VIBER: 'viberDeliverySettings',
|
|
115
|
-
LINE: 'lineDeliverySettings',
|
|
116
|
-
WEBPUSH: 'webPushDeliverySettings',
|
|
117
|
-
RCS: 'rcsDeliverySettings',
|
|
118
|
-
};
|
|
119
|
-
|
|
120
|
-
// The UI's own internal channel identifier for mobile push is 'MOBILEPUSH'
|
|
121
|
-
// (see CreativesContainer/constants.js MOBILE_PUSH), but CCS's channel enum
|
|
122
|
-
// value is 'PUSH' (verified against real create responses — the content/
|
|
123
|
-
// delivery KEYS still say 'mpush*', only the enum VALUE is 'PUSH') —
|
|
124
|
-
// normalize before building the CCS payload. Every other channel identifier
|
|
125
|
-
// matches CCS as-is.
|
|
126
|
-
export const CCS_CHANNEL_NAME_MAP = {
|
|
127
|
-
MOBILEPUSH: 'PUSH',
|
|
128
|
-
};
|
|
129
|
-
|
|
130
41
|
// Channel config - single source of truth for CreativesContainer and TemplatesV2
|
|
131
42
|
// paneKey: TemplatesV2 defaultPanes object key (for channelsToHide)
|
|
132
43
|
// channelProp: CreativesContainer channel prop (must match pane.key for tab to be active)
|
|
@@ -321,4 +232,4 @@ export const INCENTIVE_TYPES = [
|
|
|
321
232
|
{
|
|
322
233
|
value: 'badges', label: <FormattedMessage {...messages.badges} />, isActive: false, disabled: false,
|
|
323
234
|
},
|
|
324
|
-
];
|
|
235
|
+
];
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
import React from 'react';
|
|
10
10
|
import PropTypes from 'prop-types';
|
|
11
11
|
import CommunicationFlow from './CommunicationFlow';
|
|
12
|
+
import { hasSupportEngagementModule } from '../../utils/common';
|
|
12
13
|
|
|
13
14
|
const CommunicationFlowContainer = ({
|
|
14
15
|
config,
|
|
@@ -17,16 +18,22 @@ const CommunicationFlowContainer = ({
|
|
|
17
18
|
onCancel,
|
|
18
19
|
onChange,
|
|
19
20
|
...otherProps
|
|
20
|
-
}) =>
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
21
|
+
}) => {
|
|
22
|
+
if (!hasSupportEngagementModule()) {
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
return (
|
|
27
|
+
<CommunicationFlow
|
|
28
|
+
config={config}
|
|
29
|
+
initialData={initialData}
|
|
30
|
+
onSave={onSave}
|
|
31
|
+
onCancel={onCancel}
|
|
32
|
+
onChange={onChange}
|
|
33
|
+
{...otherProps}
|
|
34
|
+
/>
|
|
35
|
+
);
|
|
36
|
+
};
|
|
30
37
|
|
|
31
38
|
CommunicationFlowContainer.propTypes = {
|
|
32
39
|
config: PropTypes.shape({
|
|
@@ -80,13 +87,11 @@ CommunicationFlowContainer.propTypes = {
|
|
|
80
87
|
controls: PropTypes.array,
|
|
81
88
|
}),
|
|
82
89
|
}),
|
|
83
|
-
context: PropTypes.object, // ouId, campaignId, programId
|
|
84
|
-
//
|
|
85
|
-
useCCS: PropTypes.bool, // If false, skips the CCS createCommDefinition call on save. Defaults to true.
|
|
90
|
+
context: PropTypes.object, // ouId, campaignId, programId, etc.
|
|
91
|
+
useCCS: PropTypes.bool, // If false, skips CCS bulk-claim-approve on save. Defaults to true.
|
|
86
92
|
}).isRequired,
|
|
87
93
|
initialData: PropTypes.object, // for edit/preview mode
|
|
88
|
-
onSave: PropTypes.func.isRequired, // (data) => void - called when user saves
|
|
89
|
-
// ({id, referenceId, version, status}) is present when the CCS create succeeded
|
|
94
|
+
onSave: PropTypes.func.isRequired, // (data) => void - called when user saves
|
|
90
95
|
onCancel: PropTypes.func.isRequired, // () => void - called when user cancels
|
|
91
96
|
onChange: PropTypes.func, // (data) => void - optional, called on data changes
|
|
92
97
|
};
|
|
@@ -363,8 +363,4 @@ export default {
|
|
|
363
363
|
id: `${prefix}.senderNotConfiguredError`,
|
|
364
364
|
defaultMessage: 'Selected domain gateway id is not correct. Please change the domain id or contact the gateway team to register them with Capillary.',
|
|
365
365
|
},
|
|
366
|
-
duplicateReferenceIdError: {
|
|
367
|
-
id: `${prefix}.duplicateReferenceIdError`,
|
|
368
|
-
defaultMessage: 'This reference ID is already in use in your organization. Please use a different reference ID.',
|
|
369
|
-
},
|
|
370
366
|
};
|
|
@@ -29,7 +29,6 @@ import {
|
|
|
29
29
|
getEmailDefaultsForDomainId,
|
|
30
30
|
getSmsDefaultsForDomainId,
|
|
31
31
|
getRcsAccountName,
|
|
32
|
-
getEmailDomainGatewayMapIdByDomainId,
|
|
33
32
|
} from './deliverySettingsConfig';
|
|
34
33
|
import messages from '../../messages';
|
|
35
34
|
import './SenderDetails.scss';
|
|
@@ -152,11 +151,6 @@ const SenderDetails = ({
|
|
|
152
151
|
saveValues.whatsappDomainId = matchedDomain?.domainProperties?.id ?? matchedDomain?.domainId ?? matchedDomain?.id;
|
|
153
152
|
}
|
|
154
153
|
}
|
|
155
|
-
// Include EMAIL domainGatewayMapId derived from the selected domain for persistence -
|
|
156
|
-
// CCS needs it alongside domainId, but it's not a user-facing field.
|
|
157
|
-
if (entity && fieldValues.emailDomain != null && fieldValues.emailDomain !== '') {
|
|
158
|
-
saveValues.emailDomainGatewayMapId = getEmailDomainGatewayMapIdByDomainId(entity, fieldValues.emailDomain);
|
|
159
|
-
}
|
|
160
154
|
onSave(saveValues);
|
|
161
155
|
}
|
|
162
156
|
onClose();
|
package/v2Containers/CommunicationFlow/steps/DeliverySettingsStep/Tests/SenderDetails.test.js
CHANGED
|
@@ -83,7 +83,6 @@ const ENTITIES = {
|
|
|
83
83
|
emailTwoDomains: {
|
|
84
84
|
EMAIL: [
|
|
85
85
|
{
|
|
86
|
-
id: 'gwmap-a',
|
|
87
86
|
domainProperties: {
|
|
88
87
|
id: 'em-a',
|
|
89
88
|
domainName: 'Mail Alpha',
|
|
@@ -102,7 +101,6 @@ const ENTITIES = {
|
|
|
102
101
|
},
|
|
103
102
|
},
|
|
104
103
|
{
|
|
105
|
-
id: 'gwmap-b',
|
|
106
104
|
domainProperties: {
|
|
107
105
|
id: 'em-b',
|
|
108
106
|
domainName: 'Mail Beta',
|
|
@@ -324,29 +322,6 @@ describe('SenderDetails', () => {
|
|
|
324
322
|
});
|
|
325
323
|
});
|
|
326
324
|
|
|
327
|
-
it('persists emailDomainGatewayMapId derived from the selected email domain on save', async () => {
|
|
328
|
-
const { onSave } = renderSenderDetails({
|
|
329
|
-
channels: ['EMAIL'],
|
|
330
|
-
preloadedDomainProperties: ENTITIES.emailTwoDomains,
|
|
331
|
-
});
|
|
332
|
-
const root = document.querySelector('.sender-details');
|
|
333
|
-
await waitFor(() => expect(within(root).getByText('Mail Alpha')).toBeInTheDocument());
|
|
334
|
-
|
|
335
|
-
await openSelectAndChoose(root, 0, 'Mail Beta');
|
|
336
|
-
await waitFor(() => expect(within(root).getByText('beta@other.com')).toBeInTheDocument());
|
|
337
|
-
|
|
338
|
-
const saveBtn = within(root).getByRole('button', { name: /save changes/i });
|
|
339
|
-
await waitFor(() => expect(saveBtn).not.toBeDisabled());
|
|
340
|
-
fireEvent.click(saveBtn);
|
|
341
|
-
|
|
342
|
-
expect(onSave).toHaveBeenCalledWith(
|
|
343
|
-
expect.objectContaining({
|
|
344
|
-
emailDomain: 'em-b',
|
|
345
|
-
emailDomainGatewayMapId: 'gwmap-b',
|
|
346
|
-
}),
|
|
347
|
-
);
|
|
348
|
-
});
|
|
349
|
-
|
|
350
325
|
it('resets email domain row back to the first gateway', async () => {
|
|
351
326
|
renderSenderDetails({
|
|
352
327
|
channels: ['EMAIL'],
|
|
@@ -438,7 +438,6 @@ describe('deliverySettingsConfig — user-facing flows', () => {
|
|
|
438
438
|
smsDomain: 'd1',
|
|
439
439
|
smsSenderId: 'g1',
|
|
440
440
|
emailDomain: 'ed',
|
|
441
|
-
emailDomainGatewayMapId: 'gwmap-1',
|
|
442
441
|
emailSenderId: 'mail@x.com',
|
|
443
442
|
emailSenderName: 'N',
|
|
444
443
|
emailReplyToId: 'r@x.com',
|
|
@@ -456,10 +455,9 @@ describe('deliverySettingsConfig — user-facing flows', () => {
|
|
|
456
455
|
SMS: { domainId: 'd1', gsmSenderId: 'g1' },
|
|
457
456
|
EMAIL: {
|
|
458
457
|
domainId: 'ed',
|
|
459
|
-
|
|
460
|
-
senderId: 'mail@x.com',
|
|
458
|
+
senderEmail: 'mail@x.com',
|
|
461
459
|
senderLabel: 'N',
|
|
462
|
-
|
|
460
|
+
senderReplyTo: 'r@x.com',
|
|
463
461
|
},
|
|
464
462
|
WHATSAPP: { domainId: 'wd', senderMobNum: '+w' },
|
|
465
463
|
RCS: { senderMobNum: '+r', rcsSender: '+r' },
|
|
@@ -474,10 +472,9 @@ describe('deliverySettingsConfig — user-facing flows', () => {
|
|
|
474
472
|
SMS: { domainId: 'd', gsmSenderId: 'g' },
|
|
475
473
|
EMAIL: {
|
|
476
474
|
domainId: 'ed',
|
|
477
|
-
|
|
478
|
-
senderId: 'e@e.com',
|
|
475
|
+
senderEmail: 'e@e.com',
|
|
479
476
|
senderLabel: 'L',
|
|
480
|
-
|
|
477
|
+
senderReplyTo: 'r@e.com',
|
|
481
478
|
},
|
|
482
479
|
WHATSAPP: { senderMobNum: '+w', domainId: 'wid' },
|
|
483
480
|
RCS: { rcsSender: '+r' },
|
|
@@ -489,10 +486,6 @@ describe('deliverySettingsConfig — user-facing flows', () => {
|
|
|
489
486
|
smsDomain: 'd',
|
|
490
487
|
smsSenderId: 'g',
|
|
491
488
|
emailDomain: 'ed',
|
|
492
|
-
emailDomainGatewayMapId: 'gwmap-2',
|
|
493
|
-
emailSenderId: 'e@e.com',
|
|
494
|
-
emailSenderName: 'L',
|
|
495
|
-
emailReplyToId: 'r@e.com',
|
|
496
489
|
whatsappDomainId: 'wid',
|
|
497
490
|
viberSenderId: 'vx',
|
|
498
491
|
});
|
|
@@ -181,14 +181,6 @@ const getEmailDomainValue = (entity) => {
|
|
|
181
181
|
return emailData.domainProperties?.id ?? emailData.domainId ?? emailData.id ?? '';
|
|
182
182
|
};
|
|
183
183
|
|
|
184
|
-
// CCS's domainGatewayMapId is the domainProperties API's own outer `id`
|
|
185
|
-
// (distinct from `domainProperties.id`, which is the numeric domainId) - the
|
|
186
|
-
// domain-gateway-mapping id for the selected domain entry.
|
|
187
|
-
const getEmailDomainGatewayMapIdByDomainId = (entity, domainId) => {
|
|
188
|
-
const domainEntry = getEmailDomainById(entity, domainId);
|
|
189
|
-
return domainEntry?.id ?? '';
|
|
190
|
-
};
|
|
191
|
-
|
|
192
184
|
/** Domain name for summary display (parseEntityForDisplay) */
|
|
193
185
|
const getEmailDomainNameForDisplay = (entity) => {
|
|
194
186
|
const emailData = getEmailData(entity);
|
|
@@ -270,8 +262,6 @@ const getEmailDefaultsForDomain = (domainData) => {
|
|
|
270
262
|
* context.fieldValues has current form state (e.g. selected emailDomain)
|
|
271
263
|
* Aligned with adiona-ui/cap-campaigns-v2: default = contactInfo item with default:true, or first
|
|
272
264
|
*/
|
|
273
|
-
export { getEmailDomainGatewayMapIdByDomainId };
|
|
274
|
-
|
|
275
265
|
export const getDefaultValueForField = (fieldKey, entity, context = {}) => {
|
|
276
266
|
if (!entity) return '';
|
|
277
267
|
const fieldValues = context?.fieldValues || {};
|
|
@@ -584,11 +574,7 @@ export const parseEntityForDisplay = (entity, context = {}) => {
|
|
|
584
574
|
senderDetails: entity,
|
|
585
575
|
smsSenderId: getSmsSenderIdValue(entity),
|
|
586
576
|
smsDomain: getSmsDomainValue(entity),
|
|
587
|
-
// emailDomain here is the domain NAME (for display only) - buildChannelSettingFromFieldValues
|
|
588
|
-
// needs the numeric domainId/domainGatewayMapId, sourced separately below.
|
|
589
577
|
emailDomain: getEmailDomainNameForDisplay(entity),
|
|
590
|
-
emailDomainId: getEmailDomainValue(entity),
|
|
591
|
-
emailDomainGatewayMapId: getEmailDomainGatewayMapIdByDomainId(entity, getEmailDomainValue(entity)),
|
|
592
578
|
emailSenderId: getEmailSenderIdValue(entity),
|
|
593
579
|
viberSenderId: getSenderIdFromContactInfo(entity, 'VIBER'),
|
|
594
580
|
zaloSenderId: getSenderIdFromContactInfo(entity, 'ZALO'),
|
|
@@ -614,14 +600,10 @@ export const buildChannelSettingFromFieldValues = (fieldValues = {}) => {
|
|
|
614
600
|
}
|
|
615
601
|
if (fieldValues.emailDomain != null || fieldValues.emailSenderId != null || fieldValues.emailSenderName != null || fieldValues.emailReplyToId != null) {
|
|
616
602
|
channelSetting.EMAIL = {
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
// own field state but a display NAME string when sourced from parseEntityForDisplay.
|
|
620
|
-
domainId: fieldValues.emailDomainId ?? fieldValues.emailDomain,
|
|
621
|
-
domainGatewayMapId: fieldValues.emailDomainGatewayMapId,
|
|
622
|
-
senderId: fieldValues.emailSenderId,
|
|
603
|
+
domainId: fieldValues.emailDomain,
|
|
604
|
+
senderEmail: fieldValues.emailSenderId,
|
|
623
605
|
senderLabel: fieldValues.emailSenderName,
|
|
624
|
-
|
|
606
|
+
senderReplyTo: fieldValues.emailReplyToId,
|
|
625
607
|
};
|
|
626
608
|
}
|
|
627
609
|
if (fieldValues.whatsappSenderNumber != null || fieldValues.whatsappAccount != null) {
|
|
@@ -691,10 +673,9 @@ export const parseChannelSettingForDisplay = (channelSetting = {}) => {
|
|
|
691
673
|
}
|
|
692
674
|
if (channelSetting.EMAIL) {
|
|
693
675
|
out.emailDomain = channelSetting.EMAIL.domainId;
|
|
694
|
-
out.
|
|
695
|
-
out.emailSenderId = channelSetting.EMAIL.senderId;
|
|
676
|
+
out.emailSenderId = channelSetting.EMAIL.senderEmail;
|
|
696
677
|
out.emailSenderName = channelSetting.EMAIL.senderLabel;
|
|
697
|
-
out.emailReplyToId = channelSetting.EMAIL.
|
|
678
|
+
out.emailReplyToId = channelSetting.EMAIL.senderReplyTo;
|
|
698
679
|
}
|
|
699
680
|
if (channelSetting.WHATSAPP) {
|
|
700
681
|
out.whatsappSenderNumber = channelSetting.WHATSAPP.senderMobNum;
|
|
@@ -1441,7 +1441,12 @@ export class Creatives extends React.Component {
|
|
|
1441
1441
|
cardType = "",
|
|
1442
1442
|
cardSettings = {},
|
|
1443
1443
|
accountId = "",
|
|
1444
|
+
vfTemplateId: vfTemplateIdFromPayload,
|
|
1444
1445
|
} = get(versions, 'base.content.RCS.rcsContent', {});
|
|
1446
|
+
const { templateId: rootTemplateId = '' } = versions || {};
|
|
1447
|
+
const vfTemplateId = vfTemplateIdFromPayload
|
|
1448
|
+
|| get(this.state.templateData, 'versions.base.content.RCS.rcsContent.vfTemplateId', '')
|
|
1449
|
+
|| rootTemplateId;
|
|
1445
1450
|
const firstCardFromSubmit = Array.isArray(cardContentFromSubmit)
|
|
1446
1451
|
? cardContentFromSubmit[0]
|
|
1447
1452
|
: null;
|
|
@@ -1469,6 +1474,7 @@ export class Creatives extends React.Component {
|
|
|
1469
1474
|
creativeName: name,
|
|
1470
1475
|
rcsContent,
|
|
1471
1476
|
accountId,
|
|
1477
|
+
...(vfTemplateId && { templateId: vfTemplateId }),
|
|
1472
1478
|
...(includeRootRcsCardVarMappedOnConsumerPayload
|
|
1473
1479
|
? { rcsCardVarMapped: cardVarMappedFromFirstRcsCard }
|
|
1474
1480
|
: {}),
|
|
@@ -2456,7 +2462,7 @@ export class Creatives extends React.Component {
|
|
|
2456
2462
|
)}
|
|
2457
2463
|
handleClose={this.handleCloseSlideBox}
|
|
2458
2464
|
show={showSlideBox}
|
|
2459
|
-
size="size-
|
|
2465
|
+
size="size-xl"
|
|
2460
2466
|
/>
|
|
2461
2467
|
</SlideBoxWrapper>
|
|
2462
2468
|
);
|
|
@@ -87,8 +87,8 @@ exports[`Creatives line image carousel test/> should render 1`] = `
|
|
|
87
87
|
"app.v2containers.SmsTrai.Edit.traiEditTitle": "Message",
|
|
88
88
|
"app.v2containers.SmsTrai.Edit.unicodeLabel": "Allow unicode characters",
|
|
89
89
|
"app.v2containers.SmsTrai.Edit.unsupportedTagsValidationError": "Unsupported tags: {unsupportedTags}. Please remove them from this message.",
|
|
90
|
-
"creatives.components.AccessForbidden.forbiddenDesc": "
|
|
91
|
-
"creatives.components.AccessForbidden.forbiddenHeader": "
|
|
90
|
+
"creatives.components.AccessForbidden.forbiddenDesc": "This page access has not been provided to you.",
|
|
91
|
+
"creatives.components.AccessForbidden.forbiddenHeader": "Access Denied",
|
|
92
92
|
"creatives.components.BreadCrumbs.header": "This is the BreadCrumbs component !",
|
|
93
93
|
"creatives.components.CapTagList.Cancel": "Cancel",
|
|
94
94
|
"creatives.components.CapTagList.Ok": "Ok",
|
|
@@ -4228,8 +4228,8 @@ exports[`Creatives line image carousel test/> should render 2`] = `
|
|
|
4228
4228
|
"app.v2containers.SmsTrai.Edit.traiEditTitle": "Message",
|
|
4229
4229
|
"app.v2containers.SmsTrai.Edit.unicodeLabel": "Allow unicode characters",
|
|
4230
4230
|
"app.v2containers.SmsTrai.Edit.unsupportedTagsValidationError": "Unsupported tags: {unsupportedTags}. Please remove them from this message.",
|
|
4231
|
-
"creatives.components.AccessForbidden.forbiddenDesc": "
|
|
4232
|
-
"creatives.components.AccessForbidden.forbiddenHeader": "
|
|
4231
|
+
"creatives.components.AccessForbidden.forbiddenDesc": "This page access has not been provided to you.",
|
|
4232
|
+
"creatives.components.AccessForbidden.forbiddenHeader": "Access Denied",
|
|
4233
4233
|
"creatives.components.BreadCrumbs.header": "This is the BreadCrumbs component !",
|
|
4234
4234
|
"creatives.components.CapTagList.Cancel": "Cancel",
|
|
4235
4235
|
"creatives.components.CapTagList.Ok": "Ok",
|
|
@@ -8508,8 +8508,8 @@ exports[`Creatives line image carousel test/> should render 3`] = `
|
|
|
8508
8508
|
"app.v2containers.SmsTrai.Edit.traiEditTitle": "Message",
|
|
8509
8509
|
"app.v2containers.SmsTrai.Edit.unicodeLabel": "Allow unicode characters",
|
|
8510
8510
|
"app.v2containers.SmsTrai.Edit.unsupportedTagsValidationError": "Unsupported tags: {unsupportedTags}. Please remove them from this message.",
|
|
8511
|
-
"creatives.components.AccessForbidden.forbiddenDesc": "
|
|
8512
|
-
"creatives.components.AccessForbidden.forbiddenHeader": "
|
|
8511
|
+
"creatives.components.AccessForbidden.forbiddenDesc": "This page access has not been provided to you.",
|
|
8512
|
+
"creatives.components.AccessForbidden.forbiddenHeader": "Access Denied",
|
|
8513
8513
|
"creatives.components.BreadCrumbs.header": "This is the BreadCrumbs component !",
|
|
8514
8514
|
"creatives.components.CapTagList.Cancel": "Cancel",
|
|
8515
8515
|
"creatives.components.CapTagList.Ok": "Ok",
|
|
@@ -87,8 +87,8 @@ exports[`line wrapper test/> should render line component new 1`] = `
|
|
|
87
87
|
"app.v2containers.SmsTrai.Edit.traiEditTitle": "Message",
|
|
88
88
|
"app.v2containers.SmsTrai.Edit.unicodeLabel": "Allow unicode characters",
|
|
89
89
|
"app.v2containers.SmsTrai.Edit.unsupportedTagsValidationError": "Unsupported tags: {unsupportedTags}. Please remove them from this message.",
|
|
90
|
-
"creatives.components.AccessForbidden.forbiddenDesc": "
|
|
91
|
-
"creatives.components.AccessForbidden.forbiddenHeader": "
|
|
90
|
+
"creatives.components.AccessForbidden.forbiddenDesc": "This page access has not been provided to you.",
|
|
91
|
+
"creatives.components.AccessForbidden.forbiddenHeader": "Access Denied",
|
|
92
92
|
"creatives.components.BreadCrumbs.header": "This is the BreadCrumbs component !",
|
|
93
93
|
"creatives.components.CapTagList.Cancel": "Cancel",
|
|
94
94
|
"creatives.components.CapTagList.Ok": "Ok",
|
|
@@ -15138,8 +15138,8 @@ exports[`line wrapper test/> should render line component old 1`] = `
|
|
|
15138
15138
|
"app.v2containers.SmsTrai.Edit.traiEditTitle": "Message",
|
|
15139
15139
|
"app.v2containers.SmsTrai.Edit.unicodeLabel": "Allow unicode characters",
|
|
15140
15140
|
"app.v2containers.SmsTrai.Edit.unsupportedTagsValidationError": "Unsupported tags: {unsupportedTags}. Please remove them from this message.",
|
|
15141
|
-
"creatives.components.AccessForbidden.forbiddenDesc": "
|
|
15142
|
-
"creatives.components.AccessForbidden.forbiddenHeader": "
|
|
15141
|
+
"creatives.components.AccessForbidden.forbiddenDesc": "This page access has not been provided to you.",
|
|
15142
|
+
"creatives.components.AccessForbidden.forbiddenHeader": "Access Denied",
|
|
15143
15143
|
"creatives.components.BreadCrumbs.header": "This is the BreadCrumbs component !",
|
|
15144
15144
|
"creatives.components.CapTagList.Cancel": "Cancel",
|
|
15145
15145
|
"creatives.components.CapTagList.Ok": "Ok",
|
|
@@ -87,8 +87,8 @@ exports[`line wrapper test/> should render create mode 1`] = `
|
|
|
87
87
|
"app.v2containers.SmsTrai.Edit.traiEditTitle": "Message",
|
|
88
88
|
"app.v2containers.SmsTrai.Edit.unicodeLabel": "Allow unicode characters",
|
|
89
89
|
"app.v2containers.SmsTrai.Edit.unsupportedTagsValidationError": "Unsupported tags: {unsupportedTags}. Please remove them from this message.",
|
|
90
|
-
"creatives.components.AccessForbidden.forbiddenDesc": "
|
|
91
|
-
"creatives.components.AccessForbidden.forbiddenHeader": "
|
|
90
|
+
"creatives.components.AccessForbidden.forbiddenDesc": "This page access has not been provided to you.",
|
|
91
|
+
"creatives.components.AccessForbidden.forbiddenHeader": "Access Denied",
|
|
92
92
|
"creatives.components.BreadCrumbs.header": "This is the BreadCrumbs component !",
|
|
93
93
|
"creatives.components.CapTagList.Cancel": "Cancel",
|
|
94
94
|
"creatives.components.CapTagList.Ok": "Ok",
|
|
@@ -10741,8 +10741,8 @@ new message content.",
|
|
|
10741
10741
|
"app.v2containers.SmsTrai.Edit.traiEditTitle": "Message",
|
|
10742
10742
|
"app.v2containers.SmsTrai.Edit.unicodeLabel": "Allow unicode characters",
|
|
10743
10743
|
"app.v2containers.SmsTrai.Edit.unsupportedTagsValidationError": "Unsupported tags: {unsupportedTags}. Please remove them from this message.",
|
|
10744
|
-
"creatives.components.AccessForbidden.forbiddenDesc": "
|
|
10745
|
-
"creatives.components.AccessForbidden.forbiddenHeader": "
|
|
10744
|
+
"creatives.components.AccessForbidden.forbiddenDesc": "This page access has not been provided to you.",
|
|
10745
|
+
"creatives.components.AccessForbidden.forbiddenHeader": "Access Denied",
|
|
10746
10746
|
"creatives.components.BreadCrumbs.header": "This is the BreadCrumbs component !",
|
|
10747
10747
|
"creatives.components.CapTagList.Cancel": "Cancel",
|
|
10748
10748
|
"creatives.components.CapTagList.Ok": "Ok",
|
|
@@ -13287,8 +13287,8 @@ new message content.",
|
|
|
13287
13287
|
"app.v2containers.SmsTrai.Edit.traiEditTitle": "Message",
|
|
13288
13288
|
"app.v2containers.SmsTrai.Edit.unicodeLabel": "Allow unicode characters",
|
|
13289
13289
|
"app.v2containers.SmsTrai.Edit.unsupportedTagsValidationError": "Unsupported tags: {unsupportedTags}. Please remove them from this message.",
|
|
13290
|
-
"creatives.components.AccessForbidden.forbiddenDesc": "
|
|
13291
|
-
"creatives.components.AccessForbidden.forbiddenHeader": "
|
|
13290
|
+
"creatives.components.AccessForbidden.forbiddenDesc": "This page access has not been provided to you.",
|
|
13291
|
+
"creatives.components.AccessForbidden.forbiddenHeader": "Access Denied",
|
|
13292
13292
|
"creatives.components.BreadCrumbs.header": "This is the BreadCrumbs component !",
|
|
13293
13293
|
"creatives.components.CapTagList.Cancel": "Cancel",
|
|
13294
13294
|
"creatives.components.CapTagList.Ok": "Ok",
|
|
@@ -16306,8 +16306,8 @@ new message content.",
|
|
|
16306
16306
|
"app.v2containers.SmsTrai.Edit.traiEditTitle": "Message",
|
|
16307
16307
|
"app.v2containers.SmsTrai.Edit.unicodeLabel": "Allow unicode characters",
|
|
16308
16308
|
"app.v2containers.SmsTrai.Edit.unsupportedTagsValidationError": "Unsupported tags: {unsupportedTags}. Please remove them from this message.",
|
|
16309
|
-
"creatives.components.AccessForbidden.forbiddenDesc": "
|
|
16310
|
-
"creatives.components.AccessForbidden.forbiddenHeader": "
|
|
16309
|
+
"creatives.components.AccessForbidden.forbiddenDesc": "This page access has not been provided to you.",
|
|
16310
|
+
"creatives.components.AccessForbidden.forbiddenHeader": "Access Denied",
|
|
16311
16311
|
"creatives.components.BreadCrumbs.header": "This is the BreadCrumbs component !",
|
|
16312
16312
|
"creatives.components.CapTagList.Cancel": "Cancel",
|
|
16313
16313
|
"creatives.components.CapTagList.Ok": "Ok",
|
|
@@ -18720,8 +18720,8 @@ exports[`line wrapper test/> should render create mode 2`] = `
|
|
|
18720
18720
|
"app.v2containers.SmsTrai.Edit.traiEditTitle": "Message",
|
|
18721
18721
|
"app.v2containers.SmsTrai.Edit.unicodeLabel": "Allow unicode characters",
|
|
18722
18722
|
"app.v2containers.SmsTrai.Edit.unsupportedTagsValidationError": "Unsupported tags: {unsupportedTags}. Please remove them from this message.",
|
|
18723
|
-
"creatives.components.AccessForbidden.forbiddenDesc": "
|
|
18724
|
-
"creatives.components.AccessForbidden.forbiddenHeader": "
|
|
18723
|
+
"creatives.components.AccessForbidden.forbiddenDesc": "This page access has not been provided to you.",
|
|
18724
|
+
"creatives.components.AccessForbidden.forbiddenHeader": "Access Denied",
|
|
18725
18725
|
"creatives.components.BreadCrumbs.header": "This is the BreadCrumbs component !",
|
|
18726
18726
|
"creatives.components.CapTagList.Cancel": "Cancel",
|
|
18727
18727
|
"creatives.components.CapTagList.Ok": "Ok",
|
|
@@ -33790,8 +33790,8 @@ new message content.",
|
|
|
33790
33790
|
"app.v2containers.SmsTrai.Edit.traiEditTitle": "Message",
|
|
33791
33791
|
"app.v2containers.SmsTrai.Edit.unicodeLabel": "Allow unicode characters",
|
|
33792
33792
|
"app.v2containers.SmsTrai.Edit.unsupportedTagsValidationError": "Unsupported tags: {unsupportedTags}. Please remove them from this message.",
|
|
33793
|
-
"creatives.components.AccessForbidden.forbiddenDesc": "
|
|
33794
|
-
"creatives.components.AccessForbidden.forbiddenHeader": "
|
|
33793
|
+
"creatives.components.AccessForbidden.forbiddenDesc": "This page access has not been provided to you.",
|
|
33794
|
+
"creatives.components.AccessForbidden.forbiddenHeader": "Access Denied",
|
|
33795
33795
|
"creatives.components.BreadCrumbs.header": "This is the BreadCrumbs component !",
|
|
33796
33796
|
"creatives.components.CapTagList.Cancel": "Cancel",
|
|
33797
33797
|
"creatives.components.CapTagList.Ok": "Ok",
|
|
@@ -36528,8 +36528,8 @@ new message content.",
|
|
|
36528
36528
|
"app.v2containers.SmsTrai.Edit.traiEditTitle": "Message",
|
|
36529
36529
|
"app.v2containers.SmsTrai.Edit.unicodeLabel": "Allow unicode characters",
|
|
36530
36530
|
"app.v2containers.SmsTrai.Edit.unsupportedTagsValidationError": "Unsupported tags: {unsupportedTags}. Please remove them from this message.",
|
|
36531
|
-
"creatives.components.AccessForbidden.forbiddenDesc": "
|
|
36532
|
-
"creatives.components.AccessForbidden.forbiddenHeader": "
|
|
36531
|
+
"creatives.components.AccessForbidden.forbiddenDesc": "This page access has not been provided to you.",
|
|
36532
|
+
"creatives.components.AccessForbidden.forbiddenHeader": "Access Denied",
|
|
36533
36533
|
"creatives.components.BreadCrumbs.header": "This is the BreadCrumbs component !",
|
|
36534
36534
|
"creatives.components.CapTagList.Cancel": "Cancel",
|
|
36535
36535
|
"creatives.components.CapTagList.Ok": "Ok",
|
|
@@ -39823,8 +39823,8 @@ new message content.",
|
|
|
39823
39823
|
"app.v2containers.SmsTrai.Edit.traiEditTitle": "Message",
|
|
39824
39824
|
"app.v2containers.SmsTrai.Edit.unicodeLabel": "Allow unicode characters",
|
|
39825
39825
|
"app.v2containers.SmsTrai.Edit.unsupportedTagsValidationError": "Unsupported tags: {unsupportedTags}. Please remove them from this message.",
|
|
39826
|
-
"creatives.components.AccessForbidden.forbiddenDesc": "
|
|
39827
|
-
"creatives.components.AccessForbidden.forbiddenHeader": "
|
|
39826
|
+
"creatives.components.AccessForbidden.forbiddenDesc": "This page access has not been provided to you.",
|
|
39827
|
+
"creatives.components.AccessForbidden.forbiddenHeader": "Access Denied",
|
|
39828
39828
|
"creatives.components.BreadCrumbs.header": "This is the BreadCrumbs component !",
|
|
39829
39829
|
"creatives.components.CapTagList.Cancel": "Cancel",
|
|
39830
39830
|
"creatives.components.CapTagList.Ok": "Ok",
|
|
@@ -42561,8 +42561,8 @@ new message content.",
|
|
|
42561
42561
|
"app.v2containers.SmsTrai.Edit.traiEditTitle": "Message",
|
|
42562
42562
|
"app.v2containers.SmsTrai.Edit.unicodeLabel": "Allow unicode characters",
|
|
42563
42563
|
"app.v2containers.SmsTrai.Edit.unsupportedTagsValidationError": "Unsupported tags: {unsupportedTags}. Please remove them from this message.",
|
|
42564
|
-
"creatives.components.AccessForbidden.forbiddenDesc": "
|
|
42565
|
-
"creatives.components.AccessForbidden.forbiddenHeader": "
|
|
42564
|
+
"creatives.components.AccessForbidden.forbiddenDesc": "This page access has not been provided to you.",
|
|
42565
|
+
"creatives.components.AccessForbidden.forbiddenHeader": "Access Denied",
|
|
42566
42566
|
"creatives.components.BreadCrumbs.header": "This is the BreadCrumbs component !",
|
|
42567
42567
|
"creatives.components.CapTagList.Cancel": "Cancel",
|
|
42568
42568
|
"creatives.components.CapTagList.Ok": "Ok",
|
|
@@ -46410,8 +46410,8 @@ new message content.",
|
|
|
46410
46410
|
"app.v2containers.SmsTrai.Edit.traiEditTitle": "Message",
|
|
46411
46411
|
"app.v2containers.SmsTrai.Edit.unicodeLabel": "Allow unicode characters",
|
|
46412
46412
|
"app.v2containers.SmsTrai.Edit.unsupportedTagsValidationError": "Unsupported tags: {unsupportedTags}. Please remove them from this message.",
|
|
46413
|
-
"creatives.components.AccessForbidden.forbiddenDesc": "
|
|
46414
|
-
"creatives.components.AccessForbidden.forbiddenHeader": "
|
|
46413
|
+
"creatives.components.AccessForbidden.forbiddenDesc": "This page access has not been provided to you.",
|
|
46414
|
+
"creatives.components.AccessForbidden.forbiddenHeader": "Access Denied",
|
|
46415
46415
|
"creatives.components.BreadCrumbs.header": "This is the BreadCrumbs component !",
|
|
46416
46416
|
"creatives.components.CapTagList.Cancel": "Cancel",
|
|
46417
46417
|
"creatives.components.CapTagList.Ok": "Ok",
|
|
@@ -49291,8 +49291,8 @@ new message content.",
|
|
|
49291
49291
|
"app.v2containers.SmsTrai.Edit.traiEditTitle": "Message",
|
|
49292
49292
|
"app.v2containers.SmsTrai.Edit.unicodeLabel": "Allow unicode characters",
|
|
49293
49293
|
"app.v2containers.SmsTrai.Edit.unsupportedTagsValidationError": "Unsupported tags: {unsupportedTags}. Please remove them from this message.",
|
|
49294
|
-
"creatives.components.AccessForbidden.forbiddenDesc": "
|
|
49295
|
-
"creatives.components.AccessForbidden.forbiddenHeader": "
|
|
49294
|
+
"creatives.components.AccessForbidden.forbiddenDesc": "This page access has not been provided to you.",
|
|
49295
|
+
"creatives.components.AccessForbidden.forbiddenHeader": "Access Denied",
|
|
49296
49296
|
"creatives.components.BreadCrumbs.header": "This is the BreadCrumbs component !",
|
|
49297
49297
|
"creatives.components.CapTagList.Cancel": "Cancel",
|
|
49298
49298
|
"creatives.components.CapTagList.Ok": "Ok",
|
|
@@ -52190,8 +52190,8 @@ new message content.",
|
|
|
52190
52190
|
"app.v2containers.SmsTrai.Edit.traiEditTitle": "Message",
|
|
52191
52191
|
"app.v2containers.SmsTrai.Edit.unicodeLabel": "Allow unicode characters",
|
|
52192
52192
|
"app.v2containers.SmsTrai.Edit.unsupportedTagsValidationError": "Unsupported tags: {unsupportedTags}. Please remove them from this message.",
|
|
52193
|
-
"creatives.components.AccessForbidden.forbiddenDesc": "
|
|
52194
|
-
"creatives.components.AccessForbidden.forbiddenHeader": "
|
|
52193
|
+
"creatives.components.AccessForbidden.forbiddenDesc": "This page access has not been provided to you.",
|
|
52194
|
+
"creatives.components.AccessForbidden.forbiddenHeader": "Access Denied",
|
|
52195
52195
|
"creatives.components.BreadCrumbs.header": "This is the BreadCrumbs component !",
|
|
52196
52196
|
"creatives.components.CapTagList.Cancel": "Cancel",
|
|
52197
52197
|
"creatives.components.CapTagList.Ok": "Ok",
|
|
@@ -55523,8 +55523,8 @@ new message content.",
|
|
|
55523
55523
|
"app.v2containers.SmsTrai.Edit.traiEditTitle": "Message",
|
|
55524
55524
|
"app.v2containers.SmsTrai.Edit.unicodeLabel": "Allow unicode characters",
|
|
55525
55525
|
"app.v2containers.SmsTrai.Edit.unsupportedTagsValidationError": "Unsupported tags: {unsupportedTags}. Please remove them from this message.",
|
|
55526
|
-
"creatives.components.AccessForbidden.forbiddenDesc": "
|
|
55527
|
-
"creatives.components.AccessForbidden.forbiddenHeader": "
|
|
55526
|
+
"creatives.components.AccessForbidden.forbiddenDesc": "This page access has not been provided to you.",
|
|
55527
|
+
"creatives.components.AccessForbidden.forbiddenHeader": "Access Denied",
|
|
55528
55528
|
"creatives.components.BreadCrumbs.header": "This is the BreadCrumbs component !",
|
|
55529
55529
|
"creatives.components.CapTagList.Cancel": "Cancel",
|
|
55530
55530
|
"creatives.components.CapTagList.Ok": "Ok",
|
|
@@ -61706,8 +61706,8 @@ new message content.",
|
|
|
61706
61706
|
"app.v2containers.SmsTrai.Edit.traiEditTitle": "Message",
|
|
61707
61707
|
"app.v2containers.SmsTrai.Edit.unicodeLabel": "Allow unicode characters",
|
|
61708
61708
|
"app.v2containers.SmsTrai.Edit.unsupportedTagsValidationError": "Unsupported tags: {unsupportedTags}. Please remove them from this message.",
|
|
61709
|
-
"creatives.components.AccessForbidden.forbiddenDesc": "
|
|
61710
|
-
"creatives.components.AccessForbidden.forbiddenHeader": "
|
|
61709
|
+
"creatives.components.AccessForbidden.forbiddenDesc": "This page access has not been provided to you.",
|
|
61710
|
+
"creatives.components.AccessForbidden.forbiddenHeader": "Access Denied",
|
|
61711
61711
|
"creatives.components.BreadCrumbs.header": "This is the BreadCrumbs component !",
|
|
61712
61712
|
"creatives.components.CapTagList.Cancel": "Cancel",
|
|
61713
61713
|
"creatives.components.CapTagList.Ok": "Ok",
|
|
@@ -64448,8 +64448,8 @@ new message content.",
|
|
|
64448
64448
|
"app.v2containers.SmsTrai.Edit.traiEditTitle": "Message",
|
|
64449
64449
|
"app.v2containers.SmsTrai.Edit.unicodeLabel": "Allow unicode characters",
|
|
64450
64450
|
"app.v2containers.SmsTrai.Edit.unsupportedTagsValidationError": "Unsupported tags: {unsupportedTags}. Please remove them from this message.",
|
|
64451
|
-
"creatives.components.AccessForbidden.forbiddenDesc": "
|
|
64452
|
-
"creatives.components.AccessForbidden.forbiddenHeader": "
|
|
64451
|
+
"creatives.components.AccessForbidden.forbiddenDesc": "This page access has not been provided to you.",
|
|
64452
|
+
"creatives.components.AccessForbidden.forbiddenHeader": "Access Denied",
|
|
64453
64453
|
"creatives.components.BreadCrumbs.header": "This is the BreadCrumbs component !",
|
|
64454
64454
|
"creatives.components.CapTagList.Cancel": "Cancel",
|
|
64455
64455
|
"creatives.components.CapTagList.Ok": "Ok",
|
|
@@ -67036,8 +67036,8 @@ new message content.",
|
|
|
67036
67036
|
"app.v2containers.SmsTrai.Edit.traiEditTitle": "Message",
|
|
67037
67037
|
"app.v2containers.SmsTrai.Edit.unicodeLabel": "Allow unicode characters",
|
|
67038
67038
|
"app.v2containers.SmsTrai.Edit.unsupportedTagsValidationError": "Unsupported tags: {unsupportedTags}. Please remove them from this message.",
|
|
67039
|
-
"creatives.components.AccessForbidden.forbiddenDesc": "
|
|
67040
|
-
"creatives.components.AccessForbidden.forbiddenHeader": "
|
|
67039
|
+
"creatives.components.AccessForbidden.forbiddenDesc": "This page access has not been provided to you.",
|
|
67040
|
+
"creatives.components.AccessForbidden.forbiddenHeader": "Access Denied",
|
|
67041
67041
|
"creatives.components.BreadCrumbs.header": "This is the BreadCrumbs component !",
|
|
67042
67042
|
"creatives.components.CapTagList.Cancel": "Cancel",
|
|
67043
67043
|
"creatives.components.CapTagList.Ok": "Ok",
|