@capillarytech/creatives-library 7.12.14 → 7.12.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/containers/Assets/Gallery/tests/__snapshots__/reducer.test.js.snap +2 -2
- package/index.js +0 -6
- package/package.json +1 -1
- package/routes.js +2 -7
- package/services/api.js +2 -8
- package/v2Components/CapImageUpload/index.js +11 -24
- package/v2Components/CapImageUpload/index.scss +27 -12
- package/v2Components/CapImageUpload/messages.js +5 -10
- package/v2Components/TemplatePreview/_templatePreview.scss +0 -10
- package/v2Components/TemplatePreview/index.js +1 -41
- package/v2Components/TemplatePreview/tests/__snapshots__/index.test.js.snap +1 -33
- package/v2Components/TemplatePreview/tests/index.test.js +7 -7
- package/v2Containers/App/constants.js +1 -2
- package/v2Containers/Assets/Gallery/tests/__snapshots__/reducer.test.js.snap +2 -2
- package/v2Containers/Cap/messages.js +1 -20
- package/v2Containers/CreativesContainer/SlideBoxContent.js +11 -58
- package/v2Containers/CreativesContainer/SlideBoxHeader.js +30 -39
- package/v2Containers/CreativesContainer/constants.js +0 -1
- package/v2Containers/CreativesContainer/index.js +1 -53
- package/v2Containers/CreativesContainer/messages.js +0 -4
- package/v2Containers/CreativesContainer/tests/SlideBoxContent.test.js +4 -24
- package/v2Containers/CreativesContainer/tests/SlideBoxHeader.test.js +4 -23
- package/v2Containers/CreativesContainer/tests/__snapshots__/SlideBoxContent.test.js.snap +2 -147
- package/v2Containers/CreativesContainer/tests/__snapshots__/SlideBoxHeader.test.js.snap +0 -98
- package/v2Containers/CreativesContainer/tests/__snapshots__/index.test.js.snap +0 -71
- package/v2Containers/CreativesContainer/tests/index.test.js +9 -21
- package/v2Containers/Facebook/Advertisement/index.js +2 -4
- package/v2Containers/MobilePush/Create/index.js +6 -6
- package/v2Containers/MobilePush/Edit/index.js +34 -21
- package/v2Containers/SmsTrai/Edit/tests/__snapshots__/index.test.js.snap +4 -4
- package/v2Containers/Templates/_templates.scss +1 -9
- package/v2Containers/Templates/actions.js +1 -2
- package/v2Containers/Templates/constants.js +0 -1
- package/v2Containers/Templates/index.js +174 -234
- package/v2Containers/Templates/messages.js +0 -20
- package/v2Containers/Templates/reducer.js +0 -2
- package/v2Containers/Templates/tests/__snapshots__/index.test.js.snap +80 -520
- package/v2Containers/TemplatesV2/index.js +4 -13
- package/v2Containers/TemplatesV2/messages.js +0 -4
- package/v2Containers/Whatsapp/index.js +2 -4
- package/v2Containers/Whatsapp/messages.js +13 -0
- package/v2Containers/Whatsapp/tests/__snapshots__/index.test.js.snap +13 -13
- package/v2Containers/Whatsapp/tests/__snapshots__/utils.test.js.snap +26 -32
- package/v2Containers/mockdata.js +541 -500
- package/v2Components/TemplatePreview/assets/images/sms_mobile_ios.svg +0 -18
- package/v2Containers/Assets/images/addCreativesIllustration.svg +0 -30
- package/v2Containers/Assets/images/rcsIllustration.png +0 -0
- package/v2Containers/Rcs/actions.js +0 -57
- package/v2Containers/Rcs/constants.js +0 -51
- package/v2Containers/Rcs/index.js +0 -1075
- package/v2Containers/Rcs/index.scss +0 -72
- package/v2Containers/Rcs/messages.js +0 -122
- package/v2Containers/Rcs/reducer.js +0 -107
- package/v2Containers/Rcs/sagas.js +0 -141
- package/v2Containers/Rcs/selectors.js +0 -8
- package/v2Containers/Rcs/tests/__snapshots__/index.test.js.snap +0 -144496
- package/v2Containers/Rcs/tests/index.test.js +0 -226
- package/v2Containers/Rcs/tests/mockData.js +0 -166
- package/v2Containers/Rcs/utils.js +0 -40
|
@@ -70,7 +70,6 @@ import * as lineActions from '../Line/Container/actions';
|
|
|
70
70
|
import * as viberActions from '../Viber/actions';
|
|
71
71
|
import * as facebookActions from '../Facebook/actions';
|
|
72
72
|
import * as whatsappActions from '../Whatsapp/actions';
|
|
73
|
-
import * as rcsActions from '../Rcs/actions';
|
|
74
73
|
import CardGrid from '../../v2Components/CardGrid';
|
|
75
74
|
import config from '../../config/app';
|
|
76
75
|
import './_templates.scss';
|
|
@@ -98,9 +97,7 @@ import {
|
|
|
98
97
|
WHATSAPP_STATUSES,
|
|
99
98
|
} from '../Whatsapp/constants';
|
|
100
99
|
import { getWhatsappContent, getWhatsappStatus, getWhatsappCategory } from '../Whatsapp/utils';
|
|
101
|
-
import {
|
|
102
|
-
|
|
103
|
-
import { MOBILE_PUSH, WECHAT, SMS, EMAIL, EBILL, LINE, VIBER, FACEBOOK, WHATSAPP, RCS } from '../CreativesContainer/constants';
|
|
100
|
+
import { MOBILE_PUSH, WECHAT, SMS, EMAIL, EBILL, LINE, VIBER, FACEBOOK, WHATSAPP } from '../CreativesContainer/constants';
|
|
104
101
|
|
|
105
102
|
import {CREATIVE} from '../Facebook/constants';
|
|
106
103
|
|
|
@@ -108,8 +105,6 @@ import emailIllustration from '../Assets/images/emailIllustration.svg';
|
|
|
108
105
|
import smsIllustration from '../Assets/images/smsIllustration.svg';
|
|
109
106
|
import pushIllustration from '../Assets/images/pushIllustration.svg';
|
|
110
107
|
import whatsappIllustration from '../Assets/images/whatsappIllustration.png';
|
|
111
|
-
import rcsIllustration from '../Assets/images/rcsIllustration.png';
|
|
112
|
-
|
|
113
108
|
import { CAP_SPACE_16, CAP_SPACE_44 } from '@capillarytech/cap-ui-library/styled/variables';
|
|
114
109
|
import { GA } from '@capillarytech/cap-ui-utils';
|
|
115
110
|
const { timeTracker } = GA;
|
|
@@ -149,18 +144,10 @@ const SMS_FILTERS = {
|
|
|
149
144
|
};
|
|
150
145
|
|
|
151
146
|
const WHATSAPP_LOWERCASE = WHATSAPP.toLowerCase();
|
|
152
|
-
const RCS_LOWERCASE = RCS.toLowerCase();
|
|
153
147
|
const SMS_LOWERCASE = SMS.toLowerCase();
|
|
154
148
|
const MOBILE_PUSH_LOWERCASE = MOBILE_PUSH.toLowerCase();
|
|
155
149
|
const EBILL_LOWERCASE = EBILL.toLowerCase();
|
|
156
150
|
const LINE_LOWERCASE = LINE.toLowerCase();
|
|
157
|
-
const duplicateEnum = {
|
|
158
|
-
sms: "smsActions",
|
|
159
|
-
line: "lineActions",
|
|
160
|
-
[VIBER_CHANNEL]: "viberActions",
|
|
161
|
-
[FACEBOOK_CHANNEL]: "facebookActions",
|
|
162
|
-
[RCS_LOWERCASE]: "rcsActions",
|
|
163
|
-
};
|
|
164
151
|
export class Templates extends React.Component { // eslint-disable-line react/prefer-stateless-function
|
|
165
152
|
constructor(props) {
|
|
166
153
|
super(props);
|
|
@@ -190,7 +177,7 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
190
177
|
lineFilter: LINE_FILTERS.ALL,
|
|
191
178
|
smsFilter: SMS_FILTERS.ALL,
|
|
192
179
|
selectedWhatsappStatus: '',
|
|
193
|
-
selectedWhatsappCategory: ''
|
|
180
|
+
selectedWhatsappCategory: ''
|
|
194
181
|
};
|
|
195
182
|
|
|
196
183
|
this.handleOnHoverItem = this.handleOnHoverItem.bind(this);
|
|
@@ -261,9 +248,6 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
261
248
|
activeMode = ACCOUNT_SELECTION_MODE;
|
|
262
249
|
this.props.actions.getWeCrmAccounts(channel);
|
|
263
250
|
break;
|
|
264
|
-
case RCS:
|
|
265
|
-
channel = 'Rcs';
|
|
266
|
-
break;
|
|
267
251
|
default:
|
|
268
252
|
channel = '';
|
|
269
253
|
}
|
|
@@ -294,7 +278,7 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
294
278
|
if (this.props.location.query.type === 'embedded') {
|
|
295
279
|
this.props.actions.resetAccount();
|
|
296
280
|
}
|
|
297
|
-
if (['line', VIBER_CHANNEL, FACEBOOK_CHANNEL, 'sms', 'email', 'ebill'
|
|
281
|
+
if (['line', VIBER_CHANNEL, FACEBOOK_CHANNEL, 'sms', 'email', 'ebill'].includes((this.state.channel || '').toLowerCase())) {
|
|
298
282
|
const queryParams = {
|
|
299
283
|
// name: this.state.searchText,
|
|
300
284
|
// sortBy: this.state.sortBy,
|
|
@@ -357,7 +341,7 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
357
341
|
}
|
|
358
342
|
|
|
359
343
|
this.setState({ channel }, () => {
|
|
360
|
-
if (['line', VIBER_CHANNEL, FACEBOOK_CHANNEL, 'sms', 'email', 'ebill'
|
|
344
|
+
if (['line', VIBER_CHANNEL, FACEBOOK_CHANNEL, 'sms', 'email', 'ebill'].includes(this.state.channel.toLowerCase()) || (this.state.channel.toLowerCase() === 'wechat' && !isEmpty(nextProps.Templates.selectedWeChatAccount))) {
|
|
361
345
|
if (this.state.channel.toLowerCase() === 'wechat' && !isEmpty(nextProps.Templates.selectedWeChatAccount)) {
|
|
362
346
|
params.wecrmId = (nextProps.Templates.selectedWeChatAccount.configs || {}).wecrm_app_id;
|
|
363
347
|
params.wecrmToken = (nextProps.Templates.selectedWeChatAccount.configs || {}).wecrm_token;
|
|
@@ -420,13 +404,12 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
420
404
|
});
|
|
421
405
|
}
|
|
422
406
|
}
|
|
423
|
-
|
|
424
|
-
if ((selectedChannel === 'wechat' || selectedChannel === 'mobilepush') && isEmpty(nextProps.Templates.selectedWeChatAccount) && (this.props.location.query.type === 'embedded') && !this.isEnabledInLibraryModule("showAccountSelection")) {
|
|
407
|
+
if ((this.state.channel.toLowerCase() === 'wechat' || this.state.channel.toLowerCase() === 'mobilepush') && isEmpty(nextProps.Templates.selectedWeChatAccount) && (this.props.location.query.type === 'embedded') && !this.isEnabledInLibraryModule("showAccountSelection")) {
|
|
425
408
|
let selectedAccount = '';
|
|
426
409
|
if (isEmpty(nextProps.Templates.weCrmAccounts)) {
|
|
427
410
|
return;
|
|
428
411
|
}
|
|
429
|
-
if (
|
|
412
|
+
if (this.state.channel.toLowerCase() === 'wechat') {
|
|
430
413
|
forEach(nextProps.Templates.weCrmAccounts, (account) => {
|
|
431
414
|
if (account.configs && account.configs.is_wecrm_enabled) {
|
|
432
415
|
if (nextProps.location.query.source_account_id && account.sourceAccountIdentifier === nextProps.location.query.source_account_id) {
|
|
@@ -441,7 +424,7 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
441
424
|
nextProps.actions.setWeChatAccount(selectedAccount);
|
|
442
425
|
this.getAllTemplates({params});
|
|
443
426
|
});
|
|
444
|
-
} else if (
|
|
427
|
+
} else if (this.state.channel.toLowerCase() === 'mobilepush' && (nextProps.location.query.account_id || nextProps.location.query.source_account_id)) {
|
|
445
428
|
forEach(nextProps.Templates.weCrmAccounts, (account) => {
|
|
446
429
|
if ((nextProps.location.query.account_id && account.id === Number(nextProps.location.query.account_id)) || (nextProps.location.query.source_account_id && account.sourceAccountIdentifier && account.sourceAccountIdentifier === nextProps.location.query.source_account_id)) {
|
|
447
430
|
selectedAccount = account;
|
|
@@ -452,38 +435,37 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
452
435
|
this.getAllTemplates({params});
|
|
453
436
|
}
|
|
454
437
|
}
|
|
455
|
-
if (
|
|
438
|
+
if ((this.state.channel || '').toLowerCase() === "mobilepush" && nextProps.CreateMobilePush && nextProps.CreateMobilePush.response && nextProps.CreateMobilePush.response.templateId && nextProps.CreateMobilePush.response.templateId !== '') {
|
|
456
439
|
|
|
457
440
|
}
|
|
458
441
|
|
|
459
|
-
if (
|
|
442
|
+
if ((this.state.channel || '').toLowerCase() === "ebill" && nextProps.CreateEbill && nextProps.CreateEbill.createResponse && nextProps.CreateEbill.createResponse.templateId && nextProps.CreateEbill.createResponse.templateId !== '') {
|
|
460
443
|
const message = `${this.state.channel} ${this.props.intl.formatMessage(messages.templateDuplicateSuccess)}`;
|
|
461
444
|
CapNotification.success({key: 'duplicateSucess', message});
|
|
462
445
|
this.getAllTemplates({params, resetPage: true});
|
|
463
446
|
this.props.ebillActions.clearStoreValues();
|
|
464
447
|
}
|
|
465
448
|
|
|
466
|
-
if (
|
|
449
|
+
if ((this.state.channel || '').toLowerCase() === "email" && nextProps.EmailCreate && nextProps.EmailCreate.duplicateResponse && nextProps.EmailCreate.duplicateResponse.templateId && nextProps.EmailCreate.duplicateResponse.templateId !== '') {
|
|
467
450
|
const message = `${this.state.channel} ${this.props.intl.formatMessage(messages.templateDuplicateSuccess)}`;
|
|
468
451
|
CapNotification.success({key: 'duplicateSucess', message});
|
|
469
452
|
this.getAllTemplates({params, resetPage: true});
|
|
470
453
|
this.props.emailActions.clearStoreValues();
|
|
471
454
|
}
|
|
472
455
|
|
|
473
|
-
if (
|
|
456
|
+
if ((this.state.channel || '').toLowerCase() === "line" && nextProps.Line && nextProps.Line.response && nextProps.Line.response.templateId && nextProps.Line.response.templateId !== '') {
|
|
474
457
|
const message = `${this.state.channel} ${this.props.intl.formatMessage(messages.templateDuplicateSuccess)}`;
|
|
475
458
|
CapNotification.success({key: 'duplicateSuccess', message});
|
|
476
459
|
this.getAllTemplates({params, resetPage: true});
|
|
477
460
|
this.props.lineActions.clearCreateResponse();
|
|
478
461
|
}
|
|
479
462
|
|
|
480
|
-
|
|
481
463
|
if (nextProps.Create && this.props.Create && nextProps.Create.createTemplateError && !isEqual(nextProps.Create.createTemplateError, this.props.Create.createTemplateError)) {
|
|
482
464
|
const message = this.props.intl.formatMessage(messages.somethingWentWrong);
|
|
483
465
|
if ((this.state.channel || '').toLowerCase() !== "sms") {
|
|
484
466
|
CapNotification.error({key: 'somethingWrong', message});
|
|
485
467
|
}
|
|
486
|
-
const { smsActions, mobilepushActions, ebillActions, lineActions, viberActions, facebookActions, whatsappActions
|
|
468
|
+
const { smsActions, mobilepushActions, ebillActions, lineActions, viberActions, facebookActions, whatsappActions } = this.props;
|
|
487
469
|
switch (selectedChannel) {
|
|
488
470
|
case SMS_LOWERCASE:
|
|
489
471
|
smsActions.clearCreateResponse();
|
|
@@ -506,9 +488,6 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
506
488
|
case WHATSAPP_LOWERCASE:
|
|
507
489
|
whatsappActions.clearCreateResponse();
|
|
508
490
|
break;
|
|
509
|
-
case RCS_LOWERCASE:
|
|
510
|
-
rcsActions.clearCreateResponse();
|
|
511
|
-
break;
|
|
512
491
|
default:
|
|
513
492
|
break;
|
|
514
493
|
}
|
|
@@ -550,30 +529,28 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
550
529
|
if (!isEmpty(nextProps.Templates.templateDetails) && !isEqual(nextProps.Templates.templateDetails, this.props.Templates.templateDetails)) {
|
|
551
530
|
this.setState({previewTemplate: nextProps.Templates.templateDetails});
|
|
552
531
|
}
|
|
553
|
-
const weCrmAccountsList = get(nextProps, `Templates.weCrmAccounts`, []);
|
|
554
|
-
const weCrmChannels = ['wechat', WHATSAPP_LOWERCASE];
|
|
555
532
|
|
|
556
|
-
if (
|
|
533
|
+
if (nextProps.Templates.weCrmAccounts !== undefined && nextProps.Templates.weCrmAccounts.length === 1 && this.state.defaultAccount && (['wechat', WHATSAPP_LOWERCASE].indexOf(this.state.channel.toLowerCase()) > -1 )) {
|
|
557
534
|
const paramsDefault = {
|
|
558
535
|
name: this.state.searchText,
|
|
559
536
|
sortBy: this.state.sortBy,
|
|
560
537
|
};
|
|
561
|
-
if (
|
|
562
|
-
paramsDefault.wecrmId =
|
|
563
|
-
paramsDefault.wecrmToken =
|
|
564
|
-
paramsDefault.originalId =
|
|
565
|
-
if (
|
|
538
|
+
if (['wechat', WHATSAPP_LOWERCASE].includes(this.state.channel.toLowerCase())) {
|
|
539
|
+
paramsDefault.wecrmId = nextProps.Templates.weCrmAccounts[0].configs.wecrm_app_id;
|
|
540
|
+
paramsDefault.wecrmToken = nextProps.Templates.weCrmAccounts[0].configs.wecrm_token;
|
|
541
|
+
paramsDefault.originalId = nextProps.Templates.weCrmAccounts[0].sourceAccountIdentifier;
|
|
542
|
+
if (this.state.channel.toLowerCase() === WHATSAPP_LOWERCASE) {
|
|
566
543
|
nextProps.actions.setChannelAccount(
|
|
567
|
-
|
|
568
|
-
|
|
544
|
+
WHATSAPP,
|
|
545
|
+
nextProps.Templates.weCrmAccounts[0],
|
|
569
546
|
);
|
|
570
547
|
} else {
|
|
571
548
|
nextProps.actions.setWeChatAccount(
|
|
572
|
-
|
|
549
|
+
nextProps.Templates.weCrmAccounts[0],
|
|
573
550
|
);
|
|
574
551
|
}
|
|
575
552
|
}
|
|
576
|
-
this.setState({
|
|
553
|
+
this.setState({defaultAccount: false, activeMode: TEMPLATES_MODE, selectedAccount: nextProps.Templates.weCrmAccounts[0].name });
|
|
577
554
|
this.getAllTemplates({params: paramsDefault}, true);
|
|
578
555
|
}
|
|
579
556
|
}
|
|
@@ -593,13 +570,12 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
593
570
|
name: this.state.searchText,
|
|
594
571
|
sortBy: this.state.sortBy,
|
|
595
572
|
};
|
|
596
|
-
|
|
597
|
-
if (selectedChannel === 'wechat') {
|
|
573
|
+
if (this.state.channel.toLowerCase() === 'wechat') {
|
|
598
574
|
params.wecrmId = this.props.Templates.weCrmAccounts[findIndex(this.props.Templates.weCrmAccounts, { name: value})].configs.wecrm_app_id;
|
|
599
575
|
params.wecrmToken = this.props.Templates.weCrmAccounts[findIndex(this.props.Templates.weCrmAccounts, { name: value})].configs.wecrm_token;
|
|
600
576
|
this.props.actions.setWeChatAccount(this.props.Templates.weCrmAccounts[findIndex(this.props.Templates.weCrmAccounts, { name: value})]);
|
|
601
577
|
params.originalId = this.props.Templates.weCrmAccounts[findIndex(this.props.Templates.weCrmAccounts, { name: value})].sourceAccountIdentifier;
|
|
602
|
-
} else if (
|
|
578
|
+
} else if (this.state.channel.toLowerCase() === 'mobilepush') {
|
|
603
579
|
this.props.actions.setWeChatAccount(this.props.Templates.weCrmAccounts[findIndex(this.props.Templates.weCrmAccounts, { name: value})]);
|
|
604
580
|
const account = this.props.Templates.weCrmAccounts[findIndex(this.props.Templates.weCrmAccounts, { name: value})];
|
|
605
581
|
params.accountId = account.id;
|
|
@@ -612,8 +588,10 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
612
588
|
} else {
|
|
613
589
|
this.setState({selectedAccountError: false});
|
|
614
590
|
}
|
|
615
|
-
} else if (
|
|
616
|
-
this.props.actions.setChannelAccount(
|
|
591
|
+
} else if (this.state.channel.toLowerCase() === LINE.toLowerCase()) {
|
|
592
|
+
this.props.actions.setChannelAccount(LINE, this.props.Templates.weCrmAccounts.find((item) => item.name === this.state.selectedAccount));
|
|
593
|
+
} else if (this.state.channel.toLowerCase() === WHATSAPP_LOWERCASE) {
|
|
594
|
+
this.props.actions.setChannelAccount(WHATSAPP, this.props.Templates.weCrmAccounts.find((item) => item.name === this.state.selectedAccount));
|
|
617
595
|
}
|
|
618
596
|
|
|
619
597
|
this.setState({activeMode: TEMPLATES_MODE});
|
|
@@ -766,12 +744,13 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
766
744
|
}
|
|
767
745
|
|
|
768
746
|
isStatusMatching = (status, selectedWhatsappStatus) => {
|
|
769
|
-
if
|
|
747
|
+
if(this.props.isFullMode && selectedWhatsappStatus) {
|
|
770
748
|
if ( [WHATSAPP_STATUSES.unsubmitted, WHATSAPP_STATUSES.pending].includes(status) ) {
|
|
771
749
|
return selectedWhatsappStatus === WHATSAPP_STATUSES.awaitingApproval;
|
|
772
750
|
}
|
|
773
|
-
|
|
774
|
-
}
|
|
751
|
+
return selectedWhatsappStatus === status;
|
|
752
|
+
}
|
|
753
|
+
else if (!this.props.isFullMode){
|
|
775
754
|
return status === WHATSAPP_STATUSES.approved;
|
|
776
755
|
}
|
|
777
756
|
return true;
|
|
@@ -792,7 +771,7 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
792
771
|
);
|
|
793
772
|
});
|
|
794
773
|
}
|
|
795
|
-
|
|
774
|
+
|
|
796
775
|
filterSMSTemplates = (templates) => {
|
|
797
776
|
const { smsFilter } = this.state;
|
|
798
777
|
if (SMS_FILTERS.ALL === smsFilter) {
|
|
@@ -808,43 +787,6 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
808
787
|
return messages.creativesTemplatesEdit;
|
|
809
788
|
}
|
|
810
789
|
|
|
811
|
-
whatsappIllustrationText = (title, desc) =>
|
|
812
|
-
<CapHeader
|
|
813
|
-
title={
|
|
814
|
-
<CapHeading type="h3" className="channel-specific-illustration-text">
|
|
815
|
-
{this.props.intl.formatMessage(messages[title])}
|
|
816
|
-
</CapHeading>
|
|
817
|
-
}
|
|
818
|
-
description={
|
|
819
|
-
<CapLabel style={{ textAlign: "center" }}>
|
|
820
|
-
{this.props.intl.formatMessage(messages[desc])}
|
|
821
|
-
</CapLabel>
|
|
822
|
-
}
|
|
823
|
-
/>
|
|
824
|
-
|
|
825
|
-
getSmsEmailIllustration = () =>
|
|
826
|
-
this.props.isDltFromRcs ? (
|
|
827
|
-
<CapHeader
|
|
828
|
-
title={
|
|
829
|
-
<CapHeading type="h3" className="channel-specific-illustration-text">
|
|
830
|
-
{this.props.intl.formatMessage(messages.rcsDltIllustrationTitle)}
|
|
831
|
-
</CapHeading>
|
|
832
|
-
}
|
|
833
|
-
description={
|
|
834
|
-
<CapLabel style={{ textAlign: 'center' }}>
|
|
835
|
-
{this.props.intl.formatMessage(messages.rcsDltIllustrationDesc)}
|
|
836
|
-
</CapLabel>
|
|
837
|
-
}
|
|
838
|
-
/>
|
|
839
|
-
) : (
|
|
840
|
-
<CapIllustration
|
|
841
|
-
buttonClassName={`create-new-${this.state.channel.toLowerCase()}`}
|
|
842
|
-
{...this.getChannelTypeIllustrationInfo(
|
|
843
|
-
this.state.channel.toUpperCase(),
|
|
844
|
-
)}
|
|
845
|
-
/>
|
|
846
|
-
);
|
|
847
|
-
|
|
848
790
|
getTemplateDataForGrid = ({templates, handlers, filterContent, channel, isLoading, loadingTip}) => {
|
|
849
791
|
const currentChannel = channel.toUpperCase();
|
|
850
792
|
const {channel: stateChannel} = this.state;
|
|
@@ -886,7 +828,7 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
886
828
|
className={`view-${channelLowerCase}`}
|
|
887
829
|
style={{marginRight: '16px'}}
|
|
888
830
|
type="eye"
|
|
889
|
-
onClick={() => { if (
|
|
831
|
+
onClick={() => { if (this.props.isFullMode) { handlers.handlePreviewClick(template); } else { this.props.handlePeviewTemplate(template); } }}
|
|
890
832
|
/>,
|
|
891
833
|
],
|
|
892
834
|
hoverOption: <CapButton className={this.props.isFullMode ? `edit-${channelLowerCase}` : `select-${channelLowerCase}`} onClick={(e) => handlers.handleEditClick(e, template, undefined, undefined, {account: this.state.selectedAccount})}>{hoverButtonText}</CapButton>,
|
|
@@ -903,7 +845,7 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
903
845
|
} = {},
|
|
904
846
|
} = {},
|
|
905
847
|
} = template;
|
|
906
|
-
if (this.props.isFullMode && !
|
|
848
|
+
if (this.props.isFullMode && !(this.state.channel.toUpperCase() === WHATSAPP && status === WHATSAPP_STATUSES.approved)) {
|
|
907
849
|
templateData.extra.push(<CapDropdown
|
|
908
850
|
overlay={
|
|
909
851
|
<CapMenu>
|
|
@@ -1054,11 +996,6 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
1054
996
|
|
|
1055
997
|
templateData.content = getWhatsappContent(template).templateMsg;
|
|
1056
998
|
break;
|
|
1057
|
-
case RCS: {
|
|
1058
|
-
templateData.title = template.name;
|
|
1059
|
-
templateData.content = getRCSContent(template);
|
|
1060
|
-
break;
|
|
1061
|
-
}
|
|
1062
999
|
default:
|
|
1063
1000
|
templateData.content = "";
|
|
1064
1001
|
}
|
|
@@ -1066,12 +1003,6 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
1066
1003
|
}) : [];
|
|
1067
1004
|
const accountId = get(this.props, 'Templates.selectedWeChatAccount.uuid');
|
|
1068
1005
|
const accounts = get(this.props, 'Templates.weCrmAccounts');
|
|
1069
|
-
const noWhatsappTemplates = this.isFullMode() && isEmpty(templates);
|
|
1070
|
-
const noFilteredWhatsappTemplates = this.isFullMode() && !isEmpty(templates) && isEmpty(filteredTemplates);
|
|
1071
|
-
const noApprovedWhatsappTemplates = !this.isFullMode() && isEmpty(filteredTemplates);
|
|
1072
|
-
const showWhatsappIllustration = !isEmpty(this.props.Templates.selectedWhatsappAccount) && [WHATSAPP_LOWERCASE].includes(channelLowerCase);
|
|
1073
|
-
const showRcsIllustration = channelLowerCase === RCS_LOWERCASE && isEmpty(templates);
|
|
1074
|
-
const noLoaderAndSearchText = isEmpty(this.state.searchText) && !isLoading;
|
|
1075
1006
|
return (<div>
|
|
1076
1007
|
{[WECHAT, MOBILE_PUSH].includes(currentChannel) && this.showAccountName()}
|
|
1077
1008
|
{filterContent}
|
|
@@ -1088,7 +1019,7 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
1088
1019
|
fbType={"list"}
|
|
1089
1020
|
/>
|
|
1090
1021
|
</div>)
|
|
1091
|
-
: ['sms', "email"].includes(this.state.channel.toLowerCase()) && !isLoading && this.
|
|
1022
|
+
: ['sms', "email"].includes(this.state.channel.toLowerCase()) && !isLoading && <CapIllustration buttonClassName={`create-new-${channelLowerCase}`} {...this.getChannelTypeIllustrationInfo(currentChannel)} />
|
|
1092
1023
|
}
|
|
1093
1024
|
|
|
1094
1025
|
{(this.state.selectedAccount === '' && isEmpty(this.props.Templates.selectedWeChatAccount)) && (this.state.channel.toLowerCase() === 'wechat' || this.state.channel.toLowerCase() === "mobilepush") &&
|
|
@@ -1114,27 +1045,52 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
1114
1045
|
</div>
|
|
1115
1046
|
)
|
|
1116
1047
|
}
|
|
1117
|
-
{
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
</
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
noLoaderAndSearchText &&
|
|
1048
|
+
{ !isEmpty(this.props.Templates.selectedWhatsappAccount) && [WHATSAPP_LOWERCASE].includes(this.state.channel.toLowerCase()) && this.state.selectedAccountError ?
|
|
1049
|
+
<div style={{ height: '65vh', textAlign: 'center', lineHeight: '65vh'}}>
|
|
1050
|
+
<CapHeading type="h6" >
|
|
1051
|
+
{this.props.intl.formatMessage(messages.accountConfigError)}
|
|
1052
|
+
<InlineDiv>
|
|
1053
|
+
<CapLink title="here" style={{display: 'inline'}} onClick={() => { window.open(config.production.accountConfig`${accountId}`); }}/>
|
|
1054
|
+
</InlineDiv>
|
|
1055
|
+
</CapHeading>
|
|
1056
|
+
</div> : (
|
|
1057
|
+
[WHATSAPP_LOWERCASE].includes(this.state.channel.toLowerCase()) &&
|
|
1058
|
+
isEmpty(this.state.searchText) &&
|
|
1059
|
+
!isLoading &&
|
|
1130
1060
|
<div style={this.isFullMode() ? { height: "calc(100vh - 325px)", overflow: 'auto' } : {}}>
|
|
1131
|
-
|
|
1061
|
+
{this.isFullMode() && isEmpty(templates) && <CapIllustration buttonClassName={`create-new-${channelLowerCase}`} {...this.getChannelTypeIllustrationInfo(currentChannel)} />}
|
|
1062
|
+
{this.isFullMode() && !isEmpty(templates) && isEmpty(filteredTemplates) && <CapHeader
|
|
1063
|
+
title={
|
|
1064
|
+
<CapHeading type="h3" style={{ textAlign: "center", marginTop: CAP_SPACE_44 }}>
|
|
1065
|
+
{this.props.intl.formatMessage(messages.noFilteredWhatsappTemplatesTitle)}
|
|
1066
|
+
</CapHeading>
|
|
1067
|
+
}
|
|
1068
|
+
description={
|
|
1069
|
+
<CapLabel style={{ textAlign: "center" }}>
|
|
1070
|
+
{this.props.intl.formatMessage(messages.noFilteredWhatsappTemplatesDesc)}
|
|
1071
|
+
</CapLabel>
|
|
1072
|
+
}
|
|
1073
|
+
/>}
|
|
1074
|
+
{!this.isFullMode() && isEmpty(filteredTemplates) && <CapHeader
|
|
1075
|
+
title={
|
|
1076
|
+
<CapHeading type="h3" style={{ textAlign: "center", marginTop: CAP_SPACE_44 }}>
|
|
1077
|
+
{this.props.intl.formatMessage(messages.noApprovedWhatsappTemplatesTitle)}
|
|
1078
|
+
</CapHeading>
|
|
1079
|
+
}
|
|
1080
|
+
description={
|
|
1081
|
+
<CapLabel style={{ textAlign: "center" }}>
|
|
1082
|
+
{this.props.intl.formatMessage(messages.noApprovedWhatsappTemplatesDesc)}
|
|
1083
|
+
</CapLabel>
|
|
1084
|
+
}
|
|
1085
|
+
/>}
|
|
1132
1086
|
</div>
|
|
1133
1087
|
)
|
|
1134
1088
|
}
|
|
1135
1089
|
</div>
|
|
1136
1090
|
}
|
|
1091
|
+
|
|
1137
1092
|
</CapSpin>
|
|
1093
|
+
|
|
1138
1094
|
</div>);
|
|
1139
1095
|
}
|
|
1140
1096
|
filterLineTemplates = (templates) => {
|
|
@@ -1553,27 +1509,26 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
1553
1509
|
this.props.actions.deleteTemplate(this.state.channel.toUpperCase(), template._id);
|
|
1554
1510
|
this.setState({actionTemplate: {}});
|
|
1555
1511
|
}
|
|
1556
|
-
commonDuplicate(action, duplicateObj) {
|
|
1557
|
-
const params = {
|
|
1558
|
-
name: this.state.searchText,
|
|
1559
|
-
sortBy: this.state.sortBy,
|
|
1560
|
-
};
|
|
1561
|
-
this.props[action].createTemplate(duplicateObj, (response) => {
|
|
1562
|
-
if (response && response.templateId) {
|
|
1563
|
-
const message = `${this.state.channel} ${this.props.intl.formatMessage(messages.templateDuplicateSuccess)}`;
|
|
1564
|
-
CapNotification.success({key: 'duplicateSucess', message});
|
|
1565
|
-
this.getAllTemplates({params, resetPage: true});
|
|
1566
|
-
this.props[action].clearCreateResponse();
|
|
1567
|
-
}
|
|
1568
|
-
});
|
|
1569
|
-
}
|
|
1570
1512
|
|
|
1571
1513
|
duplicateTemplate(template) {
|
|
1572
1514
|
const duplicateObj = cloneDeep(template);
|
|
1573
1515
|
duplicateObj.name = `Copy of ${template.name} ${moment().format('MM-DD-YYYY HH:mm:ss')}`;
|
|
1574
1516
|
delete duplicateObj._id;
|
|
1575
|
-
|
|
1576
|
-
|
|
1517
|
+
const params = {
|
|
1518
|
+
name: this.state.searchText,
|
|
1519
|
+
sortBy: this.state.sortBy,
|
|
1520
|
+
};
|
|
1521
|
+
if (this.state.channel.toLowerCase() === "sms") {
|
|
1522
|
+
this.props.smsActions.createTemplate(duplicateObj, (response) => {
|
|
1523
|
+
if (response && response.templateId) {
|
|
1524
|
+
const message = `${this.state.channel} ${this.props.intl.formatMessage(messages.templateDuplicateSuccess)}`;
|
|
1525
|
+
CapNotification.success({key: 'duplicateSucess', message});
|
|
1526
|
+
|
|
1527
|
+
this.getAllTemplates({params, resetPage: true});
|
|
1528
|
+
this.props.smsActions.clearCreateResponse();
|
|
1529
|
+
}
|
|
1530
|
+
});
|
|
1531
|
+
} else if (this.state.channel.toLowerCase() === "mobilepush") {
|
|
1577
1532
|
duplicateObj.definition.accountId = this.props.Templates.selectedWeChatAccount.id;
|
|
1578
1533
|
this.props.mobilepushActions.createTemplate(duplicateObj, () => {
|
|
1579
1534
|
const message = `${this.state.channel} ${this.props.intl.formatMessage(messages.templateDuplicateSuccess)}`;
|
|
@@ -1585,8 +1540,33 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
1585
1540
|
this.props.ebillActions.createTemplate(duplicateObj);
|
|
1586
1541
|
} else if (this.state.channel.toLowerCase() === "email") {
|
|
1587
1542
|
this.props.emailActions.duplicateTemplate(template._id, "EMAIL");
|
|
1588
|
-
} else if (
|
|
1589
|
-
this.
|
|
1543
|
+
} else if (this.state.channel.toLowerCase() === "line") {
|
|
1544
|
+
this.props.lineActions.createTemplate(duplicateObj, (response) => {
|
|
1545
|
+
if (response && response.templateId) {
|
|
1546
|
+
const message = `${this.state.channel} ${this.props.intl.formatMessage(messages.templateDuplicateSuccess)}`;
|
|
1547
|
+
CapNotification.success({key: 'duplicateSucess', message});
|
|
1548
|
+
this.getAllTemplates({params, resetPage: true});
|
|
1549
|
+
this.props.lineActions.clearCreateResponse();
|
|
1550
|
+
}
|
|
1551
|
+
});
|
|
1552
|
+
} else if (this.state.channel.toLowerCase() === VIBER_CHANNEL) {
|
|
1553
|
+
this.props.viberActions.createTemplate(duplicateObj, (response) => {
|
|
1554
|
+
if (response && response.templateId) {
|
|
1555
|
+
const message = `${this.state.channel} ${this.props.intl.formatMessage(messages.templateDuplicateSuccess)}`;
|
|
1556
|
+
CapNotification.success({key: 'duplicateSucess', message});
|
|
1557
|
+
this.getAllTemplates({params, resetPage: true});
|
|
1558
|
+
this.props.viberActions.clearCreateResponse();
|
|
1559
|
+
}
|
|
1560
|
+
});
|
|
1561
|
+
} else if (this.state.channel.toLowerCase() === FACEBOOK_CHANNEL) {
|
|
1562
|
+
this.props.facebookActions.createTemplate(duplicateObj, (response) => {
|
|
1563
|
+
if (response && response.templateId) {
|
|
1564
|
+
const message = `${this.state.channel} ${this.props.intl.formatMessage(messages.templateDuplicateSuccess)}`;
|
|
1565
|
+
CapNotification.success({key: 'duplicateSucess', message});
|
|
1566
|
+
this.getAllTemplates({params, resetPage: true});
|
|
1567
|
+
this.props.facebookActions.clearCreateResponse();
|
|
1568
|
+
}
|
|
1569
|
+
});
|
|
1590
1570
|
}
|
|
1591
1571
|
}
|
|
1592
1572
|
|
|
@@ -1637,74 +1617,55 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
1637
1617
|
const module = this.props.location.query.module;
|
|
1638
1618
|
const isLanguageSupport = (this.props.location.query.isLanguageSupport) ? this.props.location.query.isLanguageSupport : false;
|
|
1639
1619
|
const isEdmSupport = (this.props.location.query.isEdmSupport !== "false") || false;
|
|
1640
|
-
|
|
1641
|
-
const channelUpperCase = this.state.channel.toUpperCase();
|
|
1642
|
-
let getQuery = type === 'embedded' ? { type: 'embedded', module, account_id: this.props.location.query.account_id } : { module };
|
|
1620
|
+
let getQuery = "";
|
|
1643
1621
|
let pathName = path;
|
|
1644
1622
|
e.stopPropagation();
|
|
1645
1623
|
|
|
1646
1624
|
this.props.actions.resetTemplateData();
|
|
1647
|
-
|
|
1648
|
-
|
|
1649
|
-
pathName = `/sms/edit/${id}`;
|
|
1650
|
-
break;
|
|
1651
|
-
}
|
|
1652
|
-
case 'mobilepush': {
|
|
1653
|
-
pathName = `/mobilepush/edit/${id}`;
|
|
1654
|
-
break;
|
|
1655
|
-
}
|
|
1656
|
-
case 'email': {
|
|
1657
|
-
pathName = `/email/edit/${id}`;
|
|
1658
|
-
getQuery = type === 'embedded' ? { type: 'embedded', module, isLanguageSupport, isEdmSupport } : { module, isEdmSupport };
|
|
1659
|
-
break;
|
|
1660
|
-
}
|
|
1661
|
-
case 'ebill': {
|
|
1662
|
-
pathName = `/ebill/edit/${id}`;
|
|
1663
|
-
break;
|
|
1664
|
-
}
|
|
1665
|
-
case 'line': {
|
|
1666
|
-
const { messages } = template.versions.base.content;
|
|
1667
|
-
const type = messages && messages[0] && messages[0].type;
|
|
1668
|
-
pathName = `/line/edit/${id}/${type}`;
|
|
1669
|
-
if (options && options.account) {
|
|
1670
|
-
pathName += `/${options.account}`;
|
|
1671
|
-
}
|
|
1672
|
-
break;
|
|
1673
|
-
}
|
|
1674
|
-
case VIBER_CHANNEL: {
|
|
1675
|
-
pathName = `/viber/edit/${id}/`;
|
|
1676
|
-
break;
|
|
1677
|
-
}
|
|
1678
|
-
case FACEBOOK_CHANNEL: {
|
|
1679
|
-
pathName = `/facebook/edit/${id}/`;
|
|
1680
|
-
break;
|
|
1681
|
-
}
|
|
1682
|
-
default:
|
|
1683
|
-
break;
|
|
1625
|
+
if (this.state.channel.toLowerCase() === 'sms') {
|
|
1626
|
+
pathName = `/sms/edit/${id}`;
|
|
1684
1627
|
}
|
|
1685
|
-
|
|
1686
|
-
|
|
1687
|
-
|
|
1688
|
-
|
|
1689
|
-
|
|
1690
|
-
|
|
1691
|
-
|
|
1692
|
-
|
|
1693
|
-
|
|
1694
|
-
|
|
1695
|
-
|
|
1696
|
-
|
|
1628
|
+
if (this.state.channel.toLowerCase() === 'mobilepush') {
|
|
1629
|
+
pathName = `/mobilepush/edit/${id}`;
|
|
1630
|
+
}
|
|
1631
|
+
if (this.state.channel.toLowerCase() === 'email') {
|
|
1632
|
+
pathName = `/email/edit/${id}`;
|
|
1633
|
+
}
|
|
1634
|
+
if (this.state.channel.toLowerCase() === 'email') {
|
|
1635
|
+
getQuery = type === 'embedded' ? {type: 'embedded', module, isLanguageSupport, isEdmSupport} : {module, isEdmSupport};
|
|
1636
|
+
} else {
|
|
1637
|
+
getQuery = type === 'embedded' ? {type: 'embedded', module, account_id: this.props.location.query.account_id} : {module};
|
|
1638
|
+
}
|
|
1639
|
+
if (this.state.channel.toLowerCase() === 'ebill') {
|
|
1640
|
+
pathName = `/ebill/edit/${id}`;
|
|
1641
|
+
}
|
|
1642
|
+
if (this.state.channel.toLowerCase() === 'line') {
|
|
1643
|
+
const { messages } = template.versions.base.content;
|
|
1644
|
+
const type = messages && messages[0] && messages[0].type;
|
|
1645
|
+
pathName = `/line/edit/${id}/${type}`;
|
|
1646
|
+
if (options && options.account) {
|
|
1647
|
+
pathName += `/${options.account}`;
|
|
1697
1648
|
}
|
|
1698
|
-
|
|
1699
|
-
|
|
1700
|
-
|
|
1649
|
+
}
|
|
1650
|
+
if (this.state.channel.toLowerCase() === VIBER_CHANNEL) {
|
|
1651
|
+
pathName = `/viber/edit/${id}/`;
|
|
1652
|
+
}
|
|
1653
|
+
if (this.state.channel.toLowerCase() === FACEBOOK_CHANNEL) {
|
|
1654
|
+
pathName = `/facebook/edit/${id}/`;
|
|
1655
|
+
}
|
|
1656
|
+
if (this.state.channel.toUpperCase() === WECHAT) {
|
|
1657
|
+
if (get(template, 'definition.msgcontent', '') === "RICH_MEDIA_WECHAT") {
|
|
1658
|
+
pathName = `/wechat/richmedia/edit/${id}`;
|
|
1659
|
+
} else {
|
|
1660
|
+
pathName = `/wechat/edit/${id}`;
|
|
1701
1661
|
}
|
|
1702
|
-
|
|
1703
|
-
|
|
1662
|
+
}
|
|
1663
|
+
if (this.state.channel.toUpperCase() === WHATSAPP) {
|
|
1664
|
+
pathName = `/whatsapp/edit/${id}/`;
|
|
1704
1665
|
}
|
|
1705
1666
|
if (this.isEnabledInLibraryModule("callSelectFromProps")) {
|
|
1706
1667
|
let data = id;
|
|
1707
|
-
if (this.props.fbAdManager
|
|
1668
|
+
if (this.props.fbAdManager) {
|
|
1708
1669
|
data = this.selectTemplate(id);
|
|
1709
1670
|
}
|
|
1710
1671
|
this.props.onSelectTemplate(data, this.props.fbAdManager);
|
|
@@ -1993,12 +1954,6 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
1993
1954
|
return isDisabled;
|
|
1994
1955
|
}
|
|
1995
1956
|
|
|
1996
|
-
checkLoader = (channel) => {
|
|
1997
|
-
const {
|
|
1998
|
-
getAllTemplatesInProgress,
|
|
1999
|
-
} = this.props.Templates || {};
|
|
2000
|
-
return (getAllTemplatesInProgress && this.state.channel.toLowerCase() === channel);
|
|
2001
|
-
}
|
|
2002
1957
|
|
|
2003
1958
|
isLoading = () => {
|
|
2004
1959
|
const { EmailCreate, Templates } = this.props;
|
|
@@ -2008,11 +1963,10 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
2008
1963
|
fetchingWeCrmAccounts,
|
|
2009
1964
|
sendingFile,
|
|
2010
1965
|
} = Templates;
|
|
2011
|
-
const lineLoader = this.
|
|
2012
|
-
const smsLoader = this.
|
|
2013
|
-
const viberLoader = this.
|
|
2014
|
-
const facebookLoader = this.
|
|
2015
|
-
const rcsLoader = this.checkLoader(RCS_LOWERCASE);
|
|
1966
|
+
const lineLoader = (getAllTemplatesInProgress && this.state.channel.toLowerCase() === 'line');
|
|
1967
|
+
const smsLoader = (getAllTemplatesInProgress && this.state.channel.toLowerCase() === 'sms');
|
|
1968
|
+
const viberLoader = (getAllTemplatesInProgress && this.state.channel.toLowerCase() === VIBER_CHANNEL);
|
|
1969
|
+
const facebookLoader = (getAllTemplatesInProgress && this.state.channel.toLowerCase() === FACEBOOK_CHANNEL);
|
|
2016
1970
|
|
|
2017
1971
|
const wechatLoader = (((this.state.selectedAccount !== '' && getAllTemplatesInProgress) || (fetchingWeCrmAccounts)) && this.state.channel.toLowerCase() === 'wechat');
|
|
2018
1972
|
const whatsappLoader = (((this.state.selectedAccount !== '' && getAllTemplatesInProgress) || (fetchingWeCrmAccounts)) && this.state.channel.toLowerCase() === WHATSAPP_LOWERCASE);
|
|
@@ -2031,8 +1985,7 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
2031
1985
|
(mobilePushLoader !== undefined ? mobilePushLoader : false) ||
|
|
2032
1986
|
(lineLoader !== undefined ? lineLoader : false) ||
|
|
2033
1987
|
(facebookLoader !== undefined ? facebookLoader : false) ||
|
|
2034
|
-
(viberLoader !== undefined ? viberLoader : false)
|
|
2035
|
-
(rcsLoader !== undefined ? rcsLoader : false);
|
|
1988
|
+
(viberLoader !== undefined ? viberLoader : false);
|
|
2036
1989
|
return isLoading;
|
|
2037
1990
|
}
|
|
2038
1991
|
getChannelTypeIllustrationInfo = (type) => {
|
|
@@ -2069,17 +2022,7 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
2069
2022
|
title: <FormattedMessage {...messages.whatsappTitleIllustration} values={{ template: templateText }} />,
|
|
2070
2023
|
description: <FormattedMessage {...messages.whatsappDescIllustration} />,
|
|
2071
2024
|
descriptionPosition: 'bottom',
|
|
2072
|
-
descriptionClassName: 'illustration-desc',
|
|
2073
|
-
};
|
|
2074
|
-
case RCS:
|
|
2075
|
-
return {
|
|
2076
|
-
buttonLabel: <FormattedMessage {...messages.newRCSTemplate} values={{ template: templateText }} />,
|
|
2077
|
-
onClick: this.createTemplate,
|
|
2078
|
-
illustrationImage: rcsIllustration,
|
|
2079
|
-
title: <FormattedMessage {...messages.rcsTitleIllustartion} values={{ template: templateText }} />,
|
|
2080
|
-
description: <FormattedMessage {...messages.rcsDescIllustartion} />,
|
|
2081
|
-
descriptionPosition: 'bottom',
|
|
2082
|
-
descriptionClassName: 'illustration-desc rcs-illustration',
|
|
2025
|
+
descriptionClassName: 'whatsapp-illustration-desc',
|
|
2083
2026
|
};
|
|
2084
2027
|
default:
|
|
2085
2028
|
return {};
|
|
@@ -2136,7 +2079,7 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
2136
2079
|
const { weCrmAccounts = [], fetchingWeCrmAccounts = false, campaignSettings = {} } = templates;
|
|
2137
2080
|
const isWechatChannel = channel === WECHAT;
|
|
2138
2081
|
const isMobilePushChannel = channel === MOBILE_PUSH;
|
|
2139
|
-
const isFacebookChannel = channel === FACEBOOK;
|
|
2082
|
+
const isFacebookChannel = channel === FACEBOOK;
|
|
2140
2083
|
|
|
2141
2084
|
if ([WECHAT, MOBILE_PUSH, LINE, WHATSAPP].includes(channel) && !isEmpty(weCrmAccounts) && !isFacebookChannel) {
|
|
2142
2085
|
forEach(weCrmAccounts, (account) => {
|
|
@@ -2275,7 +2218,7 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
2275
2218
|
[MOBILE_PUSH]: 'mobilepushAccount',
|
|
2276
2219
|
[WECHAT]: 'wechatAccount',
|
|
2277
2220
|
[WHATSAPP]: 'whatsappAccount',
|
|
2278
|
-
}
|
|
2221
|
+
}
|
|
2279
2222
|
return formatMessage(messages[channelObj[channel?.toUpperCase()]]);
|
|
2280
2223
|
}
|
|
2281
2224
|
|
|
@@ -2384,13 +2327,13 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
2384
2327
|
}
|
|
2385
2328
|
}
|
|
2386
2329
|
|
|
2387
|
-
const
|
|
2330
|
+
const showForViber = (![VIBER_CHANNEL, FACEBOOK_CHANNEL].includes(channel.toLowerCase()) ||
|
|
2388
2331
|
(channel.toLowerCase() === VIBER_CHANNEL && !this.props.isFullMode && isEmpty(get(this.props, 'Templates.selectedViberAccount', {}))) ||
|
|
2389
2332
|
(channel.toLowerCase() === FACEBOOK_CHANNEL && showFbAds)
|
|
2390
2333
|
);
|
|
2391
2334
|
|
|
2392
2335
|
|
|
2393
|
-
if (activeMode === ACCOUNT_SELECTION_MODE &&
|
|
2336
|
+
if (activeMode === ACCOUNT_SELECTION_MODE && showForViber ) {
|
|
2394
2337
|
return this.renderAccountSelection();
|
|
2395
2338
|
}
|
|
2396
2339
|
|
|
@@ -2424,12 +2367,12 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
2424
2367
|
const channelLowerCase = (channel || '').toLowerCase();
|
|
2425
2368
|
const isTraiDltFeature = this.checkDLTfeatureEnable();
|
|
2426
2369
|
|
|
2427
|
-
const createButton =
|
|
2370
|
+
const createButton =
|
|
2428
2371
|
( channelLowerCase === WHATSAPP_LOWERCASE && !this.props.isFullMode )
|
|
2429
2372
|
? (
|
|
2430
|
-
<CapLink
|
|
2431
|
-
onClick={this.openCreativesFullMode}
|
|
2432
|
-
title={formatMessage(messages.createNewTemplateLink)}
|
|
2373
|
+
<CapLink
|
|
2374
|
+
onClick={this.openCreativesFullMode}
|
|
2375
|
+
title={formatMessage(messages.createNewTemplateLink)}
|
|
2433
2376
|
suffix={<CapIcon type="open-in-new" size="s" />}
|
|
2434
2377
|
className="create-new-link"
|
|
2435
2378
|
/>
|
|
@@ -2484,7 +2427,7 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
2484
2427
|
onSelect={this.setWhatsappStatus}
|
|
2485
2428
|
selectedValue={this.state.selectedWhatsappStatus}
|
|
2486
2429
|
placeholder="Status"
|
|
2487
|
-
showBadge
|
|
2430
|
+
showBadge={true}
|
|
2488
2431
|
width="90px"
|
|
2489
2432
|
/>
|
|
2490
2433
|
) : null
|
|
@@ -2495,12 +2438,12 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
2495
2438
|
onSelect={this.setWhatsappCategory}
|
|
2496
2439
|
selectedValue={this.state.selectedWhatsappCategory}
|
|
2497
2440
|
placeholder="Category"
|
|
2498
|
-
showBadge
|
|
2441
|
+
showBadge={true}
|
|
2499
2442
|
width="105px"
|
|
2500
2443
|
overlayStyle={{ overflowY: "hidden" }}
|
|
2501
2444
|
/>
|
|
2502
2445
|
</div>
|
|
2503
|
-
|
|
2446
|
+
|
|
2504
2447
|
)
|
|
2505
2448
|
}
|
|
2506
2449
|
{
|
|
@@ -2578,7 +2521,7 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
2578
2521
|
</div>
|
|
2579
2522
|
</CapTooltip>
|
|
2580
2523
|
)
|
|
2581
|
-
|
|
2524
|
+
: isfilterContentVisisble && !isWechatEmbedded && createButton
|
|
2582
2525
|
}
|
|
2583
2526
|
</div>
|
|
2584
2527
|
|
|
@@ -2709,9 +2652,7 @@ Templates.propTypes = {
|
|
|
2709
2652
|
viberActions: PropTypes.object,
|
|
2710
2653
|
facebookActions: PropTypes.object,
|
|
2711
2654
|
whatsappActions: PropTypes.object,
|
|
2712
|
-
rcsActions: PropTypes.object,
|
|
2713
2655
|
smsRegister: PropTypes.any,
|
|
2714
|
-
isDltFromRcs: PropTypes.bool,
|
|
2715
2656
|
};
|
|
2716
2657
|
|
|
2717
2658
|
const mapStateToProps = createStructuredSelector({
|
|
@@ -2740,7 +2681,6 @@ function mapDispatchToProps(dispatch) {
|
|
|
2740
2681
|
viberActions: bindActionCreators(viberActions, dispatch),
|
|
2741
2682
|
facebookActions: bindActionCreators(facebookActions, dispatch),
|
|
2742
2683
|
whatsappActions: bindActionCreators(whatsappActions, dispatch),
|
|
2743
|
-
rcsActions: bindActionCreators(rcsActions, dispatch),
|
|
2744
2684
|
};
|
|
2745
2685
|
}
|
|
2746
2686
|
|