@capillarytech/creatives-library 7.17.92 → 7.17.93
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/Ebill/index.js +0 -1
- package/containers/MobilePush/Edit/index.js +0 -1
- package/index.js +0 -6
- package/package.json +1 -1
- package/routes.js +0 -5
- package/services/api.js +0 -5
- package/v2Components/CapImageUpload/index.js +3 -10
- package/v2Components/CapImageUpload/messages.js +0 -4
- package/v2Components/FormBuilder/index.js +4 -3
- package/v2Components/MobilePushPreviewV2/index.js +23 -81
- package/v2Components/TemplatePreview/_templatePreview.scss +0 -448
- package/v2Components/TemplatePreview/index.js +375 -660
- package/v2Components/TemplatePreview/messages.js +0 -4
- package/v2Containers/App/constants.js +0 -1
- package/v2Containers/CreativesContainer/SlideBoxContent.js +0 -43
- package/v2Containers/CreativesContainer/SlideBoxHeader.js +1 -4
- package/v2Containers/CreativesContainer/constants.js +0 -1
- package/v2Containers/CreativesContainer/index.js +27 -94
- package/v2Containers/CreativesContainer/messages.js +0 -4
- package/v2Containers/MobilePush/Edit/index.js +1 -3
- package/v2Containers/Templates/_templates.scss +0 -10
- package/v2Containers/Templates/index.js +23 -103
- package/v2Containers/Templates/messages.js +0 -20
- package/v2Containers/TemplatesV2/index.js +2 -8
- package/v2Containers/TemplatesV2/messages.js +0 -4
- package/v2Components/CapDeviceContent/index.js +0 -338
- package/v2Components/CapDeviceContent/index.scss +0 -115
- package/v2Components/CapDeviceContent/messages.js +0 -107
- package/v2Components/CapDeviceContent/tests/index.test.js +0 -75
- package/v2Components/CapInAppCTA/constants.js +0 -25
- package/v2Components/CapInAppCTA/index.js +0 -281
- package/v2Components/CapInAppCTA/index.scss +0 -93
- package/v2Components/CapInAppCTA/messages.js +0 -85
- package/v2Components/TemplatePreview/assets/images/inapp_mobile_android_bottom.svg +0 -11
- package/v2Components/TemplatePreview/assets/images/inapp_mobile_android_full.svg +0 -11
- package/v2Components/TemplatePreview/assets/images/inapp_mobile_android_modal.svg +0 -11
- package/v2Components/TemplatePreview/assets/images/inapp_mobile_android_top.svg +0 -11
- package/v2Components/TemplatePreview/assets/images/inapp_mobile_ios_bottom.svg +0 -6
- package/v2Components/TemplatePreview/assets/images/inapp_mobile_ios_full.svg +0 -18
- package/v2Components/TemplatePreview/assets/images/inapp_mobile_ios_modal.svg +0 -7
- package/v2Components/TemplatePreview/assets/images/inapp_mobile_ios_top.svg +0 -13
- package/v2Containers/InApp/actions.js +0 -64
- package/v2Containers/InApp/constants.js +0 -95
- package/v2Containers/InApp/index.js +0 -745
- package/v2Containers/InApp/index.scss +0 -47
- package/v2Containers/InApp/messages.js +0 -86
- package/v2Containers/InApp/reducer.js +0 -109
- package/v2Containers/InApp/sagas.js +0 -143
- package/v2Containers/InApp/selectors.js +0 -12
- package/v2Containers/InApp/tests/action.test.js +0 -53
- package/v2Containers/InApp/tests/index.test.js +0 -152
- package/v2Containers/InApp/tests/mockData.js +0 -897
- package/v2Containers/InApp/tests/reducer.test.js +0 -177
- package/v2Containers/InApp/tests/sagas.test.js +0 -391
|
@@ -53,7 +53,6 @@ import {
|
|
|
53
53
|
import { makeSelectTemplates, makeSelectTemplatesResponse } from './selectors';
|
|
54
54
|
import { makeSelectCreate as makeSelectCreateSms} from '../Sms/Create/selectors';
|
|
55
55
|
import { makeSelectCreate as makeSelectCreateMobilePush } from '../MobilePush/Create/selectors';
|
|
56
|
-
import { makeSelectInApp } from '../InApp/selectors';
|
|
57
56
|
import { makeSelectEbill as makeSelectCreateEbill } from '../Ebill/selectors';
|
|
58
57
|
import { makeSelectEmail as makeSelectCreateEmail } from '../Email/selectors';
|
|
59
58
|
import { makeSelectEdit } from '../Sms/Edit/selectors';
|
|
@@ -67,7 +66,6 @@ import {checkUnicode} from '../../utils/smsCharCountV2';
|
|
|
67
66
|
import * as actions from './actions';
|
|
68
67
|
import * as smsActions from '../Sms/Create/actions';
|
|
69
68
|
import * as mobilepushActions from '../MobilePush/Create/actions';
|
|
70
|
-
import * as inAppActions from '../InApp/actions';
|
|
71
69
|
import * as smsEditActions from '../Sms/Edit/actions';
|
|
72
70
|
import * as ebillActions from '../Ebill/actions';
|
|
73
71
|
import * as emailActions from '../Email/actions';
|
|
@@ -115,7 +113,7 @@ import zaloMessages from '../Zalo/messages';
|
|
|
115
113
|
import globalMessages from '../../v2Containers/Cap/messages';
|
|
116
114
|
import { handlePreviewInNewTab } from '../../utils/common';
|
|
117
115
|
|
|
118
|
-
import { MOBILE_PUSH, WECHAT, SMS, EMAIL, EBILL, LINE, VIBER, FACEBOOK, WHATSAPP, RCS, ZALO
|
|
116
|
+
import { MOBILE_PUSH, WECHAT, SMS, EMAIL, EBILL, LINE, VIBER, FACEBOOK, WHATSAPP, RCS, ZALO } from '../CreativesContainer/constants';
|
|
119
117
|
|
|
120
118
|
import {CREATIVE} from '../Facebook/constants';
|
|
121
119
|
import videoPlay from '../../assets/videoPlay.svg';
|
|
@@ -125,11 +123,9 @@ import pushIllustration from '../Assets/images/pushIllustration.svg';
|
|
|
125
123
|
import whatsappIllustration from '../Assets/images/whatsappIllustration.png';
|
|
126
124
|
import rcsIllustration from '../Assets/images/rcsIllustration.png';
|
|
127
125
|
import zaloillustration from '@capillarytech/cap-ui-library/assets/images/featureUiNotEnabledIllustration.svg';
|
|
128
|
-
import inAppIllustration from '@capillarytech/cap-ui-library/assets/images/featureUiNotEnabledIllustration.svg';
|
|
129
126
|
|
|
130
127
|
import { CAP_SPACE_16 } from '@capillarytech/cap-ui-library/styled/variables';
|
|
131
128
|
import { GA } from '@capillarytech/cap-ui-utils';
|
|
132
|
-
import { MAPP_SDK } from '../InApp/constants';
|
|
133
129
|
const { timeTracker } = GA;
|
|
134
130
|
const {CapCustomCardList} = CapCustomCard;
|
|
135
131
|
const InlineDiv = styled.div`
|
|
@@ -170,7 +166,6 @@ const WHATSAPP_LOWERCASE = WHATSAPP.toLowerCase();
|
|
|
170
166
|
const RCS_LOWERCASE = RCS.toLowerCase();
|
|
171
167
|
const SMS_LOWERCASE = SMS.toLowerCase();
|
|
172
168
|
const MOBILE_PUSH_LOWERCASE = MOBILE_PUSH.toLowerCase();
|
|
173
|
-
const INAPP_LOWERCASE = INAPP.toLowerCase();
|
|
174
169
|
const EBILL_LOWERCASE = EBILL.toLowerCase();
|
|
175
170
|
const LINE_LOWERCASE = LINE.toLowerCase();
|
|
176
171
|
const ZALO_LOWERCASE = ZALO.toLowerCase();
|
|
@@ -253,11 +248,6 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
253
248
|
activeMode = ACCOUNT_SELECTION_MODE;
|
|
254
249
|
this.props.actions.getWeCrmAccounts(channel);
|
|
255
250
|
break;
|
|
256
|
-
case INAPP:
|
|
257
|
-
channel = INAPP
|
|
258
|
-
activeMode = ACCOUNT_SELECTION_MODE;
|
|
259
|
-
this.props.actions.getWeCrmAccounts(MAPP_SDK);
|
|
260
|
-
break;
|
|
261
251
|
case WECHAT:
|
|
262
252
|
channel = 'wechat';
|
|
263
253
|
activeMode = ACCOUNT_SELECTION_MODE;
|
|
@@ -327,7 +317,7 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
327
317
|
|
|
328
318
|
// opening the create slidebox based on query params
|
|
329
319
|
const queryItems = getObjFromQueryParams(location.search);
|
|
330
|
-
if (
|
|
320
|
+
if (queryItems.channel === WHATSAPP_LOWERCASE && queryItems.mode === CREATE) {
|
|
331
321
|
this.createTemplate();
|
|
332
322
|
}
|
|
333
323
|
|
|
@@ -378,10 +368,6 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
378
368
|
this.setState({defaultAccount: true});
|
|
379
369
|
channel = "mobilepush";
|
|
380
370
|
nextProps.actions.getWeCrmAccounts(channel);
|
|
381
|
-
} else if (nextProps.route.name === INAPP ) {
|
|
382
|
-
this.setState({defaultAccount: true});
|
|
383
|
-
channel = INAPP_LOWERCASE;
|
|
384
|
-
nextProps.actions.getWeCrmAccounts(channel);
|
|
385
371
|
} else if (nextProps.route.name.toLowerCase() === 'ebill') {
|
|
386
372
|
channel = 'Ebill';
|
|
387
373
|
} else if (nextProps.route.name.toLowerCase() === 'line') {
|
|
@@ -407,7 +393,7 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
407
393
|
params.wecrmToken = (nextProps.Templates.selectedWeChatAccount.configs || {}).wecrm_token;
|
|
408
394
|
params.originalId = nextProps.Templates.selectedWeChatAccount.sourceAccountIdentifier;
|
|
409
395
|
}
|
|
410
|
-
if (this.state.channel.toLowerCase() === "mobilepush"
|
|
396
|
+
if (this.state.channel.toLowerCase() === "mobilepush" && !isEmpty(nextProps.Templates.selectedWeChatAccount)) {
|
|
411
397
|
params.accountId = nextProps.Templates.selectedWeChatAccount.id;
|
|
412
398
|
}
|
|
413
399
|
this.getAllTemplates({params}, true);
|
|
@@ -419,7 +405,7 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
419
405
|
params.wecrmToken = (nextProps.Templates.selectedWeChatAccount.configs || {}).wecrm_token;
|
|
420
406
|
params.originalId = nextProps.Templates.selectedWeChatAccount.sourceAccountIdentifier;
|
|
421
407
|
}
|
|
422
|
-
if ((this.state.channel || '').toLowerCase() === "mobilepush"
|
|
408
|
+
if ((this.state.channel || '').toLowerCase() === "mobilepush" && nextProps.Templates.selectedWeChatAccount) {
|
|
423
409
|
params.accountId = nextProps.Templates.selectedWeChatAccount.id;
|
|
424
410
|
}
|
|
425
411
|
const selectedChannel = this.state.channel.toLowerCase();
|
|
@@ -465,7 +451,7 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
465
451
|
}
|
|
466
452
|
}
|
|
467
453
|
|
|
468
|
-
if (
|
|
454
|
+
if ((selectedChannel === 'wechat' || selectedChannel === 'mobilepush') && isEmpty(nextProps.Templates.selectedWeChatAccount) && (this.props.location.query.type === 'embedded') && !this.isEnabledInLibraryModule("showAccountSelection")) {
|
|
469
455
|
let selectedAccount = '';
|
|
470
456
|
if (isEmpty(nextProps.Templates.weCrmAccounts)) {
|
|
471
457
|
return;
|
|
@@ -495,18 +481,10 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
495
481
|
params.accountId = Number(nextProps.location.query.account_id);
|
|
496
482
|
this.getAllTemplates({params});
|
|
497
483
|
}
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
}
|
|
503
|
-
});
|
|
504
|
-
this.props.actions.setWeChatAccount(selectedAccount);
|
|
505
|
-
params.accountId = Number(nextProps.location.query.account_id);
|
|
506
|
-
this.getAllTemplates({params});
|
|
507
|
-
}
|
|
508
|
-
}
|
|
509
|
-
|
|
484
|
+
}
|
|
485
|
+
if (selectedChannel === "mobilepush" && nextProps.CreateMobilePush && nextProps.CreateMobilePush.response && nextProps.CreateMobilePush.response.templateId && nextProps.CreateMobilePush.response.templateId !== '') {
|
|
486
|
+
|
|
487
|
+
}
|
|
510
488
|
|
|
511
489
|
if (selectedChannel === "ebill" && nextProps.CreateEbill && nextProps.CreateEbill.createResponse && nextProps.CreateEbill.createResponse.templateId && nextProps.CreateEbill.createResponse.templateId !== '') {
|
|
512
490
|
const message = `${this.state.channel} ${this.props.intl.formatMessage(messages.templateDuplicateSuccess)}`;
|
|
@@ -535,7 +513,7 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
535
513
|
if ((this.state.channel || '').toLowerCase() !== "sms") {
|
|
536
514
|
CapNotification.error({key: 'somethingWrong', message});
|
|
537
515
|
}
|
|
538
|
-
const { smsActions, mobilepushActions, ebillActions, lineActions, viberActions, facebookActions, whatsappActions,
|
|
516
|
+
const { smsActions, mobilepushActions, ebillActions, lineActions, viberActions, facebookActions, whatsappActions, rcsActions } = this.props;
|
|
539
517
|
switch (selectedChannel) {
|
|
540
518
|
case SMS_LOWERCASE:
|
|
541
519
|
smsActions.clearCreateResponse();
|
|
@@ -561,9 +539,6 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
561
539
|
case RCS_LOWERCASE:
|
|
562
540
|
rcsActions.clearCreateResponse();
|
|
563
541
|
break;
|
|
564
|
-
case inAppActions:
|
|
565
|
-
inAppActions.clearCreateResponse();
|
|
566
|
-
break;
|
|
567
542
|
default:
|
|
568
543
|
break;
|
|
569
544
|
}
|
|
@@ -678,7 +653,7 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
678
653
|
params.wecrmToken = this.props.Templates.weCrmAccounts[findIndex(this.props.Templates.weCrmAccounts, { name: value})].configs.wecrm_token;
|
|
679
654
|
this.props.actions.setWeChatAccount(this.props.Templates.weCrmAccounts[findIndex(this.props.Templates.weCrmAccounts, { name: value})]);
|
|
680
655
|
params.originalId = this.props.Templates.weCrmAccounts[findIndex(this.props.Templates.weCrmAccounts, { name: value})].sourceAccountIdentifier;
|
|
681
|
-
} else if (selectedChannel === 'mobilepush'
|
|
656
|
+
} else if (selectedChannel === 'mobilepush') {
|
|
682
657
|
this.props.actions.setWeChatAccount(this.props.Templates.weCrmAccounts[findIndex(this.props.Templates.weCrmAccounts, { name: value})]);
|
|
683
658
|
const account = this.props.Templates.weCrmAccounts[findIndex(this.props.Templates.weCrmAccounts, { name: value})];
|
|
684
659
|
params.accountId = account.id;
|
|
@@ -841,12 +816,6 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
841
816
|
queryParams.mode = this.state.mode.toLowerCase();
|
|
842
817
|
}
|
|
843
818
|
}
|
|
844
|
-
if (this.state.channel.toLowerCase() === INAPP_LOWERCASE && !isEmpty(this.props.Templates.selectedWeChatAccount)) {
|
|
845
|
-
queryParams.accountId = this.props.Templates.selectedWeChatAccount.id;
|
|
846
|
-
if (this.state.mode) {
|
|
847
|
-
queryParams.mode = this.state.mode.toLowerCase();
|
|
848
|
-
}
|
|
849
|
-
}
|
|
850
819
|
}
|
|
851
820
|
if ((this.state.channel || '').toLowerCase() === SMS_LOWERCASE && isTraiDltFeature) {
|
|
852
821
|
queryParams.traiEnable = true;
|
|
@@ -1097,9 +1066,6 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
1097
1066
|
case MOBILE_PUSH:
|
|
1098
1067
|
templateData.content = template;
|
|
1099
1068
|
break;
|
|
1100
|
-
case INAPP:
|
|
1101
|
-
templateData.content = template;
|
|
1102
|
-
break;
|
|
1103
1069
|
case WECHAT:
|
|
1104
1070
|
templateData.content = this.prepareWeChatPreviewData(template);
|
|
1105
1071
|
break;
|
|
@@ -1305,10 +1271,9 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
1305
1271
|
const showWhatsappIllustration = !isEmpty(this.props.Templates.selectedWhatsappAccount) && [WHATSAPP_LOWERCASE].includes(channelLowerCase);
|
|
1306
1272
|
const showZaloIllustration = !isEmpty(this.props.Templates.selectedZaloAccount) && [ZALO_LOWERCASE].includes(channelLowerCase);
|
|
1307
1273
|
const showRcsIllustration = channelLowerCase === RCS_LOWERCASE && isEmpty(templates);
|
|
1308
|
-
const showInAppIllustration = channelLowerCase === INAPP_LOWERCASE && isEmpty(templates);
|
|
1309
1274
|
const noLoaderAndSearchText = isEmpty(this.state.searchText) && !isLoading;
|
|
1310
1275
|
return (<div>
|
|
1311
|
-
{[WECHAT, MOBILE_PUSH
|
|
1276
|
+
{[WECHAT, MOBILE_PUSH].includes(currentChannel) && this.showAccountName()}
|
|
1312
1277
|
{filterContent}
|
|
1313
1278
|
{[WHATSAPP, ZALO].includes(currentChannel) && this.selectedFilters()}
|
|
1314
1279
|
<CapSpin spinning={isLoading} tip={loadingTip} style={{width: '100%'}}>
|
|
@@ -1326,13 +1291,13 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
1326
1291
|
: ['sms', "email"].includes(this.state.channel.toLowerCase()) && !isLoading && this.getSmsEmailIllustration()
|
|
1327
1292
|
}
|
|
1328
1293
|
|
|
1329
|
-
{(this.state.selectedAccount === '' && isEmpty(this.props.Templates.selectedWeChatAccount)) && (this.state.channel.toLowerCase() === 'wechat' || this.state.channel.toLowerCase() === "mobilepush"
|
|
1294
|
+
{(this.state.selectedAccount === '' && isEmpty(this.props.Templates.selectedWeChatAccount)) && (this.state.channel.toLowerCase() === 'wechat' || this.state.channel.toLowerCase() === "mobilepush") &&
|
|
1330
1295
|
<div style={{ height: '65vh', textAlign: 'center', lineHeight: '65vh' }}>
|
|
1331
1296
|
<CapHeading type="h6">{accounts ? this.props.intl.formatMessage(messages.noAccountMessage) : this.props.intl.formatMessage(messages.noAccountsPresent)}</CapHeading>
|
|
1332
1297
|
</div>
|
|
1333
1298
|
}
|
|
1334
1299
|
|
|
1335
|
-
{ !isEmpty(this.props.Templates.selectedWeChatAccount) && ["mobilepush"
|
|
1300
|
+
{ !isEmpty(this.props.Templates.selectedWeChatAccount) && ["mobilepush"].includes(this.state.channel.toLowerCase()) && this.state.selectedAccountError ?
|
|
1336
1301
|
<div style={{ height: '65vh', textAlign: 'center', lineHeight: '65vh'}}>
|
|
1337
1302
|
<CapHeading type="h6" >
|
|
1338
1303
|
{this.props.intl.formatMessage(messages.accountConfigError)}
|
|
@@ -1366,14 +1331,6 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
1366
1331
|
</div>
|
|
1367
1332
|
)
|
|
1368
1333
|
}
|
|
1369
|
-
{showInAppIllustration &&
|
|
1370
|
-
(
|
|
1371
|
-
noLoaderAndSearchText &&
|
|
1372
|
-
<div style={this.isFullMode() ? { height: "calc(100vh - 325px)", overflow: 'auto' } : {}}>
|
|
1373
|
-
<CapIllustration buttonClassName={`create-new-${channelLowerCase}`} {...this.getChannelTypeIllustrationInfo(currentChannel)} />
|
|
1374
|
-
</div>
|
|
1375
|
-
)
|
|
1376
|
-
}
|
|
1377
1334
|
</div>
|
|
1378
1335
|
}
|
|
1379
1336
|
</CapSpin>
|
|
@@ -1406,13 +1363,7 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
1406
1363
|
pathname: `/mobilepush/edit/${e.template_id}`,
|
|
1407
1364
|
query: type === 'embedded' ? {type: 'embedded', module, account_id: e.account_id } : {},
|
|
1408
1365
|
};
|
|
1409
|
-
} else if (this.state.channel.toLowerCase() ===
|
|
1410
|
-
routeParams = {
|
|
1411
|
-
pathname: `/inapp/edit/${e.template_id}`,
|
|
1412
|
-
query: type === 'embedded' ? {type: 'embedded', module, account_id: e.account_id } : {},
|
|
1413
|
-
};
|
|
1414
|
-
}
|
|
1415
|
-
else if (this.state.channel.toLowerCase() === 'wechat') {
|
|
1366
|
+
} else if (this.state.channel.toLowerCase() === 'wechat') {
|
|
1416
1367
|
if (e.template_type && e.template_type === 'RICHMEDIA_WECHAT_TEMPLATE') {
|
|
1417
1368
|
this.props.router.push({
|
|
1418
1369
|
pathname: `/wechat/richmedia/edit/${e.template_id}`,
|
|
@@ -1845,14 +1796,6 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
1845
1796
|
this.getAllTemplates({params: {}}, true);
|
|
1846
1797
|
this.props.mobilepushActions.clearCreateResponse();
|
|
1847
1798
|
});
|
|
1848
|
-
} else if (this.state.channel.toLowerCase() === "inapp") {
|
|
1849
|
-
duplicateObj.definition.accountId = this.props.Templates.selectedWeChatAccount.id;
|
|
1850
|
-
this.props.inAppActions.createInAppTemplate(duplicateObj, () => {
|
|
1851
|
-
const message = `${this.state.channel} ${this.props.intl.formatMessage(messages.templateDuplicateSuccess)}`;
|
|
1852
|
-
CapNotification.success({key: 'duplicateSuccess', message});
|
|
1853
|
-
this.getAllTemplates({params: {}}, true);
|
|
1854
|
-
this.props.inAppActions.clearCreateResponse();
|
|
1855
|
-
});
|
|
1856
1799
|
} else if (this.state.channel.toLowerCase() === "ebill") {
|
|
1857
1800
|
this.props.ebillActions.createTemplate(duplicateObj);
|
|
1858
1801
|
} else if (this.state.channel.toLowerCase() === "email") {
|
|
@@ -1975,10 +1918,6 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
1975
1918
|
pathName = `/zalo/edit/${id}/`;
|
|
1976
1919
|
break;
|
|
1977
1920
|
}
|
|
1978
|
-
case INAPP: {
|
|
1979
|
-
pathName = `/inapp/edit/${id}/`;
|
|
1980
|
-
break;
|
|
1981
|
-
}
|
|
1982
1921
|
default:
|
|
1983
1922
|
break;
|
|
1984
1923
|
}
|
|
@@ -2267,7 +2206,7 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
2267
2206
|
if (this.props.location.query.type === "embedded" && this.props.location.query.module === "library") {
|
|
2268
2207
|
switch (property) {
|
|
2269
2208
|
case "showAccountSelection":
|
|
2270
|
-
return (this.props.route && (['wechat', 'mobilepush', WHATSAPP_LOWERCASE
|
|
2209
|
+
return (this.props.route && (['wechat', 'mobilepush', WHATSAPP_LOWERCASE].includes(this.props.route.name.toLowerCase())));
|
|
2271
2210
|
case "setLocale":
|
|
2272
2211
|
return true;
|
|
2273
2212
|
case "callCreateFromProps":
|
|
@@ -2407,15 +2346,6 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
2407
2346
|
descriptionClassName: 'illustration-desc zalo-illustration',
|
|
2408
2347
|
buttonClassName: "zalo-illustration-button",
|
|
2409
2348
|
};
|
|
2410
|
-
case INAPP:
|
|
2411
|
-
return {
|
|
2412
|
-
illustrationImage: inAppIllustration,
|
|
2413
|
-
title: <FormattedMessage {...messages.inAppTitleIllustration} />,
|
|
2414
|
-
description: <FormattedMessage {...messages.inAppDescIllustration} />,
|
|
2415
|
-
descriptionPosition: 'bottom',
|
|
2416
|
-
descriptionClassName: 'illustration-desc inapp-illustration',
|
|
2417
|
-
buttonClassName: "inapp-illustration-button",
|
|
2418
|
-
}
|
|
2419
2349
|
default:
|
|
2420
2350
|
return {};
|
|
2421
2351
|
}
|
|
@@ -2471,25 +2401,24 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
2471
2401
|
const { weCrmAccounts = [], fetchingWeCrmAccounts = false, campaignSettings = {} } = templates;
|
|
2472
2402
|
const isWechatChannel = channel === WECHAT;
|
|
2473
2403
|
const isMobilePushChannel = channel === MOBILE_PUSH;
|
|
2474
|
-
const isInAppChannel = channel === INAPP;
|
|
2475
2404
|
const isFacebookChannel = channel === FACEBOOK;
|
|
2476
2405
|
|
|
2477
|
-
if ([WECHAT, MOBILE_PUSH,
|
|
2406
|
+
if ([WECHAT, MOBILE_PUSH, LINE, ZALO].includes(channel) && !isEmpty(weCrmAccounts) && !isFacebookChannel) {
|
|
2478
2407
|
forEach(weCrmAccounts, (account) => {
|
|
2479
|
-
if ((isWechatChannel && account.configs && account.configs.is_wecrm_enabled) || [MOBILE_PUSH,
|
|
2408
|
+
if ((isWechatChannel && account.configs && account.configs.is_wecrm_enabled) || [MOBILE_PUSH, LINE, ZALO].includes(channel)) {
|
|
2480
2409
|
if (query.type === 'embedded' && (!query.module || (query.module && query.module !== 'library'))) {
|
|
2481
2410
|
if (query.source_account_id && account.sourceAccountIdentifier === query.source_account_id) {
|
|
2482
2411
|
accountOptions.push(
|
|
2483
|
-
{ key: isMobilePushChannel
|
|
2412
|
+
{ key: isMobilePushChannel ? account.id : account.uuid,
|
|
2484
2413
|
title: account.name,
|
|
2485
2414
|
value: account.name,
|
|
2486
2415
|
icon: <CapIcon.CapIconAvatar text={account.name[0]} width="auto" height="2rem"/>,
|
|
2487
2416
|
}
|
|
2488
2417
|
);
|
|
2489
|
-
} else if (query.module && (isWechatChannel || isMobilePushChannel
|
|
2418
|
+
} else if (query.module && (isWechatChannel || isMobilePushChannel)) {
|
|
2490
2419
|
accountOptions.push(
|
|
2491
2420
|
{
|
|
2492
|
-
key: isMobilePushChannel
|
|
2421
|
+
key: isMobilePushChannel ? account.id : account.uuid,
|
|
2493
2422
|
value: account.name,
|
|
2494
2423
|
title: account.name,
|
|
2495
2424
|
icon: <CapIcon.CapIconAvatar text={account.name[0]} width="auto" height="2rem"/>,
|
|
@@ -2499,7 +2428,7 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
2499
2428
|
} else {
|
|
2500
2429
|
accountOptions.push(
|
|
2501
2430
|
{
|
|
2502
|
-
key: isMobilePushChannel
|
|
2431
|
+
key: isMobilePushChannel ? account.id : account.uuid,
|
|
2503
2432
|
value: account.name,
|
|
2504
2433
|
title: account.name,
|
|
2505
2434
|
icon: <CapIcon.CapIconAvatar text={account.name[0]} width="auto" height="2rem"/>,
|
|
@@ -2522,11 +2451,6 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
2522
2451
|
noAccountHeader = messages.noAccountsPresent;
|
|
2523
2452
|
break;
|
|
2524
2453
|
}
|
|
2525
|
-
case INAPP: {
|
|
2526
|
-
accountHeader = formatMessage(messages.inappAccount);
|
|
2527
|
-
noAccountHeader = messages.noAccountsPresentInApp;
|
|
2528
|
-
break;
|
|
2529
|
-
}
|
|
2530
2454
|
case WECHAT: {
|
|
2531
2455
|
accountHeader = formatMessage(messages.wechatAccount);
|
|
2532
2456
|
noAccountHeader = messages.noAccountsPresentWeChat;
|
|
@@ -2624,7 +2548,6 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
2624
2548
|
[MOBILE_PUSH]: 'mobilepushAccount',
|
|
2625
2549
|
[WECHAT]: 'wechatAccount',
|
|
2626
2550
|
[WHATSAPP]: 'whatsappAccount',
|
|
2627
|
-
[INAPP]: 'inappAccount',
|
|
2628
2551
|
[ZALO]: 'zaloAccount',
|
|
2629
2552
|
};
|
|
2630
2553
|
return formatMessage(messages[channelObj[channel?.toUpperCase()]]);
|
|
@@ -2810,7 +2733,7 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
2810
2733
|
const showWhatsappCountWarning = templatesCount >= WARNING_WHATSAPP_TEMPLATES;
|
|
2811
2734
|
const whatsappCountExceedText = <FormattedMessage {...messages.whatsappMaxTemplates} values={{ maxCount: MAX_WHATSAPP_TEMPLATES }}/>;
|
|
2812
2735
|
|
|
2813
|
-
const filterContent = (( isfilterContentVisisble || [WECHAT, MOBILE_PUSH
|
|
2736
|
+
const filterContent = (( isfilterContentVisisble || [WECHAT, MOBILE_PUSH].includes(this.state.channel.toUpperCase())) && <div className="action-container">
|
|
2814
2737
|
{isfilterContentVisisble && <CapInput.Search
|
|
2815
2738
|
className="search-text"
|
|
2816
2739
|
style={{width: '210px'}}
|
|
@@ -3102,7 +3025,6 @@ Templates.propTypes = {
|
|
|
3102
3025
|
whatsappActions: PropTypes.object,
|
|
3103
3026
|
rcsActions: PropTypes.object,
|
|
3104
3027
|
zaloActions: PropTypes.object,
|
|
3105
|
-
inAppActions: PropTypes.object,
|
|
3106
3028
|
smsRegister: PropTypes.any,
|
|
3107
3029
|
isDltFromRcs: PropTypes.bool,
|
|
3108
3030
|
};
|
|
@@ -3119,7 +3041,6 @@ const mapStateToProps = createStructuredSelector({
|
|
|
3119
3041
|
Line: makeSelectLine(),
|
|
3120
3042
|
Viber: makeSelectViber(),
|
|
3121
3043
|
Zalo: makeSelectZalo(),
|
|
3122
|
-
InApp: makeSelectInApp(),
|
|
3123
3044
|
});
|
|
3124
3045
|
|
|
3125
3046
|
function mapDispatchToProps(dispatch) {
|
|
@@ -3127,7 +3048,6 @@ function mapDispatchToProps(dispatch) {
|
|
|
3127
3048
|
actions: bindActionCreators(actions, dispatch),
|
|
3128
3049
|
smsActions: bindActionCreators(smsActions, dispatch),
|
|
3129
3050
|
mobilepushActions: bindActionCreators(mobilepushActions, dispatch),
|
|
3130
|
-
inAppActions: bindActionCreators(inAppActions, dispatch),
|
|
3131
3051
|
smsEditActions: bindActionCreators(smsEditActions, dispatch),
|
|
3132
3052
|
ebillActions: bindActionCreators(ebillActions, dispatch),
|
|
3133
3053
|
emailActions: bindActionCreators(emailActions, dispatch),
|
|
@@ -126,10 +126,6 @@ export default defineMessages({
|
|
|
126
126
|
id: `${scope}.noAccountsPresent`,
|
|
127
127
|
defaultMessage: "Push notifications are not setup for your brand",
|
|
128
128
|
},
|
|
129
|
-
"noAccountsPresentInApp": {
|
|
130
|
-
id: `${scope}.noAccountsPresentInApp`,
|
|
131
|
-
defaultMessage: "In app message are not setup for your brand",
|
|
132
|
-
},
|
|
133
129
|
"noAccountsPresentWeChat": {
|
|
134
130
|
id: `${scope}.noAccountsPresentWeChat`,
|
|
135
131
|
defaultMessage: "Wechat accounts are not setup for your brand",
|
|
@@ -330,10 +326,6 @@ export default defineMessages({
|
|
|
330
326
|
id: `${scope}.newWhatsappTemplate`,
|
|
331
327
|
defaultMessage: 'Add new Whatsapp {template}',
|
|
332
328
|
},
|
|
333
|
-
"newInAppMessageTemplate": {
|
|
334
|
-
id: `${scope}.newInAppMessageTemplate`,
|
|
335
|
-
defaultMessage: 'Add new In app message {template}',
|
|
336
|
-
},
|
|
337
329
|
"newNotificationTemplate": {
|
|
338
330
|
id: `${scope}.newNotificationTemplate`,
|
|
339
331
|
defaultMessage: 'New notification {template}',
|
|
@@ -378,14 +370,6 @@ export default defineMessages({
|
|
|
378
370
|
id: `${scope}.noApprovedWhatsappTemplatesDesc`,
|
|
379
371
|
defaultMessage: 'Please try creating a new template, once it is approved by Whatsapp it will be available here',
|
|
380
372
|
},
|
|
381
|
-
"inAppTitleIllustration": {
|
|
382
|
-
id: `${scope}.inAppTitleIllustration`,
|
|
383
|
-
defaultMessage: 'There are no templates available',
|
|
384
|
-
},
|
|
385
|
-
"inAppDescIllustration": {
|
|
386
|
-
id: `${scope}.inAppDescIllustration`,
|
|
387
|
-
defaultMessage: 'You can create new templates on the In app message platform and once they’re created successfully, you can view them here',
|
|
388
|
-
},
|
|
389
373
|
"smsTitleIllustartion": {
|
|
390
374
|
id: `${scope}.smsTitleIllustartion`,
|
|
391
375
|
defaultMessage: 'Create an SMS {template}',
|
|
@@ -410,10 +394,6 @@ export default defineMessages({
|
|
|
410
394
|
id: `${scope}.mobilepushAccount`,
|
|
411
395
|
defaultMessage: 'Mobilepush account',
|
|
412
396
|
},
|
|
413
|
-
"inappAccount": {
|
|
414
|
-
id: `${scope}.inappAccount`,
|
|
415
|
-
defaultMessage: 'In app message account',
|
|
416
|
-
},
|
|
417
397
|
"lineAccount": {
|
|
418
398
|
id: `${scope}.lineAccount`,
|
|
419
399
|
defaultMessage: 'Line account',
|
|
@@ -29,7 +29,7 @@ import FTP from '../FTP';
|
|
|
29
29
|
import Gallery from '../Assets/Gallery';
|
|
30
30
|
import withStyles from '../../hoc/withStyles';
|
|
31
31
|
import styles, { CapTabStyle } from './TemplatesV2.style';
|
|
32
|
-
import { CREATIVES_UI_VIEW, LOYALTY, WHATSAPP, RCS, LINE, EMAIL, ASSETS, JP_LOCALE_HIDE_FEATURE, ZALO
|
|
32
|
+
import { CREATIVES_UI_VIEW, LOYALTY, WHATSAPP, RCS, LINE, EMAIL, ASSETS, JP_LOCALE_HIDE_FEATURE, ZALO } from '../App/constants';
|
|
33
33
|
import AccessForbidden from '../../v2Components/AccessForbidden';
|
|
34
34
|
import { getObjFromQueryParams } from '../../utils/v2common';
|
|
35
35
|
import { selectCurrentOrgDetails } from "../../v2Containers/Cap/selectors";
|
|
@@ -63,7 +63,6 @@ export class TemplatesV2 extends React.Component { // eslint-disable-line react/
|
|
|
63
63
|
weChat: {content: <></>, tab: intl.formatMessage(messages.wechat), key: 'wechat'},
|
|
64
64
|
//'wechat': {content: this.getTemplatesComponent('wechat'), tab: 'Wechat', key: 'wechat'},
|
|
65
65
|
mPush: {content: <></>, tab: intl.formatMessage(messages.pushNotification), key: 'mobilepush'},
|
|
66
|
-
inApp: { content: <div></div>, tab: intl.formatMessage(messages.inapp), key: INAPP },
|
|
67
66
|
line: {content: <></>, tab: intl.formatMessage(messages.line), key: 'line'},
|
|
68
67
|
viber: {content: <></>, tab: intl.formatMessage(messages.viber), key: 'viber'},
|
|
69
68
|
facebook: {content: <div></div>, tab: intl.formatMessage(messages.facebook), key: 'facebook'},
|
|
@@ -282,12 +281,7 @@ export class TemplatesV2 extends React.Component { // eslint-disable-line react/
|
|
|
282
281
|
argsPanes.map((pane) => {
|
|
283
282
|
let content = null;
|
|
284
283
|
if (pane.key === selectedChannel) {
|
|
285
|
-
|
|
286
|
-
if ( selectedChannel === "mpush") {
|
|
287
|
-
channel = "mobilepush";
|
|
288
|
-
} else {
|
|
289
|
-
channel = selectedChannel;
|
|
290
|
-
}
|
|
284
|
+
const channel = selectedChannel === "mpush" ? "mobilepush" : selectedChannel;
|
|
291
285
|
content = this.getTemplatesComponent(channel);
|
|
292
286
|
}
|
|
293
287
|
return {
|