@capillarytech/creatives-library 8.0.338 → 8.0.339
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/package.json +1 -1
- package/utils/tests/tagValidations.test.js +0 -20
- package/v2Components/CapTagList/index.js +23 -28
- package/v2Components/CapTagList/style.scss +0 -29
- package/v2Components/CapTagListWithInput/index.js +0 -4
- package/v2Components/CapWhatsappCTA/index.js +0 -2
- package/v2Components/FormBuilder/index.js +0 -7
- package/v2Components/HtmlEditor/HTMLEditor.js +1 -6
- package/v2Components/HtmlEditor/__tests__/HTMLEditor.apiErrors.test.js +0 -1
- package/v2Components/HtmlEditor/__tests__/HTMLEditor.test.js +2 -927
- package/v2Components/HtmlEditor/components/CodeEditorPane/index.js +0 -3
- package/v2Containers/BeeEditor/index.js +0 -3
- package/v2Containers/CreativesContainer/SlideBoxContent.js +1 -28
- package/v2Containers/CreativesContainer/index.js +7 -9
- package/v2Containers/CreativesContainer/tests/__snapshots__/SlideBoxContent.test.js.snap +0 -47
- package/v2Containers/CreativesContainer/tests/__snapshots__/index.test.js.snap +0 -5
- package/v2Containers/Email/index.js +0 -1
- package/v2Containers/EmailWrapper/components/EmailHTMLEditor.js +1 -6
- package/v2Containers/EmailWrapper/components/EmailWrapperView.js +0 -3
- package/v2Containers/EmailWrapper/components/__tests__/EmailHTMLEditor.test.js +2 -20
- package/v2Containers/EmailWrapper/components/__tests__/EmailWrapperView.test.js +1 -16
- package/v2Containers/EmailWrapper/hooks/useEmailWrapper.js +0 -3
- package/v2Containers/EmailWrapper/index.js +0 -4
- package/v2Containers/EmailWrapper/tests/useEmailWrapper.edgeCases.test.js +0 -1
- package/v2Containers/EmailWrapper/tests/useEmailWrapper.test.js +0 -9
- package/v2Containers/InAppWrapper/hooks/__tests__/useInAppWrapper.test.js +0 -1
- package/v2Containers/MobilePush/Create/index.js +0 -2
- package/v2Containers/MobilePush/Edit/index.js +0 -2
- package/v2Containers/MobilepushWrapper/index.js +1 -3
- package/v2Containers/Rcs/index.js +7 -1
- package/v2Containers/Sms/Create/index.js +0 -2
- package/v2Containers/Sms/Edit/index.js +0 -2
- package/v2Containers/SmsTrai/Edit/index.js +0 -2
- package/v2Containers/SmsWrapper/index.js +0 -2
- package/v2Containers/TagList/index.js +5 -62
- package/v2Containers/TagList/messages.js +0 -4
- package/v2Containers/TagList/tests/TagList.test.js +20 -124
- package/v2Containers/TagList/tests/mockdata.js +0 -17
- package/v2Containers/Viber/index.js +0 -3
- package/v2Containers/WebPush/Create/hooks/useTagManagement.js +2 -0
- package/v2Containers/WebPush/Create/index.js +1 -9
- package/v2Containers/Whatsapp/index.js +0 -5
- package/v2Containers/Whatsapp/tests/__snapshots__/index.test.js.snap +0 -20
- package/v2Containers/Zalo/index.js +0 -2
- package/v2Components/CapTagListWithInput/__tests__/CapTagListWithInput.test.js +0 -63
|
@@ -63,7 +63,6 @@ exports[`Test SlideBoxContent container campaign message, add creative click rcs
|
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
65
|
templateStep="modeSelection"
|
|
66
|
-
waitEventContextTags={Object {}}
|
|
67
66
|
weChatMaptemplateStep={0}
|
|
68
67
|
weChatTemplateType=""
|
|
69
68
|
/>
|
|
@@ -160,7 +159,6 @@ exports[`Test SlideBoxContent container campaign message, add creative click wha
|
|
|
160
159
|
}
|
|
161
160
|
}
|
|
162
161
|
templateStep="modeSelection"
|
|
163
|
-
waitEventContextTags={Object {}}
|
|
164
162
|
weChatMaptemplateStep={0}
|
|
165
163
|
weChatTemplateType=""
|
|
166
164
|
/>
|
|
@@ -252,7 +250,6 @@ exports[`Test SlideBoxContent container campaign message, whatsapp edit all data
|
|
|
252
250
|
showTestAndPreviewSlidebox={false}
|
|
253
251
|
slidBoxContent="editTemplate"
|
|
254
252
|
templateStep="modeSelection"
|
|
255
|
-
waitEventContextTags={Object {}}
|
|
256
253
|
weChatMaptemplateStep={0}
|
|
257
254
|
weChatTemplateType=""
|
|
258
255
|
/>
|
|
@@ -391,7 +388,6 @@ exports[`Test SlideBoxContent container campaign message, whatsapp edit min data
|
|
|
391
388
|
showTestAndPreviewSlidebox={false}
|
|
392
389
|
slidBoxContent="editTemplate"
|
|
393
390
|
templateStep="modeSelection"
|
|
394
|
-
waitEventContextTags={Object {}}
|
|
395
391
|
weChatMaptemplateStep={0}
|
|
396
392
|
weChatTemplateType=""
|
|
397
393
|
/>
|
|
@@ -530,7 +526,6 @@ exports[`Test SlideBoxContent container it should clear the url, on channel chan
|
|
|
530
526
|
showTestAndPreviewSlidebox={false}
|
|
531
527
|
slidBoxContent="editTemplate"
|
|
532
528
|
templateStep="modeSelection"
|
|
533
|
-
waitEventContextTags={Object {}}
|
|
534
529
|
weChatMaptemplateStep={0}
|
|
535
530
|
weChatTemplateType=""
|
|
536
531
|
/>
|
|
@@ -3170,7 +3170,6 @@ export class Email extends React.Component { // eslint-disable-line react/prefer
|
|
|
3170
3170
|
moduleType={moduleType}
|
|
3171
3171
|
showLiquidErrorInFooter={this.props.showLiquidErrorInFooter}
|
|
3172
3172
|
eventContextTags={this.props?.eventContextTags}
|
|
3173
|
-
waitEventContextTags={this.props?.waitEventContextTags}
|
|
3174
3173
|
forwardedTags={this.props?.forwardedTags}
|
|
3175
3174
|
isLoyaltyModule={this.props?.isLoyaltyModule}
|
|
3176
3175
|
isGetBeeData={this.state.isGetBeeData}
|
|
@@ -54,7 +54,6 @@ const EmailHTMLEditor = (props) => {
|
|
|
54
54
|
globalActions,
|
|
55
55
|
loadingTags,
|
|
56
56
|
eventContextTags,
|
|
57
|
-
waitEventContextTags,
|
|
58
57
|
forwardedTags,
|
|
59
58
|
selectedOfferDetails,
|
|
60
59
|
currentOrgDetails,
|
|
@@ -511,7 +510,7 @@ const EmailHTMLEditor = (props) => {
|
|
|
511
510
|
setTagValidationError(null);
|
|
512
511
|
}
|
|
513
512
|
}
|
|
514
|
-
}, [tags, injectedTags, location, getDefaultTags, eventContextTags,
|
|
513
|
+
}, [tags, injectedTags, location, getDefaultTags, eventContextTags, showLiquidErrorInFooter]);
|
|
515
514
|
|
|
516
515
|
// Store the last validation state received from HTMLEditor
|
|
517
516
|
const lastValidationStateRef = useRef(null);
|
|
@@ -1101,7 +1100,6 @@ const EmailHTMLEditor = (props) => {
|
|
|
1101
1100
|
injectedTags={injectedTags || {}}
|
|
1102
1101
|
selectedOfferDetails={selectedOfferDetails}
|
|
1103
1102
|
eventContextTags={eventContextTags}
|
|
1104
|
-
waitEventContextTags={waitEventContextTags}
|
|
1105
1103
|
showHeading
|
|
1106
1104
|
showTagList
|
|
1107
1105
|
showInput
|
|
@@ -1126,7 +1124,6 @@ const EmailHTMLEditor = (props) => {
|
|
|
1126
1124
|
injectedTags={injectedTags}
|
|
1127
1125
|
location={location}
|
|
1128
1126
|
eventContextTags={eventContextTags}
|
|
1129
|
-
waitEventContextTags={waitEventContextTags}
|
|
1130
1127
|
selectedOfferDetails={selectedOfferDetails}
|
|
1131
1128
|
channel={EMAIL}
|
|
1132
1129
|
userLocale={intl.locale || 'en'}
|
|
@@ -1154,7 +1151,6 @@ EmailHTMLEditor.propTypes = {
|
|
|
1154
1151
|
globalActions: PropTypes.object,
|
|
1155
1152
|
loadingTags: PropTypes.bool,
|
|
1156
1153
|
eventContextTags: PropTypes.array,
|
|
1157
|
-
waitEventContextTags: PropTypes.object,
|
|
1158
1154
|
forwardedTags: PropTypes.object,
|
|
1159
1155
|
selectedOfferDetails: PropTypes.array,
|
|
1160
1156
|
currentOrgDetails: PropTypes.object,
|
|
@@ -1201,7 +1197,6 @@ EmailHTMLEditor.defaultProps = {
|
|
|
1201
1197
|
globalActions: {},
|
|
1202
1198
|
loadingTags: false,
|
|
1203
1199
|
eventContextTags: [],
|
|
1204
|
-
waitEventContextTags: {},
|
|
1205
1200
|
forwardedTags: {},
|
|
1206
1201
|
selectedOfferDetails: [],
|
|
1207
1202
|
currentOrgDetails: {},
|
|
@@ -173,7 +173,6 @@ const EmailWrapperView = ({
|
|
|
173
173
|
forwardedTags,
|
|
174
174
|
selectedOfferDetails,
|
|
175
175
|
eventContextTags,
|
|
176
|
-
waitEventContextTags,
|
|
177
176
|
getFormdata,
|
|
178
177
|
isGetFormData,
|
|
179
178
|
getLiquidTags,
|
|
@@ -247,7 +246,6 @@ const EmailWrapperView = ({
|
|
|
247
246
|
globalActions,
|
|
248
247
|
loadingTags,
|
|
249
248
|
eventContextTags,
|
|
250
|
-
waitEventContextTags,
|
|
251
249
|
forwardedTags,
|
|
252
250
|
selectedOfferDetails,
|
|
253
251
|
currentOrgDetails,
|
|
@@ -373,7 +371,6 @@ EmailWrapperView.propTypes = {
|
|
|
373
371
|
forwardedTags: PropTypes.object,
|
|
374
372
|
selectedOfferDetails: PropTypes.array,
|
|
375
373
|
eventContextTags: PropTypes.array,
|
|
376
|
-
waitEventContextTags: PropTypes.object,
|
|
377
374
|
emailActions: PropTypes.object,
|
|
378
375
|
Email: PropTypes.object,
|
|
379
376
|
templateData: PropTypes.object,
|
|
@@ -71,10 +71,7 @@ jest.mock('../../../../v2Components/HtmlEditor/index.lazy', () => {
|
|
|
71
71
|
}));
|
|
72
72
|
|
|
73
73
|
return (
|
|
74
|
-
<div
|
|
75
|
-
data-testid="html-editor"
|
|
76
|
-
data-wait-event-context-tags={JSON.stringify(props.waitEventContextTags ?? null)}
|
|
77
|
-
>
|
|
74
|
+
<div data-testid="html-editor">
|
|
78
75
|
<button
|
|
79
76
|
onClick={() => props.onContentChange && props.onContentChange('<p>New content</p>')}
|
|
80
77
|
data-testid="trigger-content-change"
|
|
@@ -133,10 +130,7 @@ jest.mock('../../../../v2Components/HtmlEditor', () => {
|
|
|
133
130
|
}));
|
|
134
131
|
|
|
135
132
|
return (
|
|
136
|
-
<div
|
|
137
|
-
data-testid="html-editor"
|
|
138
|
-
data-wait-event-context-tags={JSON.stringify(props.waitEventContextTags ?? null)}
|
|
139
|
-
>
|
|
133
|
+
<div data-testid="html-editor">
|
|
140
134
|
<button
|
|
141
135
|
onClick={() => props.onContentChange && props.onContentChange('<p>New content</p>')}
|
|
142
136
|
data-testid="trigger-content-change"
|
|
@@ -370,7 +364,6 @@ const defaultProps = {
|
|
|
370
364
|
},
|
|
371
365
|
loadingTags: false,
|
|
372
366
|
eventContextTags: [],
|
|
373
|
-
waitEventContextTags: {},
|
|
374
367
|
forwardedTags: {},
|
|
375
368
|
selectedOfferDetails: [],
|
|
376
369
|
currentOrgDetails: {
|
|
@@ -529,17 +522,6 @@ describe('EmailHTMLEditor', () => {
|
|
|
529
522
|
});
|
|
530
523
|
});
|
|
531
524
|
|
|
532
|
-
describe('waitEventContextTags', () => {
|
|
533
|
-
it('forwards waitEventContextTags to HTMLEditor', () => {
|
|
534
|
-
const waitMap = { b1: { eventName: 'E', blockName: 'B', tags: ['t'] } };
|
|
535
|
-
renderWithIntl({ waitEventContextTags: waitMap });
|
|
536
|
-
expect(screen.getByTestId('html-editor')).toHaveAttribute(
|
|
537
|
-
'data-wait-event-context-tags',
|
|
538
|
-
JSON.stringify(waitMap),
|
|
539
|
-
);
|
|
540
|
-
});
|
|
541
|
-
});
|
|
542
|
-
|
|
543
525
|
describe('Content Initialization', () => {
|
|
544
526
|
it('initializes with empty content in create mode', () => {
|
|
545
527
|
renderWithIntl({ isGetFormData: false });
|
|
@@ -37,14 +37,7 @@ jest.mock('../EmailHTMLEditor', () => {
|
|
|
37
37
|
getContentForPreview: jest.fn(() => '<p>Test</p>'),
|
|
38
38
|
}));
|
|
39
39
|
|
|
40
|
-
return
|
|
41
|
-
<div
|
|
42
|
-
data-testid="email-html-editor"
|
|
43
|
-
data-wait-event-context-tags={JSON.stringify(props.waitEventContextTags ?? null)}
|
|
44
|
-
>
|
|
45
|
-
HTML Editor
|
|
46
|
-
</div>
|
|
47
|
-
);
|
|
40
|
+
return <div data-testid="email-html-editor">HTML Editor</div>;
|
|
48
41
|
});
|
|
49
42
|
});
|
|
50
43
|
|
|
@@ -144,7 +137,6 @@ const defaultProps = {
|
|
|
144
137
|
forwardedTags: {},
|
|
145
138
|
selectedOfferDetails: [],
|
|
146
139
|
eventContextTags: [],
|
|
147
|
-
waitEventContextTags: {},
|
|
148
140
|
getFormdata: jest.fn(),
|
|
149
141
|
isGetFormData: false,
|
|
150
142
|
getLiquidTags: jest.fn(),
|
|
@@ -179,13 +171,6 @@ describe('EmailWrapperView', () => {
|
|
|
179
171
|
jest.clearAllMocks();
|
|
180
172
|
});
|
|
181
173
|
|
|
182
|
-
it('passes waitEventContextTags to EmailHTMLEditor when HTML editor is shown', () => {
|
|
183
|
-
const waitMap = { b1: { eventName: 'E', blockName: 'B', tags: [] } };
|
|
184
|
-
renderWithIntl({ waitEventContextTags: waitMap });
|
|
185
|
-
const el = screen.getByTestId('email-html-editor');
|
|
186
|
-
expect(el).toHaveAttribute('data-wait-event-context-tags', JSON.stringify(waitMap));
|
|
187
|
-
});
|
|
188
|
-
|
|
189
174
|
describe('Mode Selection UI', () => {
|
|
190
175
|
it('renders mode selection when step is MODE_SELECTION', () => {
|
|
191
176
|
renderWithIntl({ step: STEPS.MODE_SELECTION });
|
|
@@ -51,7 +51,6 @@ const useEmailWrapper = ({
|
|
|
51
51
|
editor,
|
|
52
52
|
moduleType,
|
|
53
53
|
eventContextTags,
|
|
54
|
-
waitEventContextTags,
|
|
55
54
|
isLoyaltyModule,
|
|
56
55
|
// Props for CmsTemplates component
|
|
57
56
|
cmsTemplatesLoader,
|
|
@@ -737,7 +736,6 @@ const useEmailWrapper = ({
|
|
|
737
736
|
selectedEditorMode, // Pass selected mode to Email component (only for HTML_EDITOR)
|
|
738
737
|
moduleType,
|
|
739
738
|
eventContextTags,
|
|
740
|
-
waitEventContextTags,
|
|
741
739
|
isLoyaltyModule,
|
|
742
740
|
showTestAndPreviewSlidebox,
|
|
743
741
|
handleTestAndPreview,
|
|
@@ -767,7 +765,6 @@ const useEmailWrapper = ({
|
|
|
767
765
|
editor,
|
|
768
766
|
moduleType,
|
|
769
767
|
eventContextTags,
|
|
770
|
-
waitEventContextTags,
|
|
771
768
|
isLoyaltyModule,
|
|
772
769
|
showTestAndPreviewSlidebox,
|
|
773
770
|
handleTestAndPreview,
|
|
@@ -63,7 +63,6 @@ const EmailWrapper = (props) => {
|
|
|
63
63
|
onEnterTemplateName,
|
|
64
64
|
onRemoveTemplateName,
|
|
65
65
|
eventContextTags,
|
|
66
|
-
waitEventContextTags,
|
|
67
66
|
isLoyaltyModule,
|
|
68
67
|
cmsTemplatesLoader,
|
|
69
68
|
onPreviewContentClicked,
|
|
@@ -131,7 +130,6 @@ const EmailWrapper = (props) => {
|
|
|
131
130
|
onEnterTemplateName,
|
|
132
131
|
onRemoveTemplateName,
|
|
133
132
|
eventContextTags,
|
|
134
|
-
waitEventContextTags,
|
|
135
133
|
isLoyaltyModule,
|
|
136
134
|
cmsTemplatesLoader,
|
|
137
135
|
onPreviewContentClicked,
|
|
@@ -186,7 +184,6 @@ const EmailWrapper = (props) => {
|
|
|
186
184
|
forwardedTags={forwardedTags}
|
|
187
185
|
selectedOfferDetails={selectedOfferDetails}
|
|
188
186
|
eventContextTags={eventContextTags}
|
|
189
|
-
waitEventContextTags={waitEventContextTags}
|
|
190
187
|
getFormdata={getFormdata}
|
|
191
188
|
isGetFormData={isGetFormData}
|
|
192
189
|
getLiquidTags={globalActionsProp?.getLiquidTags}
|
|
@@ -244,7 +241,6 @@ EmailWrapper.propTypes = {
|
|
|
244
241
|
onEnterTemplateName: PropTypes.func,
|
|
245
242
|
onRemoveTemplateName: PropTypes.func,
|
|
246
243
|
eventContextTags: PropTypes.array,
|
|
247
|
-
waitEventContextTags: PropTypes.object,
|
|
248
244
|
isLoyaltyModule: PropTypes.bool,
|
|
249
245
|
onPreviewContentClicked: PropTypes.func,
|
|
250
246
|
onTestContentClicked: PropTypes.func,
|
|
@@ -102,7 +102,6 @@ describe('useEmailWrapper', () => {
|
|
|
102
102
|
editor: null,
|
|
103
103
|
moduleType: '',
|
|
104
104
|
eventContextTags: [],
|
|
105
|
-
waitEventContextTags: {},
|
|
106
105
|
isLoyaltyModule: false,
|
|
107
106
|
cmsTemplatesLoader: false,
|
|
108
107
|
currentOrgDetails: { id: 'org1' },
|
|
@@ -121,14 +120,6 @@ describe('useEmailWrapper', () => {
|
|
|
121
120
|
expect(result.current.onTemplateNameChange).toBeInstanceOf(Function);
|
|
122
121
|
});
|
|
123
122
|
|
|
124
|
-
it('passes waitEventContextTags through emailProps', () => {
|
|
125
|
-
const waitMap = { block1: { eventName: 'E', blockName: 'B', tags: [] } };
|
|
126
|
-
const { result } = renderHook(() =>
|
|
127
|
-
useEmailWrapper({ ...mockProps, waitEventContextTags: waitMap }),
|
|
128
|
-
);
|
|
129
|
-
expect(result.current.emailProps.waitEventContextTags).toEqual(waitMap);
|
|
130
|
-
});
|
|
131
|
-
|
|
132
123
|
it('handles template name change correctly', () => {
|
|
133
124
|
const { result } = renderHook(() => useEmailWrapper(mockProps));
|
|
134
125
|
|
|
@@ -1966,7 +1966,6 @@ export class Create extends React.Component { // eslint-disable-line react/prefe
|
|
|
1966
1966
|
hideTestAndPreviewBtn={this.props.hideTestAndPreviewBtn}
|
|
1967
1967
|
isFullMode={this.props.isFullMode}
|
|
1968
1968
|
eventContextTags={this.props?.eventContextTags}
|
|
1969
|
-
waitEventContextTags={this.props?.waitEventContextTags}
|
|
1970
1969
|
messageDetails={this.props?.messageDetails}
|
|
1971
1970
|
restrictPersonalization={this.props.restrictPersonalization}
|
|
1972
1971
|
/>
|
|
@@ -2069,7 +2068,6 @@ Create.propTypes = {
|
|
|
2069
2068
|
onPreviewContentClicked: PropTypes.func,
|
|
2070
2069
|
onTestContentClicked: PropTypes.func,
|
|
2071
2070
|
eventContextTags: PropTypes.array,
|
|
2072
|
-
waitEventContextTags: PropTypes.object,
|
|
2073
2071
|
getLiquidTags: PropTypes.func,
|
|
2074
2072
|
showLiquidErrorInFooter: PropTypes.func,
|
|
2075
2073
|
showTestAndPreviewSlidebox: PropTypes.bool,
|
|
@@ -2233,7 +2233,6 @@ export class Edit extends React.Component { // eslint-disable-line react/prefer-
|
|
|
2233
2233
|
hideTestAndPreviewBtn={this.props.hideTestAndPreviewBtn}
|
|
2234
2234
|
isFullMode={this.props.isFullMode}
|
|
2235
2235
|
eventContextTags={this.props?.eventContextTags}
|
|
2236
|
-
waitEventContextTags={this.props?.waitEventContextTags}
|
|
2237
2236
|
restrictPersonalization={this.props.restrictPersonalization}
|
|
2238
2237
|
/>;
|
|
2239
2238
|
})()}
|
|
@@ -2340,7 +2339,6 @@ Edit.propTypes = {
|
|
|
2340
2339
|
onTestContentClicked: PropTypes.func,
|
|
2341
2340
|
creativesMode: PropTypes.string,
|
|
2342
2341
|
eventContextTags: PropTypes.array,
|
|
2343
|
-
waitEventContextTags: PropTypes.object,
|
|
2344
2342
|
getLiquidTags: PropTypes.func,
|
|
2345
2343
|
showLiquidErrorInFooter: PropTypes.func,
|
|
2346
2344
|
showTestAndPreviewSlidebox: PropTypes.bool,
|
|
@@ -72,7 +72,7 @@ export class MobilepushWrapper extends React.Component { // eslint-disable-line
|
|
|
72
72
|
}
|
|
73
73
|
|
|
74
74
|
render() {
|
|
75
|
-
const {mobilePushCreateMode, step, getFormData, getLiquidTags, setIsLoadingContent, isGetFormData, query, isFullMode, showTemplateName, type, onValidationFail, onPreviewContentClicked, onTestContentClicked, templateData, eventContextTags = [],
|
|
75
|
+
const {mobilePushCreateMode, step, getFormData, getLiquidTags, setIsLoadingContent, isGetFormData, query, isFullMode, showTemplateName, type, onValidationFail, onPreviewContentClicked, onTestContentClicked, templateData, eventContextTags = [], showTestAndPreviewSlidebox, handleTestAndPreview, handleCloseTestAndPreview, restrictPersonalization, isAnonymousType, onPersonalizationTokensChange} = this.props;
|
|
76
76
|
const {templateName} = this.state;
|
|
77
77
|
const isShowMobilepushCreate = !isEmpty(mobilePushCreateMode);
|
|
78
78
|
return (
|
|
@@ -121,7 +121,6 @@ export class MobilepushWrapper extends React.Component { // eslint-disable-line
|
|
|
121
121
|
templateData={templateData}
|
|
122
122
|
hideTestAndPreviewBtn={this.props.hideTestAndPreviewBtn}
|
|
123
123
|
eventContextTags={eventContextTags}
|
|
124
|
-
waitEventContextTags={waitEventContextTags}
|
|
125
124
|
showLiquidErrorInFooter={this.props.showLiquidErrorInFooter}
|
|
126
125
|
showTestAndPreviewSlidebox={showTestAndPreviewSlidebox}
|
|
127
126
|
handleTestAndPreview={handleTestAndPreview}
|
|
@@ -156,7 +155,6 @@ MobilepushWrapper.propTypes = {
|
|
|
156
155
|
type: PropTypes.string,
|
|
157
156
|
onValidationFail: PropTypes.func,
|
|
158
157
|
eventContextTags: PropTypes.array,
|
|
159
|
-
waitEventContextTags: PropTypes.object,
|
|
160
158
|
showLiquidErrorInFooter: PropTypes.func,
|
|
161
159
|
showTestAndPreviewSlidebox: PropTypes.bool,
|
|
162
160
|
handleTestAndPreview: PropTypes.func,
|
|
@@ -148,7 +148,6 @@ export const Rcs = (props) => {
|
|
|
148
148
|
smsRegister,
|
|
149
149
|
selectedOfferDetails,
|
|
150
150
|
eventContextTags,
|
|
151
|
-
waitEventContextTags,
|
|
152
151
|
accountData = {},
|
|
153
152
|
// TestAndPreviewSlidebox props
|
|
154
153
|
showTestAndPreviewSlidebox: propsShowTestAndPreviewSlidebox,
|
|
@@ -301,6 +300,7 @@ export const Rcs = (props) => {
|
|
|
301
300
|
const [accessToken, setAccessToken] = useState('');
|
|
302
301
|
const [hostName, setHostName] = useState('');
|
|
303
302
|
const [accountName, setAccountName] = useState('');
|
|
303
|
+
const [rcsAccount, setRcsAccount] = useState('');
|
|
304
304
|
useEffect(() => {
|
|
305
305
|
const accountObj = accountData.selectedRcsAccount || {};
|
|
306
306
|
if (!isEmpty(accountObj)) {
|
|
@@ -313,6 +313,7 @@ export const Rcs = (props) => {
|
|
|
313
313
|
setAccessToken(configs.accessToken || '');
|
|
314
314
|
setHostName(accountObj.hostName || '');
|
|
315
315
|
setAccountName(accountObj.name || '');
|
|
316
|
+
setRcsAccount(accountObj.id || '');
|
|
316
317
|
}
|
|
317
318
|
}, [accountData.selectedRcsAccount]);
|
|
318
319
|
|
|
@@ -607,6 +608,10 @@ export const Rcs = (props) => {
|
|
|
607
608
|
const mediaData = get(details, 'versions.base.content.RCS.rcsContent.cardContent[0].media', '');
|
|
608
609
|
const cardSettings = get(details, 'versions.base.content.RCS.rcsContent.cardSettings', '');
|
|
609
610
|
setMediaData(mediaData, mediaType, cardSettings);
|
|
611
|
+
if (details?.edit) {
|
|
612
|
+
const rcsAccountId = get(details, 'versions.base.content.RCS.rcsContent.accountId', '');
|
|
613
|
+
setRcsAccount(rcsAccountId);
|
|
614
|
+
}
|
|
610
615
|
}
|
|
611
616
|
}, [rcsData, templateData, isFullMode, isEditFlow]);
|
|
612
617
|
|
|
@@ -1962,6 +1967,7 @@ const splitTemplateVarString = (str) => {
|
|
|
1962
1967
|
content: {
|
|
1963
1968
|
RCS: {
|
|
1964
1969
|
rcsContent: {
|
|
1970
|
+
...(rcsAccount && !isFullMode && { accountId: rcsAccount }),
|
|
1965
1971
|
cardType: STANDALONE,
|
|
1966
1972
|
cardSettings: {
|
|
1967
1973
|
cardOrientation: isMediaTypeImage ? RCS_IMAGE_DIMENSIONS[selectedDimension]?.orientation || VERTICAL : RCS_VIDEO_THUMBNAIL_DIMENSIONS[selectedDimension]?.orientation || VERTICAL,
|
|
@@ -1096,7 +1096,6 @@ export class Create extends React.Component { // eslint-disable-line react/prefe
|
|
|
1096
1096
|
onTestContentClicked={this.props.onTestContentClicked}
|
|
1097
1097
|
onPreviewContentClicked={this.props.onPreviewContentClicked}
|
|
1098
1098
|
eventContextTags={this.props?.eventContextTags}
|
|
1099
|
-
waitEventContextTags={this.props?.waitEventContextTags}
|
|
1100
1099
|
/>
|
|
1101
1100
|
</CapColumn>
|
|
1102
1101
|
</CapRow>
|
|
@@ -1133,7 +1132,6 @@ Create.propTypes = {
|
|
|
1133
1132
|
isLoadingMetaEntities: PropTypes.bool,
|
|
1134
1133
|
selectedOfferDetails: PropTypes.array,
|
|
1135
1134
|
eventContextTags: PropTypes.array,
|
|
1136
|
-
waitEventContextTags: PropTypes.object,
|
|
1137
1135
|
showTestAndPreviewSlidebox: PropTypes.bool,
|
|
1138
1136
|
handleTestAndPreview: PropTypes.func,
|
|
1139
1137
|
handleCloseTestAndPreview: PropTypes.func,
|
|
@@ -1091,7 +1091,6 @@ export class Edit extends React.Component { // eslint-disable-line react/prefer-
|
|
|
1091
1091
|
onPreviewContentClicked={this.props.onPreviewContentClicked}
|
|
1092
1092
|
onTestContentClicked={this.props.onTestContentClicked}
|
|
1093
1093
|
eventContextTags={this.props?.eventContextTags}
|
|
1094
|
-
waitEventContextTags={this.props?.waitEventContextTags}
|
|
1095
1094
|
messageDetails={this.props?.messageDetails}
|
|
1096
1095
|
/>
|
|
1097
1096
|
</CapColumn>
|
|
@@ -1132,7 +1131,6 @@ Edit.propTypes = {
|
|
|
1132
1131
|
injectedTags: PropTypes.object,
|
|
1133
1132
|
selectedOfferDetails: PropTypes.array,
|
|
1134
1133
|
eventContextTags: PropTypes.array,
|
|
1135
|
-
waitEventContextTags: PropTypes.object,
|
|
1136
1134
|
messageDetails: PropTypes.object,
|
|
1137
1135
|
showTestAndPreviewSlidebox: PropTypes.bool,
|
|
1138
1136
|
handleTestAndPreview: PropTypes.func,
|
|
@@ -82,7 +82,6 @@ export const SmsTraiEdit = (props) => {
|
|
|
82
82
|
templateData = {},
|
|
83
83
|
selectedOfferDetails,
|
|
84
84
|
eventContextTags,
|
|
85
|
-
waitEventContextTags,
|
|
86
85
|
fetchingLiquidTags,
|
|
87
86
|
getLiquidTags,
|
|
88
87
|
showLiquidErrorInFooter,
|
|
@@ -661,7 +660,6 @@ export const SmsTraiEdit = (props) => {
|
|
|
661
660
|
hidePopover={disablehandler()}
|
|
662
661
|
selectedOfferDetails={selectedOfferDetails}
|
|
663
662
|
eventContextTags={eventContextTags}
|
|
664
|
-
waitEventContextTags={waitEventContextTags}
|
|
665
663
|
/>
|
|
666
664
|
)}
|
|
667
665
|
/>
|
|
@@ -30,7 +30,6 @@ const SmsWrapper = (props) => {
|
|
|
30
30
|
smsRegister,
|
|
31
31
|
onShowTemplates,
|
|
32
32
|
eventContextTags,
|
|
33
|
-
waitEventContextTags,
|
|
34
33
|
showLiquidErrorInFooter,
|
|
35
34
|
getLiquidTags,
|
|
36
35
|
showTestAndPreviewSlidebox,
|
|
@@ -54,7 +53,6 @@ const SmsWrapper = (props) => {
|
|
|
54
53
|
onPreviewContentClicked,
|
|
55
54
|
onTestContentClicked,
|
|
56
55
|
eventContextTags,
|
|
57
|
-
waitEventContextTags,
|
|
58
56
|
showLiquidErrorInFooter,
|
|
59
57
|
getLiquidTags,
|
|
60
58
|
showTestAndPreviewSlidebox,
|
|
@@ -94,28 +94,10 @@ export class TagList extends React.Component { // eslint-disable-line react/pref
|
|
|
94
94
|
}
|
|
95
95
|
|
|
96
96
|
componentDidUpdate(prevProps) {
|
|
97
|
-
const {
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
eventContextTags,
|
|
102
|
-
waitEventContextTags,
|
|
103
|
-
} = this.props;
|
|
104
|
-
const {
|
|
105
|
-
tags: prevTags,
|
|
106
|
-
injectedTags: prevInjectedTags,
|
|
107
|
-
selectedOfferDetails: prevSelectedOfferDetails,
|
|
108
|
-
eventContextTags: prevEventContextTags,
|
|
109
|
-
waitEventContextTags: prevWaitEventContextTags,
|
|
110
|
-
} = prevProps;
|
|
111
|
-
|
|
112
|
-
if (
|
|
113
|
-
tags !== prevTags
|
|
114
|
-
|| injectedTags !== prevInjectedTags
|
|
115
|
-
|| selectedOfferDetails !== prevSelectedOfferDetails
|
|
116
|
-
|| !_.isEqual(eventContextTags, prevEventContextTags)
|
|
117
|
-
|| !_.isEqual(waitEventContextTags, prevWaitEventContextTags)
|
|
118
|
-
) {
|
|
97
|
+
const { tags, injectedTags, selectedOfferDetails } = this.props;
|
|
98
|
+
const { tags: prevTags, injectedTags: prevInjectedTags, selectedOfferDetails: prevSelectedOfferDetails } = prevProps;
|
|
99
|
+
|
|
100
|
+
if (tags !== prevTags || injectedTags !== prevInjectedTags || selectedOfferDetails !== prevSelectedOfferDetails) {
|
|
119
101
|
this.generateTags(this.props);
|
|
120
102
|
}
|
|
121
103
|
}
|
|
@@ -180,7 +162,7 @@ export class TagList extends React.Component { // eslint-disable-line react/pref
|
|
|
180
162
|
let injectedTags = {};
|
|
181
163
|
const eventContextTagsObj = {};
|
|
182
164
|
|
|
183
|
-
const {selectedOfferDetails, eventContextTags
|
|
165
|
+
const {selectedOfferDetails, eventContextTags } = props;
|
|
184
166
|
if (props.injectedTags && !_.isEmpty(props.injectedTags)) {
|
|
185
167
|
const formattedInjectedTags = handleInjectedData(
|
|
186
168
|
props.injectedTags,
|
|
@@ -232,43 +214,6 @@ export class TagList extends React.Component { // eslint-disable-line react/pref
|
|
|
232
214
|
};
|
|
233
215
|
});
|
|
234
216
|
}
|
|
235
|
-
// Wait event context tags should be displayed in the Add Labels when node is next to Event based wait node.
|
|
236
|
-
if (waitEventContextTags && Object.keys(waitEventContextTags)?.length) {
|
|
237
|
-
|
|
238
|
-
Object.keys(waitEventContextTags).forEach((blockId) => {
|
|
239
|
-
const WAIT_EVENT_HEADER_MSG_LABEL = `${waitEventContextTags[blockId].eventName} (${waitEventContextTags[blockId].blockName})`;
|
|
240
|
-
eventContextTagsObj[blockId] = {
|
|
241
|
-
"name": WAIT_EVENT_HEADER_MSG_LABEL,
|
|
242
|
-
"desc": WAIT_EVENT_HEADER_MSG_LABEL,
|
|
243
|
-
"resolved": true,
|
|
244
|
-
'tag-header': true,
|
|
245
|
-
"subtags": {},
|
|
246
|
-
};
|
|
247
|
-
|
|
248
|
-
waitEventContextTags?.[blockId]?.tags?.forEach((tag) => {
|
|
249
|
-
const {
|
|
250
|
-
tagName, label, profileId, profileName, blockName, eventName
|
|
251
|
-
} = tag || {};
|
|
252
|
-
if (!profileId || !tagName || !label || !profileName) return;
|
|
253
|
-
// Initializing the tags profile if it doesn't exist
|
|
254
|
-
if (!eventContextTagsObj?.[blockId]?.subtags?.[profileId]) {
|
|
255
|
-
eventContextTagsObj[blockId].subtags[profileId] = {
|
|
256
|
-
"name": profileName,
|
|
257
|
-
"desc": profileName,
|
|
258
|
-
"resolved": true,
|
|
259
|
-
'tag-header': true,
|
|
260
|
-
"subtags": {},
|
|
261
|
-
};
|
|
262
|
-
}
|
|
263
|
-
// Adding the current tag to the profile group
|
|
264
|
-
eventContextTagsObj[blockId].subtags[profileId].subtags[tagName] = {
|
|
265
|
-
name: label,
|
|
266
|
-
desc: label,
|
|
267
|
-
resolved: true,
|
|
268
|
-
};
|
|
269
|
-
});
|
|
270
|
-
});
|
|
271
|
-
}
|
|
272
217
|
this.setState({tags: _.merge( {}, tags, injectedTags, eventContextTagsObj )});
|
|
273
218
|
}
|
|
274
219
|
|
|
@@ -487,7 +432,6 @@ TagList.defaultProps = {
|
|
|
487
432
|
isNewVersionFlow: false,
|
|
488
433
|
userLocale: 'en',
|
|
489
434
|
eventContextTags: [],
|
|
490
|
-
waitEventContextTags: {},
|
|
491
435
|
};
|
|
492
436
|
|
|
493
437
|
TagList.propTypes = {
|
|
@@ -508,7 +452,6 @@ TagList.propTypes = {
|
|
|
508
452
|
disabled: PropTypes.bool,
|
|
509
453
|
fetchingSchemaError: PropTypes.bool,
|
|
510
454
|
eventContextTags: PropTypes.array,
|
|
511
|
-
waitEventContextTags: PropTypes.object,
|
|
512
455
|
popoverPlacement: PropTypes.string,
|
|
513
456
|
// message to show when Add Label button is disabled (e.g. personalization restriction)
|
|
514
457
|
disableTooltipMsg: PropTypes.string,
|
|
@@ -19,8 +19,4 @@ export default defineMessages({
|
|
|
19
19
|
id: `${scope}.personalizationNotSupportedAnonymous`,
|
|
20
20
|
defaultMessage: 'Personalization tags are not supported for anonymous customers',
|
|
21
21
|
},
|
|
22
|
-
waitEvent: {
|
|
23
|
-
id: `${scope}.waitEvent`,
|
|
24
|
-
defaultMessage: 'Wait Event',
|
|
25
|
-
},
|
|
26
22
|
});
|