@capillarytech/creatives-library 6.9.8 → 6.10.0
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/components/CapTagList/index.js +1 -1
- package/components/Edmeditor/index.js +1 -1
- package/components/FormBuilder/index.js +1 -0
- package/containers/TagList/index.js +3 -3
- package/index.html +0 -3
- package/package.json +1 -2
- package/services/api.js +1 -16
- package/v2Components/CapTagList/index.js +26 -55
- package/v2Components/CmsTemplatesComponent/index.js +4 -4
- package/v2Components/Edmeditor/index.js +1 -1
- package/v2Components/EmailPreview/_emailPreview.scss +2 -2
- package/v2Components/FormBuilder/index.js +43 -79
- package/v2Containers/App/constants.js +0 -1
- package/v2Containers/CreativesContainer/SlideBoxFooter.js +2 -2
- package/v2Containers/CreativesContainer/index.js +2 -7
- package/v2Containers/Email/constants.js +0 -1
- package/v2Containers/Email/index.js +116 -170
- package/v2Containers/Email/initialSchema.js +3 -18
- package/v2Containers/Email/sagas.js +2 -2
- package/v2Containers/Email/selectors.js +0 -5
- package/v2Containers/EmailWrapper/index.js +3 -19
- package/v2Containers/TagList/index.js +2 -9
- package/v2Containers/Templates/actions.js +3 -8
- package/v2Containers/Templates/constants.js +4 -6
- package/v2Containers/Templates/index.js +20 -36
- package/v2Containers/Templates/messages.js +0 -8
- package/v2Containers/Templates/reducer.js +5 -13
- package/v2Containers/Templates/sagas.js +7 -7
- package/v2Containers/Templates/selectors.js +1 -19
- package/v2Components/BeeEditor/index.js +0 -278
- package/v2Components/BeeEditor/index.scss +0 -11
- package/v2Components/BeeEditor/messages.js +0 -47
- package/v2Components/BeeEditor/tests/index.test.js +0 -10
|
@@ -199,24 +199,9 @@ export const response = {
|
|
|
199
199
|
"getEditorInstanse",
|
|
200
200
|
],
|
|
201
201
|
},
|
|
202
|
-
// will remove once bee gets tested end to end
|
|
203
|
-
// {
|
|
204
|
-
// id: "edmeditor",
|
|
205
|
-
// type: "edmeditor",
|
|
206
|
-
// metaType: "text",
|
|
207
|
-
// datatype: "string",
|
|
208
|
-
// required: true,
|
|
209
|
-
// onlyDisplay: true,
|
|
210
|
-
// standalone: false,
|
|
211
|
-
// width: 24,
|
|
212
|
-
// order: 2,
|
|
213
|
-
// customComponent: true,
|
|
214
|
-
// colStyle: { display: "none" },
|
|
215
|
-
// supportedEvents: [],
|
|
216
|
-
// },
|
|
217
202
|
{
|
|
218
|
-
id: "
|
|
219
|
-
type: "
|
|
203
|
+
id: "edmeditor",
|
|
204
|
+
type: "edmeditor",
|
|
220
205
|
metaType: "text",
|
|
221
206
|
datatype: "string",
|
|
222
207
|
required: true,
|
|
@@ -380,7 +365,7 @@ export const response = {
|
|
|
380
365
|
styling: "semantic",
|
|
381
366
|
order: 3,
|
|
382
367
|
width: 2,
|
|
383
|
-
offset:
|
|
368
|
+
offset: 1,
|
|
384
369
|
fluid: false,
|
|
385
370
|
onlyDisplay: true,
|
|
386
371
|
submitAction: "onTabOptionSelect",
|
|
@@ -53,7 +53,7 @@ export function* getAllAssets(assetType, queryParams) {
|
|
|
53
53
|
|
|
54
54
|
export function* getCmsSetting({cmsType, projectId, cmsMode, langId, isEdmSupport}) {
|
|
55
55
|
try {
|
|
56
|
-
const result = yield call(Api.
|
|
56
|
+
const result = yield call(Api.getCmsTemplateSettings, cmsType, projectId, cmsMode, langId, isEdmSupport);
|
|
57
57
|
|
|
58
58
|
yield put({ type: types.GET_CMS_EDITOR_DETAILS_SUCCESS, settings: result.data.response.cmsDetails });
|
|
59
59
|
} catch (error) {
|
|
@@ -63,7 +63,7 @@ export function* getCmsSetting({cmsType, projectId, cmsMode, langId, isEdmSuppor
|
|
|
63
63
|
|
|
64
64
|
export function* getCmsData({cmsType, projectId, langId}) {
|
|
65
65
|
try {
|
|
66
|
-
const result = yield call(Api.
|
|
66
|
+
const result = yield call(Api.getCmsTemplateData, cmsType, projectId, langId);
|
|
67
67
|
|
|
68
68
|
yield put({ type: types.GET_CMS_EDITOR_DATA_SUCCESS, data: result.data.response.data, langId: result.data.response.langId });
|
|
69
69
|
} catch (error) {
|
|
@@ -26,14 +26,9 @@ const selectLoadingStatus = () => createSelector(
|
|
|
26
26
|
selectEmailDomain(), (email) => email.createTemplateInProgress || (email.assetUploading !== undefined && email.assetUploading)
|
|
27
27
|
);
|
|
28
28
|
|
|
29
|
-
const makeSelectFetchingCmsData = () => createSelector(
|
|
30
|
-
selectEmailDomain(), (state) => state.get('fetchingCmsData')
|
|
31
|
-
);
|
|
32
|
-
|
|
33
29
|
export default makeSelectEmail;
|
|
34
30
|
export {
|
|
35
31
|
makeSelectEmail,
|
|
36
32
|
makeSelectCreateResponse,
|
|
37
33
|
selectLoadingStatus,
|
|
38
|
-
makeSelectFetchingCmsData,
|
|
39
34
|
};
|
|
@@ -15,13 +15,7 @@ import styled from 'styled-components';
|
|
|
15
15
|
import { CapRadioCard, CapNotification, CapInput, CapUploader, CapSpin, CapButton } from '@capillarytech/cap-ui-library';
|
|
16
16
|
import ComponentWithLabelHOC from '@capillarytech/cap-ui-library/assets/HOCs/ComponentWithLabelHOC';
|
|
17
17
|
import { UserIsAuthenticated } from '../../utils/authWrapper';
|
|
18
|
-
import {
|
|
19
|
-
selectEmailLayout,
|
|
20
|
-
selectCmsTemplates,
|
|
21
|
-
selectEdmEditor,
|
|
22
|
-
uploadSelector,
|
|
23
|
-
selectCmsTemplatesLoader,
|
|
24
|
-
} from '../Templates/selectors';
|
|
18
|
+
import { selectEmailLayout, selectCmsTemplates, selectEdmEditor, uploadSelector } from '../Templates/selectors';
|
|
25
19
|
import * as templatesActionsCreators from '../Templates/actions';
|
|
26
20
|
import Email from '../Email';
|
|
27
21
|
import CmsTemplatesComponent from '../../v2Components/CmsTemplatesComponent';
|
|
@@ -82,7 +76,7 @@ export class EmailWrapper extends React.Component { // eslint-disable-line react
|
|
|
82
76
|
//document.getElementById('upload-email-template').click();
|
|
83
77
|
} else if (step === "templateSelection" && !this.state.selectedCreateMode) {
|
|
84
78
|
if (emailCreateMode === "editor" && !CmsTemplates) {
|
|
85
|
-
templatesActions.
|
|
79
|
+
templatesActions.getEdmDefaultTemplates();
|
|
86
80
|
}
|
|
87
81
|
} else if (step === "createTemplateContent" && !this.state.selectedCreateMode) {
|
|
88
82
|
if (emailCreateMode === 'upload' && !_.isEmpty(EmailLayout)) {
|
|
@@ -162,7 +156,6 @@ export class EmailWrapper extends React.Component { // eslint-disable-line react
|
|
|
162
156
|
const data = _.find(CmsTemplates, { _id: id });
|
|
163
157
|
|
|
164
158
|
templatesActions.setEdmTemplate(data);
|
|
165
|
-
templatesActions.setBEETemplate(data);
|
|
166
159
|
this.setState({
|
|
167
160
|
selectedCreateMode: 'editor',
|
|
168
161
|
});
|
|
@@ -195,7 +188,6 @@ export class EmailWrapper extends React.Component { // eslint-disable-line react
|
|
|
195
188
|
selectedOfferDetails,
|
|
196
189
|
onPreviewContentClicked,
|
|
197
190
|
onTestContentClicked,
|
|
198
|
-
cmsTemplatesLoader,
|
|
199
191
|
} = this.props;
|
|
200
192
|
const {
|
|
201
193
|
templateName,
|
|
@@ -214,7 +206,6 @@ export class EmailWrapper extends React.Component { // eslint-disable-line react
|
|
|
214
206
|
value={templateName}
|
|
215
207
|
labelPosition="top"
|
|
216
208
|
size="default"
|
|
217
|
-
style={{ width: '68%'}}
|
|
218
209
|
/>
|
|
219
210
|
}
|
|
220
211
|
<CardContainer>
|
|
@@ -260,13 +251,7 @@ export class EmailWrapper extends React.Component { // eslint-disable-line react
|
|
|
260
251
|
onPreviewContentClicked={onPreviewContentClicked}
|
|
261
252
|
onTestContentClicked={onTestContentClicked}
|
|
262
253
|
/>}
|
|
263
|
-
{!isShowEmailCreate &&
|
|
264
|
-
<CmsTemplatesComponent
|
|
265
|
-
cmsTemplates={CmsTemplates}
|
|
266
|
-
handleEdmDefaultTemplateSelection={this.useEditor}
|
|
267
|
-
cmsTemplatesLoader={cmsTemplatesLoader}
|
|
268
|
-
/>
|
|
269
|
-
)}
|
|
254
|
+
{CmsTemplates && !isShowEmailCreate && <CmsTemplatesComponent cmsTemplates={CmsTemplates} handleEdmDefaultTemplateSelection={this.useEditor} />}
|
|
270
255
|
</div>
|
|
271
256
|
}
|
|
272
257
|
</CapSpin>
|
|
@@ -304,7 +289,6 @@ const mapStateToProps = createStructuredSelector({
|
|
|
304
289
|
CmsTemplates: selectCmsTemplates(),
|
|
305
290
|
SelectedEdmDefaultTemplate: selectEdmEditor(),
|
|
306
291
|
isUploading: uploadSelector(),
|
|
307
|
-
cmsTemplatesLoader: selectCmsTemplatesLoader(),
|
|
308
292
|
});
|
|
309
293
|
|
|
310
294
|
function mapDispatchToProps(dispatch) {
|
|
@@ -72,10 +72,9 @@ export class TagList extends React.Component { // eslint-disable-line react/pref
|
|
|
72
72
|
//Form tags object with tag headers
|
|
73
73
|
_.forEach(tagsList, (temp) => {
|
|
74
74
|
const tag = temp.definition;
|
|
75
|
-
const { userLocale } = this.props;
|
|
76
75
|
if (!tag['tag-header']) {
|
|
77
76
|
mainTags[tag.value] = {
|
|
78
|
-
name: tag.label[userLocale] ? tag.label[userLocale] : tag.label.en,
|
|
77
|
+
name: tag.label[this.props.userLocale] ? tag.label[this.props.userLocale] : tag.label.en,
|
|
79
78
|
desc: tag.desc ? tag.desc : tag.label.en,
|
|
80
79
|
};
|
|
81
80
|
} else if (tag['tag-header'] && mainTags[tag.value]) {
|
|
@@ -84,7 +83,7 @@ export class TagList extends React.Component { // eslint-disable-line react/pref
|
|
|
84
83
|
console.log('Inside ', tag.label);
|
|
85
84
|
mainTags[tag.value] = {
|
|
86
85
|
'tag-header': true,
|
|
87
|
-
"name": tag.label[userLocale] ? tag.label[userLocale] : tag.label.en,
|
|
86
|
+
"name": tag.label[this.props.userLocale] ? tag.label[this.props.userLocale] : tag.label.en,
|
|
88
87
|
"desc": tag.desc ? tag.desc : tag.label.en,
|
|
89
88
|
"subtags": tag.subtags,
|
|
90
89
|
};
|
|
@@ -243,11 +242,8 @@ export class TagList extends React.Component { // eslint-disable-line react/pref
|
|
|
243
242
|
tags={tags}
|
|
244
243
|
onSelect={this.onSelect}
|
|
245
244
|
label={this.props.label}
|
|
246
|
-
visibleTaglist={this.props.visibleTaglist}
|
|
247
|
-
hidePopover={this.props.hidePopover}
|
|
248
245
|
onContextChange={this.getTagsforContext}
|
|
249
246
|
moduleFilterEnabled={this.props.moduleFilterEnabled}
|
|
250
|
-
modalProps={this.props.modalProps}
|
|
251
247
|
/>
|
|
252
248
|
</div>
|
|
253
249
|
);
|
|
@@ -269,9 +265,6 @@ TagList.propTypes = {
|
|
|
269
265
|
className: PropTypes.string,
|
|
270
266
|
userLocale: PropTypes.string,
|
|
271
267
|
selectedOfferDetails: PropTypes.array,
|
|
272
|
-
visibleTaglist: PropTypes.bool,
|
|
273
|
-
hidePopover: PropTypes.bool,
|
|
274
|
-
modalProps: PropTypes.any,
|
|
275
268
|
};
|
|
276
269
|
|
|
277
270
|
const mapStateToProps = createStructuredSelector({
|
|
@@ -75,9 +75,9 @@
|
|
|
75
75
|
};
|
|
76
76
|
}
|
|
77
77
|
|
|
78
|
-
export function
|
|
78
|
+
export function getEdmDefaultTemplates() {
|
|
79
79
|
return {
|
|
80
|
-
type: types.
|
|
80
|
+
type: types.GET_EDM_DEAFULT_TEMPLATES_REQUEST,
|
|
81
81
|
};
|
|
82
82
|
}
|
|
83
83
|
|
|
@@ -87,12 +87,7 @@
|
|
|
87
87
|
template,
|
|
88
88
|
};
|
|
89
89
|
}
|
|
90
|
-
|
|
91
|
-
return {
|
|
92
|
-
type: types.SET_BEE_TEMPLATE,
|
|
93
|
-
template,
|
|
94
|
-
};
|
|
95
|
-
}
|
|
90
|
+
|
|
96
91
|
export function getTemplateDetails(id, channel) {
|
|
97
92
|
console.log('getting template', id, channel);
|
|
98
93
|
return {
|
|
@@ -28,14 +28,16 @@ export const SEND_ZIPPED_FILE_REQUEST = "app/v2Containers/Templates/SEND_ZIPPED_
|
|
|
28
28
|
export const SEND_ZIPPED_FILE_SUCCESS = "app/v2Containers/Templates/SEND_ZIPPED_FILE_SUCCESS";
|
|
29
29
|
export const SEND_ZIPPED_FILE_FAILURE = "app/v2Containers/Templates/SEND_ZIPPED_FILE_FAILURE";
|
|
30
30
|
|
|
31
|
+
export const GET_EDM_DEAFULT_TEMPLATES_REQUEST = 'app/v2Containers/Templates/GET_EDM_DEAFULT_TEMPLATES_REQUEST';
|
|
32
|
+
export const GET_EDM_DEAFULT_TEMPLATES_SUCCESS = 'app/v2Containers/Templates/GET_EDM_DEAFULT_TEMPLATES_SUCCESS';
|
|
33
|
+
export const GET_EDM_DEAFULT_TEMPLATES_FAILURE = 'app/v2Containers/Templates/GET_EDM_DEAFULT_TEMPLATES_FAILURE';
|
|
34
|
+
|
|
31
35
|
export const GET_TEMPLATE_DETAILS_REQUEST = 'app/v2Containers/Templates/GET_TEMPLATE_DETAILS_REQUEST';
|
|
32
36
|
export const GET_TEMPLATE_DETAILS_SUCCESS = 'app/v2Containers/Templates/GET_TEMPLATE_DETAILS_SUCCESS';
|
|
33
37
|
export const GET_TEMPLATE_DETAILS_FAILURE = 'app/v2Containers/Templates/GET_TEMPLATE_DETAILS_FAILURE';
|
|
34
38
|
|
|
35
39
|
|
|
36
40
|
export const SET_EDM_TEMPLATE = "app/v2Containers/Templates/SET_EDM_TEMPLATE";
|
|
37
|
-
export const SET_BEE_TEMPLATE = "app/v2Containers/Templates/SET_BEE_TEMPLATE";
|
|
38
|
-
|
|
39
41
|
export const RESET_ACCOUNT = "app/v2Containers/Templates/RESET_ACCOUNT";
|
|
40
42
|
export const RESET_TEMPLATE = "app/v2Containers/Templates/RESET_TEMPLATE";
|
|
41
43
|
export const RESET_TEMPLATE_DATA = "app/v2Containers/Templates/RESET_TEMPLATE_DATA";
|
|
@@ -43,7 +45,3 @@ export const RESET_UPLOAD_DATA = "app/v2Containers/Templates/RESET_UPLOAD_DATA";
|
|
|
43
45
|
export const CLEAR_TEMPLATE_STORE_DATA = "app/v2Containers/Templates/CLEAR_TEMPLATE_STORE_DATA";
|
|
44
46
|
|
|
45
47
|
export const SET_LINE_ACCOUNT = "app/v2Containers/Templates/SET_LINE_ACCOUNT";
|
|
46
|
-
|
|
47
|
-
export const GET_DEAFULT_BEE_TEMPLATES_REQUEST = 'app/v2Containers/Templates/GET_DEAFULT_BEE_TEMPLATES_REQUEST';
|
|
48
|
-
export const GET_DEAFULT_BEE_TEMPLATES_SUCCESS = 'app/v2Containers/Templates/GET_DEAFULT_BEE_TEMPLATES_SUCCESS';
|
|
49
|
-
export const GET_DEAFULT_BEE_TEMPLATES_FAILURE = 'app/v2Containers/Templates/GET_DEAFULT_BEE_TEMPLATES_FAILURE';
|
|
@@ -208,6 +208,10 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
208
208
|
queryParams.perPage = this.state.perPageLimit;
|
|
209
209
|
const channel = this.state.channel;
|
|
210
210
|
this.props.actions.getAllTemplates(channel, queryParams);
|
|
211
|
+
//this.getAllTemplates({});
|
|
212
|
+
// if (this.state.channel.toLowerCase() === "email") {
|
|
213
|
+
// this.props.actions.getEdmDefaultTemplates();
|
|
214
|
+
// }
|
|
211
215
|
}
|
|
212
216
|
|
|
213
217
|
window.addEventListener("message", this.handleFrameTasks);
|
|
@@ -232,6 +236,7 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
232
236
|
nextProps.actions.getWeCrmAccounts();
|
|
233
237
|
} else if (nextProps.route.name.toLowerCase() === 'email') {
|
|
234
238
|
channel = 'Email';
|
|
239
|
+
// this.props.actions.getEdmDefaultTemplates();
|
|
235
240
|
} else if (nextProps.route.name.toLowerCase() === "mobilepush") {
|
|
236
241
|
this.setState({defaultAccount: true});
|
|
237
242
|
channel = "mobilepush";
|
|
@@ -649,7 +654,7 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
649
654
|
{
|
|
650
655
|
carouselContent.map(({
|
|
651
656
|
imageUrl,
|
|
652
|
-
actionLabel
|
|
657
|
+
actionLabel
|
|
653
658
|
}) => (
|
|
654
659
|
<img
|
|
655
660
|
width={208}
|
|
@@ -996,7 +1001,7 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
996
1001
|
break;
|
|
997
1002
|
}
|
|
998
1003
|
};
|
|
999
|
-
|
|
1004
|
+
|
|
1000
1005
|
createTemplate(ev) {
|
|
1001
1006
|
const type = this.props.location.query.type;
|
|
1002
1007
|
const module = this.props.location.query.module ? this.props.location.query.module : 'default';
|
|
@@ -1115,7 +1120,7 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
1115
1120
|
toggleEdmEmailTemplateSelection = () => {
|
|
1116
1121
|
this.setState( (prevState) => ({
|
|
1117
1122
|
showEdmEmailTemplates: !prevState.showEdmEmailTemplates}), () => {
|
|
1118
|
-
this.props.actions.
|
|
1123
|
+
this.props.actions.getEdmDefaultTemplates();
|
|
1119
1124
|
});
|
|
1120
1125
|
};
|
|
1121
1126
|
|
|
@@ -1410,7 +1415,7 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
1410
1415
|
//content = template.versions.base.messages[0].Text;
|
|
1411
1416
|
const lineContent = template.versions.base.content;
|
|
1412
1417
|
content = {
|
|
1413
|
-
bodyText:
|
|
1418
|
+
bodyText:lineContent && lineContent.messages[0].text ? lineContent.messages[0].text : '',
|
|
1414
1419
|
bodyImage: lineContent && lineContent.messages[0].originalContentUrl ? lineContent.messages[0].originalContentUrl : '',
|
|
1415
1420
|
};
|
|
1416
1421
|
const modeType = lineContent && lineContent.messages[0].type;
|
|
@@ -1533,23 +1538,12 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
1533
1538
|
|
|
1534
1539
|
|
|
1535
1540
|
isLoading = () => {
|
|
1536
|
-
const
|
|
1537
|
-
const
|
|
1538
|
-
|
|
1539
|
-
|
|
1540
|
-
|
|
1541
|
-
|
|
1542
|
-
} = Templates;
|
|
1543
|
-
const lineLoader = (getAllTemplatesInProgress && this.state.channel.toLowerCase() === 'line');
|
|
1544
|
-
const smsLoader = (getAllTemplatesInProgress && this.state.channel.toLowerCase() === 'sms');
|
|
1545
|
-
const wechatLoader = (((this.state.selectedAccount !== '' && getAllTemplatesInProgress) || (fetchingWeCrmAccounts)) && this.state.channel.toLowerCase() === 'wechat');
|
|
1546
|
-
const mobilePushLoader = (((getAllTemplatesInProgress) || (fetchingWeCrmAccounts)) && this.state.channel.toLowerCase() === 'mobilepush');
|
|
1547
|
-
const emailLoader = (
|
|
1548
|
-
(getAllTemplatesInProgress ||
|
|
1549
|
-
sendingFile ||
|
|
1550
|
-
deleteTemplateInProgress ||
|
|
1551
|
-
EmailCreate.duplicateTemplateInProgress) && this.state.channel.toLowerCase() === 'email');
|
|
1552
|
-
const ebillLoader = ((getAllTemplatesInProgress || sendingFile) && this.state.channel.toLowerCase() === 'ebill');
|
|
1541
|
+
const lineLoader = (this.props.Templates.getAllTemplatesInProgress && this.state.channel.toLowerCase() === 'line');
|
|
1542
|
+
const smsLoader = (this.props.Templates.getAllTemplatesInProgress && this.state.channel.toLowerCase() === 'sms');
|
|
1543
|
+
const wechatLoader = (((this.state.selectedAccount !== '' && this.props.Templates.getAllTemplatesInProgress) || (this.props.Templates.fetchingWeCrmAccounts)) && this.state.channel.toLowerCase() === 'wechat');
|
|
1544
|
+
const mobilePushLoader = (((this.props.Templates.getAllTemplatesInProgress) || (this.props.Templates.fetchingWeCrmAccounts)) && this.state.channel.toLowerCase() === 'mobilepush');
|
|
1545
|
+
const emailLoader = ((this.props.Templates.getAllTemplatesInProgress || this.props.Templates.sendingFile) && this.state.channel.toLowerCase() === 'email');
|
|
1546
|
+
const ebillLoader = ((this.props.Templates.getAllTemplatesInProgress || this.props.Templates.sendingFile) && this.state.channel.toLowerCase() === 'ebill');
|
|
1553
1547
|
const isLoading = ((wechatLoader !== undefined) ? wechatLoader : false) ||
|
|
1554
1548
|
(smsLoader !== undefined ? smsLoader : false) ||
|
|
1555
1549
|
(emailLoader !== undefined ? emailLoader : false) ||
|
|
@@ -1807,7 +1801,7 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
1807
1801
|
</CapRadio.CapRadioGroup>
|
|
1808
1802
|
}
|
|
1809
1803
|
{
|
|
1810
|
-
channel.toUpperCase() === LINE &&
|
|
1804
|
+
channel.toUpperCase() === LINE &&
|
|
1811
1805
|
isFullMode
|
|
1812
1806
|
? (
|
|
1813
1807
|
<CapRadio.CapRadioGroup className="line-filters" defaultValue={lineFilter} onChange={this.setLineFilter}>
|
|
@@ -1837,7 +1831,9 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
1837
1831
|
}
|
|
1838
1832
|
</CapRadio.CapRadioGroup>
|
|
1839
1833
|
)
|
|
1840
|
-
: () =>
|
|
1834
|
+
: () => {
|
|
1835
|
+
return null;
|
|
1836
|
+
}
|
|
1841
1837
|
}
|
|
1842
1838
|
<div style={{display: "flex", justifyContent: "space-between", alignItems: 'center'}}>
|
|
1843
1839
|
{isfilterContentVisisble && !isWechatEmbedded && <CapButton
|
|
@@ -1862,19 +1858,7 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
1862
1858
|
const creativesParams = this.getCreativesParams();
|
|
1863
1859
|
const templates = this.props.TemplatesList || [];
|
|
1864
1860
|
const {route} = this.props;
|
|
1865
|
-
const
|
|
1866
|
-
sendingFile: 'uploadingFile',
|
|
1867
|
-
deleteTemplateInProgress: 'deletingTemplate',
|
|
1868
|
-
duplicateTemplateInProgress: 'duplicatingTemplate',
|
|
1869
|
-
};
|
|
1870
|
-
const { sendingFile, deleteTemplateInProgress } = this.props.Templates;
|
|
1871
|
-
const loadingTipIntl =
|
|
1872
|
-
((['email', 'ebill'].includes(this.state.channel.toLowerCase() === 'email')) && sendingFile && 'sendingFile') ||
|
|
1873
|
-
(deleteTemplateInProgress && 'deletingTemplate') ||
|
|
1874
|
-
(this.props.EmailCreate.duplicateTemplateInProgress && 'duplicatingTemplate');
|
|
1875
|
-
|
|
1876
|
-
const loadingTip = messages[loadingTipIntl] ? this.props.intl.formatMessage(messages[loadingTipIntl]) : this.props.intl.formatMessage(messages.gettingAllTemplates);
|
|
1877
|
-
|
|
1861
|
+
const loadingTip = (this.props.Templates.sendingFile && (this.state.channel.toLowerCase() === 'email' || this.state.channel.toLowerCase() === 'ebill')) ? this.props.intl.formatMessage(messages.uploadingFile) : this.props.intl.formatMessage(messages.gettingAllTemplates);
|
|
1878
1862
|
return (
|
|
1879
1863
|
<>
|
|
1880
1864
|
{activeMode === ACCOUNT_CHANGE_MODE && this.renderAccountSelection()}
|
|
@@ -354,12 +354,4 @@ export default defineMessages({
|
|
|
354
354
|
id: `${scope}.richMediaTemplates`,
|
|
355
355
|
defaultMessage: 'Rich media templates',
|
|
356
356
|
},
|
|
357
|
-
deletingTemplate: {
|
|
358
|
-
id: `${scope}.deletingTemplate`,
|
|
359
|
-
defaultMessage: 'Deleting template...',
|
|
360
|
-
},
|
|
361
|
-
duplicatingTemplate: {
|
|
362
|
-
id: `${scope}.duplicatingTemplate`,
|
|
363
|
-
defaultMessage: 'Duplicating template...'
|
|
364
|
-
},
|
|
365
357
|
});
|
|
@@ -85,8 +85,7 @@ function templatesReducer(state = initialState, action) {
|
|
|
85
85
|
case types.SET_SELECTED_LAYOUT:
|
|
86
86
|
return state
|
|
87
87
|
.set('selectedEmailLayout', fromJS(action.selectedTemplate))
|
|
88
|
-
.set('edmTemplate', fromJS({}))
|
|
89
|
-
.set('BEETemplate', fromJS({}));
|
|
88
|
+
.set('edmTemplate', fromJS({}));
|
|
90
89
|
case types.RESET_UPLOAD_DATA:
|
|
91
90
|
return state
|
|
92
91
|
.set('selectedEmailLayout', "");
|
|
@@ -99,34 +98,27 @@ function templatesReducer(state = initialState, action) {
|
|
|
99
98
|
return state
|
|
100
99
|
.set('sendingFile', false)
|
|
101
100
|
.set('selectedEmailLayout', fromJS(action.selectedTemplate))
|
|
102
|
-
.set('edmTemplate', fromJS({}))
|
|
103
|
-
.set('BEETemplate', fromJS({}));
|
|
101
|
+
.set('edmTemplate', fromJS({}));
|
|
104
102
|
case types.SEND_ZIPPED_FILE_FAILURE:
|
|
105
103
|
return state
|
|
106
104
|
.set('sendingFile', false)
|
|
107
105
|
.set('errorSendingFile', true)
|
|
108
106
|
.set('errorMessage', action.data)
|
|
109
107
|
.set('selectedEmailLayout', "");
|
|
110
|
-
case types.
|
|
108
|
+
case types.GET_EDM_DEAFULT_TEMPLATES_REQUEST:
|
|
111
109
|
return state.set('getCmsTemplatesInProgress', true);
|
|
112
|
-
case types.
|
|
110
|
+
case types.GET_EDM_DEAFULT_TEMPLATES_SUCCESS:
|
|
113
111
|
return state.set('getCmsTemplatesInProgress', false)
|
|
114
112
|
.set('cmsTemplates', action.data ? fromJS(action.data.templates) : []);
|
|
115
|
-
case types.
|
|
113
|
+
case types.GET_EDM_DEAFULT_TEMPLATES_FAILURE:
|
|
116
114
|
return state.set('getCmsTemplatesInProgress', false);
|
|
117
115
|
case types.SET_EDM_TEMPLATE:
|
|
118
116
|
return state
|
|
119
117
|
.set('edmTemplate', fromJS(action.template))
|
|
120
|
-
.set('BEETemplate', fromJS(action.template))
|
|
121
|
-
.set('selectedEmailLayout', "");
|
|
122
|
-
case types.SET_BEE_TEMPLATE:
|
|
123
|
-
return state
|
|
124
|
-
.set('BEETemplate', fromJS(action.template))
|
|
125
118
|
.set('selectedEmailLayout', "");
|
|
126
119
|
case types.RESET_TEMPLATE_DATA:
|
|
127
120
|
return state
|
|
128
121
|
.set('edmTemplate', fromJS({}))
|
|
129
|
-
.set('BEETemplate', fromJS({}))
|
|
130
122
|
.set('selectedEmailLayout', "")
|
|
131
123
|
.set('templateDetails', fromJS({}));
|
|
132
124
|
case types.GET_TEMPLATE_DETAILS_REQUEST:
|
|
@@ -102,14 +102,14 @@ export function* sendZippedFile({selectedFile, errorHandler, successHandler}) {
|
|
|
102
102
|
}
|
|
103
103
|
}
|
|
104
104
|
|
|
105
|
-
export function*
|
|
105
|
+
export function* getEdmTemplates() {
|
|
106
106
|
try {
|
|
107
107
|
console.log('saga getAllTemplates');
|
|
108
|
-
const result = yield call(Api.
|
|
108
|
+
const result = yield call(Api.getEdmTemplates);
|
|
109
109
|
const edmTemplates = result.response;
|
|
110
|
-
yield put({ type: types.
|
|
110
|
+
yield put({ type: types.GET_EDM_DEAFULT_TEMPLATES_SUCCESS, data: edmTemplates });
|
|
111
111
|
} catch (error) {
|
|
112
|
-
yield put({ type: types.
|
|
112
|
+
yield put({ type: types.GET_EDM_DEAFULT_TEMPLATES_FAILURE, error });
|
|
113
113
|
}
|
|
114
114
|
}
|
|
115
115
|
|
|
@@ -155,8 +155,8 @@ function* watchSendingFile() {
|
|
|
155
155
|
yield cancel(watcher);
|
|
156
156
|
}
|
|
157
157
|
|
|
158
|
-
function*
|
|
159
|
-
const watcher = yield takeLatest(types.
|
|
158
|
+
function* watchGetEdmDefaultTemplates() {
|
|
159
|
+
const watcher = yield takeLatest(types.GET_EDM_DEAFULT_TEMPLATES_REQUEST, getEdmTemplates);
|
|
160
160
|
yield take(LOCATION_CHANGE);
|
|
161
161
|
yield cancel(watcher);
|
|
162
162
|
}
|
|
@@ -174,6 +174,6 @@ export default [
|
|
|
174
174
|
watchGetUserList,
|
|
175
175
|
watchFetchWeCrmAccounts,
|
|
176
176
|
watchSendingFile,
|
|
177
|
-
|
|
177
|
+
watchGetEdmDefaultTemplates,
|
|
178
178
|
watchGetTemplateDetails,
|
|
179
179
|
];
|
|
@@ -57,30 +57,12 @@ const selectCmsTemplates = () => createSelector(makeSelectTemplates(), (template
|
|
|
57
57
|
return null;
|
|
58
58
|
});
|
|
59
59
|
|
|
60
|
-
const selectCmsTemplatesLoader = () => createSelector(
|
|
61
|
-
makeSelectTemplates(),
|
|
62
|
-
(templates) => templates.getCmsTemplatesInProgress,
|
|
63
|
-
);
|
|
64
|
-
|
|
65
60
|
const selectEdmEditor = () => createSelector(makeSelectTemplates(), (templates) => {
|
|
66
61
|
const {edmTemplate} = templates;
|
|
67
62
|
return edmTemplate || null;
|
|
68
63
|
});
|
|
69
|
-
|
|
70
|
-
const selectBEEEditor = () => createSelector(makeSelectTemplates(), (templates) => {
|
|
71
|
-
const {BEETemplate} = templates;
|
|
72
|
-
return BEETemplate || null;
|
|
73
|
-
});
|
|
74
|
-
|
|
75
64
|
export {
|
|
76
65
|
uploadSelector,
|
|
77
66
|
templateUserList,
|
|
78
|
-
makeSelectTemplates,
|
|
79
|
-
makeSelectTemplatesResponse,
|
|
80
|
-
selectTemplateContent,
|
|
81
|
-
selectEmailLayout,
|
|
82
|
-
selectCmsTemplates,
|
|
83
|
-
selectEdmEditor,
|
|
84
|
-
selectBEEEditor,
|
|
85
|
-
selectCmsTemplatesLoader,
|
|
67
|
+
makeSelectTemplates, makeSelectTemplatesResponse, selectTemplateContent, selectEmailLayout, selectCmsTemplates, selectEdmEditor,
|
|
86
68
|
};
|