@capillarytech/creatives-library 7.6.8 → 7.6.9
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 +5 -5
- package/components/Card/index.js +1 -1
- package/components/Ckeditor/index.js +5 -5
- package/components/CustomPopOver/index.js +3 -3
- package/components/Edmeditor/index.js +4 -4
- package/components/EmailPreview/index.js +1 -1
- package/components/PreviewSideBar/index.js +3 -3
- package/components/Sidebar/index.js +1 -1
- package/components/SmsTest/index.js +4 -4
- package/components/TemplatePreview/index.js +2 -2
- package/components/Toastr/index.js +1 -1
- package/containers/Assets/Gallery/index.js +2 -2
- package/containers/Assets/Gallery/sagas.js +1 -1
- package/containers/Cap/actions.js +2 -2
- package/containers/Cap/reducer.js +1 -1
- package/containers/Cap/sagas.js +3 -3
- package/containers/Cap/selectors.js +1 -1
- package/containers/Ebill/actions.js +1 -1
- package/containers/Ebill/index.js +34 -34
- package/containers/Ebill/sagas.js +3 -3
- package/containers/Email/actions.js +2 -2
- package/containers/Email/index.js +171 -171
- package/containers/Email/reducer.js +1 -1
- package/containers/Email/sagas.js +6 -6
- package/containers/LanguageProvider/actions.js +1 -1
- package/containers/Line/Create/actions.js +5 -5
- package/containers/Line/Create/index.js +37 -37
- package/containers/Line/Create/sagas.js +7 -7
- package/containers/Line/Edit/actions.js +3 -3
- package/containers/Line/Edit/index.js +24 -24
- package/containers/Line/Edit/sagas.js +4 -4
- package/containers/MobilePush/Create/actions.js +2 -2
- package/containers/MobilePush/Create/index.js +35 -35
- package/containers/MobilePush/Create/sagas.js +2 -2
- package/containers/MobilePush/Edit/actions.js +3 -3
- package/containers/MobilePush/Edit/index.js +32 -32
- package/containers/MobilePush/Edit/sagas.js +5 -5
- package/containers/Sms/Create/actions.js +2 -2
- package/containers/Sms/Create/index.js +57 -57
- package/containers/Sms/Create/sagas.js +2 -2
- package/containers/Sms/Edit/actions.js +3 -3
- package/containers/Sms/Edit/index.js +44 -44
- package/containers/Sms/Edit/sagas.js +3 -3
- package/containers/TagList/index.js +9 -9
- package/containers/Templates/actions.js +5 -5
- package/containers/Templates/index.js +44 -44
- package/containers/Templates/sagas.js +5 -5
- package/containers/WeChat/MapTemplates/actions.js +1 -1
- package/containers/WeChat/MapTemplates/index.js +34 -34
- package/containers/WeChat/MapTemplates/sagas.js +2 -2
- package/containers/WeChat/RichmediaTemplates/Create/index.js +9 -9
- package/containers/WeChat/RichmediaTemplates/Edit/actions.js +1 -1
- package/containers/WeChat/RichmediaTemplates/Edit/sagas.js +1 -1
- package/package.json +1 -1
- package/services/api.js +13 -13
- package/utils/authWrapper.js +2 -2
- package/utils/smsCharCount.js +5 -5
- package/v2Components/CapTagList/index.js +1 -1
- package/v2Components/Card/index.js +1 -1
- package/v2Components/Ckeditor/index.js +5 -5
- package/v2Components/CustomPopOver/index.js +3 -3
- package/v2Components/Edmeditor/index.js +4 -4
- package/v2Components/EmailMobilePreview/index.js +4 -4
- package/v2Components/EmailPreviewV2/index.js +4 -4
- package/v2Components/FormBuilder/index.js +3 -3
- package/v2Components/PreviewSideBar/index.js +3 -3
- package/v2Components/SmsTest/index.js +4 -4
- package/v2Components/TemplatePreview/index.js +1 -1
- package/v2Components/Toastr/index.js +1 -1
- package/v2Containers/Assets/Gallery/sagas.js +1 -1
- package/v2Containers/Cap/actions.js +1 -1
- package/v2Containers/Cap/index.js +2 -2
- package/v2Containers/Cap/reducer.js +1 -1
- package/v2Containers/Cap/sagas.js +3 -3
- package/v2Containers/Cap/selectors.js +1 -1
- package/v2Containers/Ebill/actions.js +1 -1
- package/v2Containers/Ebill/index.js +34 -34
- package/v2Containers/Ebill/sagas.js +3 -3
- package/v2Containers/Email/reducer.js +1 -1
- package/v2Containers/EmailWrapper/index.js +4 -4
- package/v2Containers/Facebook/Advertisement/index.js +15 -3
- package/v2Containers/Facebook/sagas.js +1 -1
- package/v2Containers/LanguageProvider/actions.js +1 -1
- package/v2Containers/Line/Container/actions.js +5 -5
- package/v2Containers/Line/Container/sagas.js +4 -4
- package/v2Containers/MobilePush/Create/actions.js +2 -2
- package/v2Containers/MobilePush/Create/index.js +1 -1
- package/v2Containers/MobilePush/Create/sagas.js +2 -2
- package/v2Containers/MobilePush/Edit/actions.js +3 -3
- package/v2Containers/MobilePush/Edit/index.js +26 -26
- package/v2Containers/MobilePush/Edit/sagas.js +5 -5
- package/v2Containers/Sms/Create/index.js +4 -4
- package/v2Containers/TagList/index.js +6 -6
- package/v2Containers/Templates/actions.js +5 -5
- package/v2Containers/Templates/index.js +1 -1
- package/v2Containers/Templates/sagas.js +4 -4
- package/v2Containers/Viber/actions.js +2 -2
- package/v2Containers/Viber/sagas.js +2 -2
- package/v2Containers/WeChat/MapTemplates/actions.js +1 -1
- package/v2Containers/WeChat/MapTemplates/index.js +19 -19
- package/v2Containers/WeChat/MapTemplates/sagas.js +3 -3
- package/v2Containers/WeChat/RichmediaTemplates/Create/actions.js +1 -1
- package/v2Containers/WeChat/RichmediaTemplates/Edit/actions.js +1 -1
- package/v2Containers/WeChat/RichmediaTemplates/Edit/sagas.js +1 -1
|
@@ -67,12 +67,12 @@ class CapTagList extends React.Component { // eslint-disable-line react/prefer-s
|
|
|
67
67
|
}
|
|
68
68
|
|
|
69
69
|
handleOnChange = (data, e) => {
|
|
70
|
-
|
|
70
|
+
|
|
71
71
|
this.props.onContextChange(data);
|
|
72
72
|
};
|
|
73
73
|
|
|
74
74
|
handleDynamicDateChange = (data, e) => {
|
|
75
|
-
|
|
75
|
+
|
|
76
76
|
this.setState({dynamicDateValue: data.target.value});
|
|
77
77
|
};
|
|
78
78
|
|
|
@@ -127,7 +127,7 @@ class CapTagList extends React.Component { // eslint-disable-line react/prefer-s
|
|
|
127
127
|
this.setState({expandedKeys, autoExpandParent: false});
|
|
128
128
|
};
|
|
129
129
|
togglePopoverVisibility = (visible) => {
|
|
130
|
-
|
|
130
|
+
|
|
131
131
|
this.setState({visible});
|
|
132
132
|
};
|
|
133
133
|
|
|
@@ -136,7 +136,7 @@ class CapTagList extends React.Component { // eslint-disable-line react/prefer-s
|
|
|
136
136
|
};
|
|
137
137
|
|
|
138
138
|
renderTags(tags, searchString = '') {
|
|
139
|
-
|
|
139
|
+
|
|
140
140
|
const list = [];
|
|
141
141
|
_.forEach(tags, (val, key) => {
|
|
142
142
|
let supportedTagsString = '';
|
|
@@ -144,7 +144,7 @@ class CapTagList extends React.Component { // eslint-disable-line react/prefer-s
|
|
|
144
144
|
supportedTagsString += `${supportedTag} ,`;
|
|
145
145
|
});
|
|
146
146
|
supportedTagsString = supportedTagsString.replace(/,\s*$/, "");
|
|
147
|
-
|
|
147
|
+
|
|
148
148
|
if (_.has(val, 'subtags')) {
|
|
149
149
|
const temp = this.renderTags(val.subtags);
|
|
150
150
|
list.push((
|
package/components/Card/index.js
CHANGED
|
@@ -33,7 +33,7 @@ class CustomCard extends React.Component { // eslint-disable-line react/prefer-s
|
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
handleMouseHover(data) {
|
|
36
|
-
|
|
36
|
+
|
|
37
37
|
this.setState({isHovering: data});
|
|
38
38
|
this.props.onHover(!this.state.isHovering, this.props.id);
|
|
39
39
|
}
|
|
@@ -120,7 +120,7 @@ class Ckeditor extends React.Component { // eslint-disable-line react/prefer-sta
|
|
|
120
120
|
// setTimeout(() => {
|
|
121
121
|
// this.editorInstance.name = this.id;
|
|
122
122
|
// }, 5000);
|
|
123
|
-
|
|
123
|
+
|
|
124
124
|
}
|
|
125
125
|
}
|
|
126
126
|
|
|
@@ -137,7 +137,7 @@ class Ckeditor extends React.Component { // eslint-disable-line react/prefer-sta
|
|
|
137
137
|
onLoad() {
|
|
138
138
|
if (this.unmounting) return;
|
|
139
139
|
|
|
140
|
-
|
|
140
|
+
|
|
141
141
|
if (!window.CKEDITOR) {
|
|
142
142
|
console.error("CKEditor not found");
|
|
143
143
|
return;
|
|
@@ -145,13 +145,13 @@ class Ckeditor extends React.Component { // eslint-disable-line react/prefer-sta
|
|
|
145
145
|
|
|
146
146
|
let html = this.props.content;
|
|
147
147
|
html = html.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, "\"");
|
|
148
|
-
|
|
148
|
+
|
|
149
149
|
this.editorInstance = window.CKEDITOR.appendTo(
|
|
150
150
|
this.node,
|
|
151
151
|
this.state.config,
|
|
152
152
|
html
|
|
153
153
|
);
|
|
154
|
-
|
|
154
|
+
|
|
155
155
|
|
|
156
156
|
if (this.props.getEditorInstanse) {
|
|
157
157
|
this.props.getEditorInstanse(this.editorInstance, this.props.id);
|
|
@@ -202,7 +202,7 @@ class Ckeditor extends React.Component { // eslint-disable-line react/prefer-sta
|
|
|
202
202
|
};
|
|
203
203
|
|
|
204
204
|
render() {
|
|
205
|
-
|
|
205
|
+
|
|
206
206
|
return (
|
|
207
207
|
<div id={this.props.id} style={{borderRight: "1px solid #000 !important"}}>
|
|
208
208
|
<div className={this.props.activeClass} ref={(node) => (this.node = node)}/>
|
|
@@ -14,17 +14,17 @@ import messages from './messages';
|
|
|
14
14
|
|
|
15
15
|
class CustomPopOver extends React.Component { // eslint-disable-line react/prefer-stateless-function
|
|
16
16
|
componentWillMount() {
|
|
17
|
-
|
|
17
|
+
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
componentWillReceiveProps(nextProps) {
|
|
21
|
-
|
|
21
|
+
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
renderPopoverContent() {
|
|
25
25
|
const elem = [];
|
|
26
26
|
_.forEach(this.props.popOverList, (content, index) => {
|
|
27
|
-
|
|
27
|
+
|
|
28
28
|
if (this.props.excludeList.indexOf(content.iso_code) === -1) {
|
|
29
29
|
elem.push(
|
|
30
30
|
<p style={{ cursor: "pointer"}} key={index} onClick={() => this.props.handlePopOverClick(content)}>{content.language}</p>
|
|
@@ -25,13 +25,13 @@ class Edmeditor extends React.Component { // eslint-disable-line react/prefer-st
|
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
componentDidMount() {
|
|
28
|
-
|
|
28
|
+
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
componentWillReceiveProps(nextProps) {
|
|
32
|
-
|
|
32
|
+
|
|
33
33
|
// if (!_.isEqual(nextProps.content, this.props.content)) {
|
|
34
|
-
//
|
|
34
|
+
//
|
|
35
35
|
// this.editorInstance.content = nextProps.content;
|
|
36
36
|
// }
|
|
37
37
|
}
|
|
@@ -41,7 +41,7 @@ class Edmeditor extends React.Component { // eslint-disable-line react/prefer-st
|
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
render() {
|
|
44
|
-
|
|
44
|
+
|
|
45
45
|
return (
|
|
46
46
|
this.props.edmSrc ?
|
|
47
47
|
(<iframe id={this.props.id} className={this.props.activeClass} src={this.props.edmSrc} height="460" width="100%" style={{height: "calc(100vh - 180px)"}}></iframe>)
|
|
@@ -32,7 +32,7 @@ const deviceAspectRatio = {
|
|
|
32
32
|
|
|
33
33
|
class EmailPreview extends React.Component { // eslint-disable-line react/prefer-stateless-function
|
|
34
34
|
render() {
|
|
35
|
-
|
|
35
|
+
|
|
36
36
|
let messageContainerName = '';
|
|
37
37
|
if (this.props.device === 'tablet') {
|
|
38
38
|
messageContainerName = 'tablet-message-container';
|
|
@@ -48,11 +48,11 @@ class PreviewSideBar extends React.Component { // eslint-disable-line react/pref
|
|
|
48
48
|
this.props.onEditClick(e, this.props.templateData._id, this.props.templateData.modeType, path);
|
|
49
49
|
}
|
|
50
50
|
render() {
|
|
51
|
-
|
|
51
|
+
|
|
52
52
|
// const modeTypeLine = this.props.templateData.modeType; // expected: (text or image)
|
|
53
53
|
let content = '';
|
|
54
54
|
if ((this.props.channel || '').toLowerCase() === 'wechat') {
|
|
55
|
-
|
|
55
|
+
|
|
56
56
|
content = this.props.templateData.content;
|
|
57
57
|
} else if ((this.props.channel || '').toLowerCase() === "mobilepush" && !_.isEmpty(this.props.templateData)) {
|
|
58
58
|
const data = this.state.device === "android" ? this.props.templateData.versions.base.ANDROID : this.props.templateData.versions.base.IOS;
|
|
@@ -90,7 +90,7 @@ class PreviewSideBar extends React.Component { // eslint-disable-line react/pref
|
|
|
90
90
|
if ((this.props.channel || '').toLowerCase() === 'wechat') {
|
|
91
91
|
path = this.props.templateData && this.props.templateData.definition && this.props.templateData.definition.msgcontent === "RICH_MEDIA_WECHAT" ? `/wechat/richmedia/edit/${this.props.templateData._id}` : `/wechat/edit/${this.props.templateData._id}`;
|
|
92
92
|
}
|
|
93
|
-
|
|
93
|
+
|
|
94
94
|
return (
|
|
95
95
|
<SlideBox
|
|
96
96
|
header={this.props.templateData && this.props.templateData.name ? this.props.templateData.name : ''}
|
|
@@ -75,7 +75,7 @@ class Sidebar extends React.Component { // eslint-disable-line react/prefer-stat
|
|
|
75
75
|
_.forEach(props.menuData, (menuItem, menuIndex) => {
|
|
76
76
|
if (menuItem.items && typeof menuItem.items === 'object') {
|
|
77
77
|
_.forEach(menuItem.items, (menuData = {}) => {
|
|
78
|
-
//
|
|
78
|
+
//
|
|
79
79
|
if ((menuItem.id && menuData.id.toLowerCase() === activeRouteName.toLowerCase()) || (menuData.value.toLowerCase() === activeRouteName.toLowerCase())) {
|
|
80
80
|
selectedIndex = menuIndex;
|
|
81
81
|
selectedItem = activeRouteName.toLowerCase();
|
|
@@ -23,20 +23,20 @@ class SmsTest extends React.Component { // eslint-disable-line react/prefer-stat
|
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
onTemplateNameChange(name) {
|
|
26
|
-
|
|
26
|
+
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
onTemplateContentChange(content) {
|
|
30
|
-
|
|
30
|
+
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
onFormDataChange(formData) {
|
|
34
|
-
|
|
34
|
+
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
saveFormData(formData) {
|
|
38
38
|
//Logic to save in db etc
|
|
39
|
-
|
|
39
|
+
|
|
40
40
|
}
|
|
41
41
|
render() {
|
|
42
42
|
const schema = {
|
|
@@ -170,7 +170,7 @@ class TemplatePreview extends React.Component { // eslint-disable-line react/pre
|
|
|
170
170
|
}
|
|
171
171
|
|
|
172
172
|
render() {
|
|
173
|
-
|
|
173
|
+
|
|
174
174
|
let content = channel && channel.toLowerCase() === 'sms' ? [this.props.content] : this.props.content;
|
|
175
175
|
const channel = this.props.channel;
|
|
176
176
|
let smsDetails = {};
|
|
@@ -185,7 +185,7 @@ class TemplatePreview extends React.Component { // eslint-disable-line react/pre
|
|
|
185
185
|
document.getElementById("msg_count").val = smsDetails.parts;
|
|
186
186
|
}
|
|
187
187
|
//smsText = this.props.intl.formatMessage(messages.previewGenerationMessage);
|
|
188
|
-
//
|
|
188
|
+
//
|
|
189
189
|
}
|
|
190
190
|
const showLockScreenPreview = !!this.props.showLockScreenPreview;
|
|
191
191
|
const type = this.props.location && this.props.location.query.type ? this.props.location.query.type : '';
|
|
@@ -37,7 +37,7 @@ class Toastr extends React.Component { // eslint-disable-line react/prefer-state
|
|
|
37
37
|
return (
|
|
38
38
|
<StyledMessageContainer style={{ ...messagePositionConfig[this.props.position] }}>
|
|
39
39
|
{this.props.messagesList.map((message) => {
|
|
40
|
-
|
|
40
|
+
|
|
41
41
|
return <ToastrMessage key={message.messageId} timeout={this.props.timeout} messageId={message.messageId} title={message.title} text={message.text} type={message.type} handleMessageClose={this.closeMessagePopup} hideProgressBar={message.hideProgressBar} />;
|
|
42
42
|
})}
|
|
43
43
|
</StyledMessageContainer>
|
|
@@ -71,10 +71,10 @@ export class Gallery extends React.Component { // eslint-disable-line react/pref
|
|
|
71
71
|
}
|
|
72
72
|
|
|
73
73
|
componentWillReceiveProps(nextProps) {
|
|
74
|
-
|
|
74
|
+
|
|
75
75
|
if ( !_.isEqual(nextProps.Gallery.uploadAssetSuccess, this.props.Gallery.uploadAssetSuccess) && nextProps.Gallery.uploadAssetSuccess) {
|
|
76
76
|
if (this.props.location.query.type === 'embedded' && nextProps.Gallery.uploadedAssetData) {
|
|
77
|
-
|
|
77
|
+
|
|
78
78
|
const response = {
|
|
79
79
|
action: "selectAsset",
|
|
80
80
|
value: JSON.stringify(nextProps.Gallery.uploadedAssetData),
|
|
@@ -24,7 +24,7 @@ export function* uploadAsset(file, assetType, fileParams) {
|
|
|
24
24
|
export function* deleteAssetById(assetId, assetType) {
|
|
25
25
|
try {
|
|
26
26
|
const result = yield call(Api.deleteAssetById, assetId, assetType);
|
|
27
|
-
|
|
27
|
+
|
|
28
28
|
yield put({ type: types.DELETE_ASSET_SUCCESS, data: result.response });
|
|
29
29
|
} catch (error) {
|
|
30
30
|
yield put({ type: types.DELETE_ASSET_FAILURE, error });
|
|
@@ -24,7 +24,7 @@ export function changeOrg(orgID) {
|
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
export function addMessageToQueue(message) {
|
|
27
|
-
|
|
27
|
+
|
|
28
28
|
return {
|
|
29
29
|
type: types.ADD_MESSAGE,
|
|
30
30
|
message,
|
|
@@ -46,7 +46,7 @@ export function getUserData(callback) {
|
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
export function fetchSchemaForEntity(queryParams) {
|
|
49
|
-
|
|
49
|
+
|
|
50
50
|
return {
|
|
51
51
|
type: types.GET_SCHEMA_FOR_ENTITY_REQUEST, queryParams,
|
|
52
52
|
};
|
|
@@ -82,7 +82,7 @@ function capReducer(state = fromJS(initialState), action) {
|
|
|
82
82
|
.set('fetchingSchema', false);
|
|
83
83
|
case types.GET_SCHEMA_FOR_ENTITY_SUCCESS: {
|
|
84
84
|
const stateMeta = state.get('metaEntities');
|
|
85
|
-
|
|
85
|
+
|
|
86
86
|
return state
|
|
87
87
|
.set('fetchingSchema', false)
|
|
88
88
|
.set('metaEntities', {
|
package/containers/Cap/sagas.js
CHANGED
|
@@ -104,9 +104,9 @@ export function* fetchUserInfo({ callback }) {
|
|
|
104
104
|
|
|
105
105
|
export function* fetchSchemaForEntity(queryParams) {
|
|
106
106
|
try {
|
|
107
|
-
|
|
107
|
+
|
|
108
108
|
const result = yield call(Api.fetchSchemaForEntity, queryParams);
|
|
109
|
-
|
|
109
|
+
|
|
110
110
|
// const sidebar = result.response.sidebar;
|
|
111
111
|
yield put({ type: types.GET_SCHEMA_FOR_ENTITY_SUCCESS, data: result.response, statusCode: result.status ? result.status.code : '', entityType: queryParams.queryParams.type });
|
|
112
112
|
} catch (error) {
|
|
@@ -116,7 +116,7 @@ export function* fetchSchemaForEntity(queryParams) {
|
|
|
116
116
|
|
|
117
117
|
|
|
118
118
|
function* watchFetchSchemaForEntity() {
|
|
119
|
-
|
|
119
|
+
|
|
120
120
|
const watcher = yield takeLatest(types.GET_SCHEMA_FOR_ENTITY_REQUEST, fetchSchemaForEntity);
|
|
121
121
|
yield take(LOCATION_CHANGE);
|
|
122
122
|
yield cancel(watcher);
|
|
@@ -26,7 +26,7 @@ const setInjectedTags = () => createSelector(
|
|
|
26
26
|
const { tags } = metaEntities;
|
|
27
27
|
const customTags = tags && (tags.custom || {});
|
|
28
28
|
const extendedTags = tags && (tags.extended || {});
|
|
29
|
-
|
|
29
|
+
|
|
30
30
|
return (injectedTags = _.merge({}, injectedTags, customTags, extendedTags));
|
|
31
31
|
}
|
|
32
32
|
);
|
|
@@ -586,13 +586,13 @@ export class Ebill extends React.Component { // eslint-disable-line react/prefer
|
|
|
586
586
|
type: 'LAYOUT',
|
|
587
587
|
};
|
|
588
588
|
this.props.globalActions.fetchSchemaForEntity(query);
|
|
589
|
-
|
|
589
|
+
|
|
590
590
|
}
|
|
591
591
|
|
|
592
592
|
componentWillReceiveProps(nextProps) {
|
|
593
593
|
if (nextProps.metaEntities && nextProps.metaEntities.layouts && nextProps.metaEntities.layouts.length > 0 && _.isEmpty(this.state.schema)) {
|
|
594
594
|
this.injectEvents(nextProps.metaEntities.layouts[0].definition);
|
|
595
|
-
|
|
595
|
+
|
|
596
596
|
const query = {
|
|
597
597
|
layout: 'EBILL',
|
|
598
598
|
type: 'TAG',
|
|
@@ -628,18 +628,18 @@ export class Ebill extends React.Component { // eslint-disable-line react/prefer
|
|
|
628
628
|
this.props.globalActions.addMessageToQueue(message);
|
|
629
629
|
}
|
|
630
630
|
|
|
631
|
-
|
|
631
|
+
|
|
632
632
|
if (nextProps.Ebill.cmsData !== '' && !_.isEqual(nextProps.Ebill.cmsData, this.props.Ebill.cmsData)) {
|
|
633
633
|
const formData = _.cloneDeep(this.state.formData);
|
|
634
634
|
formData[this.state.currentTab - 1][`ebill-editor${this.state.currentTab > 1 ? this.state.currentTab : ''}`] = nextProps.Ebill.cmsData.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/\\"/g, "\"");
|
|
635
|
-
|
|
635
|
+
|
|
636
636
|
this.setState({formData});
|
|
637
637
|
}
|
|
638
638
|
|
|
639
639
|
if (nextProps.Templates.selectedEmailLayout && nextProps.Templates.selectedEmailLayout !== '' && this.state.formData[this.state.currentTab - 1] && this.state.formData[this.state.currentTab - 1][`ebill-editor${this.state.currentTab > 1 ? this.state.currentTab : ''}`] !== '') {
|
|
640
640
|
const formData = _.cloneDeep(this.state.formData);
|
|
641
641
|
formData[this.state.currentTab - 1][`ebill-editor${this.state.currentTab > 1 ? this.state.currentTab : ''}`] = nextProps.Templates.selectedEmailLayout;
|
|
642
|
-
|
|
642
|
+
|
|
643
643
|
this.setState({formData});
|
|
644
644
|
}
|
|
645
645
|
|
|
@@ -655,7 +655,7 @@ export class Ebill extends React.Component { // eslint-disable-line react/prefer
|
|
|
655
655
|
}
|
|
656
656
|
|
|
657
657
|
onTagSelect = (data, currentTab, value) => {
|
|
658
|
-
|
|
658
|
+
|
|
659
659
|
if (this.state.isDragDrop) {
|
|
660
660
|
const msg = {
|
|
661
661
|
action: "InsertToCursor",
|
|
@@ -670,12 +670,12 @@ export class Ebill extends React.Component { // eslint-disable-line react/prefer
|
|
|
670
670
|
};
|
|
671
671
|
|
|
672
672
|
onTabChange = (data, formData) => {
|
|
673
|
-
|
|
673
|
+
|
|
674
674
|
this.setState({currentTab: data, formData});
|
|
675
675
|
};
|
|
676
676
|
|
|
677
677
|
onFormDataChange = (formData, tabCount, currentTab) => {
|
|
678
|
-
|
|
678
|
+
|
|
679
679
|
const tmpFormData = _.cloneDeep(formData);
|
|
680
680
|
if (this.props.Templates.selectedEmailLayout !== '' && tmpFormData['0']['ebill-editor'] === '') {
|
|
681
681
|
tmpFormData['0']['ebill-editor'] = this.props.Templates.selectedEmailLayout;
|
|
@@ -688,18 +688,18 @@ export class Ebill extends React.Component { // eslint-disable-line react/prefer
|
|
|
688
688
|
};
|
|
689
689
|
|
|
690
690
|
onTagSelect = (data, currentTab) => {
|
|
691
|
-
|
|
691
|
+
|
|
692
692
|
const editorId = currentTab > 1 ? `ebill-editor${currentTab}` : 'ebill-editor';
|
|
693
693
|
this.insertAtCursor(document.getElementById(editorId), `{{${data}}}`, currentTab);
|
|
694
694
|
document.getElementById(editorId).focus();
|
|
695
695
|
};
|
|
696
696
|
|
|
697
697
|
onTemplateNameChange = (name) => {
|
|
698
|
-
|
|
698
|
+
|
|
699
699
|
};
|
|
700
700
|
|
|
701
701
|
onTemplateContentChange = (content) => {
|
|
702
|
-
|
|
702
|
+
|
|
703
703
|
};
|
|
704
704
|
|
|
705
705
|
setEditState = (data) => {
|
|
@@ -720,7 +720,7 @@ export class Ebill extends React.Component { // eslint-disable-line react/prefer
|
|
|
720
720
|
}
|
|
721
721
|
if (type === 'embedded' || count > 0) {
|
|
722
722
|
setTimeout( () => {
|
|
723
|
-
|
|
723
|
+
|
|
724
724
|
if (type === 'embedded') {
|
|
725
725
|
that.removeStandAlone();
|
|
726
726
|
} else {
|
|
@@ -736,13 +736,13 @@ export class Ebill extends React.Component { // eslint-disable-line react/prefer
|
|
|
736
736
|
formData[0].base = true;
|
|
737
737
|
}
|
|
738
738
|
formData.base = data.versions.base;
|
|
739
|
-
|
|
739
|
+
|
|
740
740
|
this.setState({tabCount, formData, editData: data, currentTab: 1}, () => {
|
|
741
741
|
});
|
|
742
742
|
};
|
|
743
743
|
|
|
744
744
|
getMappedEvent = (id, event) => {
|
|
745
|
-
|
|
745
|
+
|
|
746
746
|
return this.map[id][event];
|
|
747
747
|
};
|
|
748
748
|
|
|
@@ -770,11 +770,11 @@ export class Ebill extends React.Component { // eslint-disable-line react/prefer
|
|
|
770
770
|
saveFormData = (formData) => {
|
|
771
771
|
//Logic to save in db etc
|
|
772
772
|
// const isValidated = this.validateFormData(formData);
|
|
773
|
-
//
|
|
773
|
+
//
|
|
774
774
|
// if (!isValidated) {
|
|
775
775
|
// return;
|
|
776
776
|
// }
|
|
777
|
-
|
|
777
|
+
|
|
778
778
|
const obj = {};
|
|
779
779
|
obj.versions = {
|
|
780
780
|
base: {},
|
|
@@ -791,11 +791,11 @@ export class Ebill extends React.Component { // eslint-disable-line react/prefer
|
|
|
791
791
|
});
|
|
792
792
|
obj.name = formData['template-name'];
|
|
793
793
|
obj.versions.base = formData.base;
|
|
794
|
-
|
|
794
|
+
|
|
795
795
|
_.forEach(obj.versions.history, (index, version) => {
|
|
796
|
-
|
|
796
|
+
|
|
797
797
|
});
|
|
798
|
-
|
|
798
|
+
|
|
799
799
|
this.props.actions.createTemplate(obj);
|
|
800
800
|
};
|
|
801
801
|
|
|
@@ -812,17 +812,17 @@ export class Ebill extends React.Component { // eslint-disable-line react/prefer
|
|
|
812
812
|
}
|
|
813
813
|
}
|
|
814
814
|
if (isValid) {
|
|
815
|
-
|
|
815
|
+
|
|
816
816
|
return true;
|
|
817
817
|
}
|
|
818
818
|
const message = getMessageObject('error', this.props.intl.formatMessage(messages.templateNotValid), true);
|
|
819
819
|
this.props.globalActions.addMessageToQueue(message);
|
|
820
|
-
|
|
820
|
+
|
|
821
821
|
return false;
|
|
822
822
|
};
|
|
823
823
|
|
|
824
824
|
handleOnTagsContextChange = (data) => {
|
|
825
|
-
|
|
825
|
+
|
|
826
826
|
const query = {
|
|
827
827
|
layout: 'EBILL',
|
|
828
828
|
type: 'TAG',
|
|
@@ -906,7 +906,7 @@ export class Ebill extends React.Component { // eslint-disable-line react/prefer
|
|
|
906
906
|
|
|
907
907
|
|
|
908
908
|
injectEvents(schema) {
|
|
909
|
-
|
|
909
|
+
|
|
910
910
|
const temp = schema;
|
|
911
911
|
if (!temp.standalone) {
|
|
912
912
|
temp.standalone = {};
|
|
@@ -917,7 +917,7 @@ export class Ebill extends React.Component { // eslint-disable-line react/prefer
|
|
|
917
917
|
tempContainer = this.injectContainer(tempContainer);
|
|
918
918
|
return tempContainer;
|
|
919
919
|
});
|
|
920
|
-
|
|
920
|
+
|
|
921
921
|
this.setState({schema}, () => {
|
|
922
922
|
const type = this.props.location.query.type;
|
|
923
923
|
if (type === 'embedded') {
|
|
@@ -959,7 +959,7 @@ export class Ebill extends React.Component { // eslint-disable-line react/prefer
|
|
|
959
959
|
console.log('injected event for ', col, event, this.getMappedEvent(col.id, event));
|
|
960
960
|
temp.injectedEvents[event] = this.getMappedEvent(col.id, event);
|
|
961
961
|
});
|
|
962
|
-
|
|
962
|
+
|
|
963
963
|
if (temp.type === 'icon') {
|
|
964
964
|
return true;
|
|
965
965
|
}
|
|
@@ -990,7 +990,7 @@ export class Ebill extends React.Component { // eslint-disable-line react/prefer
|
|
|
990
990
|
_.forEach(col.supportedEvents, (event) => {
|
|
991
991
|
temp.injectedEvents[event] = this.getMappedEvent(col.id, event);
|
|
992
992
|
});
|
|
993
|
-
|
|
993
|
+
|
|
994
994
|
if (temp.type === 'icon') {
|
|
995
995
|
return true;
|
|
996
996
|
}
|
|
@@ -1024,7 +1024,7 @@ export class Ebill extends React.Component { // eslint-disable-line react/prefer
|
|
|
1024
1024
|
_.forEach(inputField.supportedEvents, (event) => {
|
|
1025
1025
|
temp.injectedEvents[event] = this.getMappedEvent(inputField.id, event);
|
|
1026
1026
|
});
|
|
1027
|
-
|
|
1027
|
+
|
|
1028
1028
|
if (temp.type === 'icon') {
|
|
1029
1029
|
return true;
|
|
1030
1030
|
}
|
|
@@ -1053,7 +1053,7 @@ export class Ebill extends React.Component { // eslint-disable-line react/prefer
|
|
|
1053
1053
|
_.forEach(actionField.supportedEvents, (event) => {
|
|
1054
1054
|
temp.injectedEvents[event] = this.getMappedEvent(actionField.id, event);
|
|
1055
1055
|
});
|
|
1056
|
-
|
|
1056
|
+
|
|
1057
1057
|
if (temp.type === 'icon') {
|
|
1058
1058
|
return true;
|
|
1059
1059
|
}
|
|
@@ -1103,7 +1103,7 @@ export class Ebill extends React.Component { // eslint-disable-line react/prefer
|
|
|
1103
1103
|
}
|
|
1104
1104
|
|
|
1105
1105
|
cloneColLabel(sectionObj, tabIndex) {
|
|
1106
|
-
|
|
1106
|
+
|
|
1107
1107
|
const section = _.cloneDeep(sectionObj);
|
|
1108
1108
|
const inputFields = _.forEach(section.inputFields, (inputField) => {
|
|
1109
1109
|
const inputF = inputField;
|
|
@@ -1112,12 +1112,12 @@ export class Ebill extends React.Component { // eslint-disable-line react/prefer
|
|
|
1112
1112
|
return inputF;
|
|
1113
1113
|
});
|
|
1114
1114
|
section.inputFields = inputFields;
|
|
1115
|
-
|
|
1115
|
+
|
|
1116
1116
|
return section;
|
|
1117
1117
|
}
|
|
1118
1118
|
|
|
1119
1119
|
cloneMultiCol(sectionObj, tabIndex) {
|
|
1120
|
-
|
|
1120
|
+
|
|
1121
1121
|
const section = _.cloneDeep(sectionObj);
|
|
1122
1122
|
const inputFields = _.forEach(section.inputFields, (inputField) => {
|
|
1123
1123
|
const inputF = inputField;
|
|
@@ -1131,7 +1131,7 @@ export class Ebill extends React.Component { // eslint-disable-line react/prefer
|
|
|
1131
1131
|
return inputF;
|
|
1132
1132
|
});
|
|
1133
1133
|
section.inputFields = inputFields;
|
|
1134
|
-
|
|
1134
|
+
|
|
1135
1135
|
return section;
|
|
1136
1136
|
}
|
|
1137
1137
|
|
|
@@ -1149,13 +1149,13 @@ export class Ebill extends React.Component { // eslint-disable-line react/prefer
|
|
|
1149
1149
|
} else if (childSection.type === 'parent') {
|
|
1150
1150
|
sect = this.cloneParent(childSection, tabIndex);
|
|
1151
1151
|
}
|
|
1152
|
-
|
|
1152
|
+
|
|
1153
1153
|
childSections.push(sect);
|
|
1154
1154
|
return true;
|
|
1155
1155
|
});
|
|
1156
1156
|
console.log('returning cloned parent section final 1', JSON.stringify(childSections));
|
|
1157
1157
|
parentsect.childSections = childSections;
|
|
1158
|
-
|
|
1158
|
+
|
|
1159
1159
|
return _.cloneDeep(parentsect);
|
|
1160
1160
|
}
|
|
1161
1161
|
|
|
@@ -7,7 +7,7 @@ import * as types from './constants';
|
|
|
7
7
|
export function* createTemplate(template) {
|
|
8
8
|
let errorMsg = "";
|
|
9
9
|
try {
|
|
10
|
-
|
|
10
|
+
|
|
11
11
|
const result = yield call(Api.createEbillTemplate, template);
|
|
12
12
|
if ((result.message && typeof result.message === 'string') || result.status.code === 500) {
|
|
13
13
|
errorMsg = result.message;
|
|
@@ -20,7 +20,7 @@ export function* createTemplate(template) {
|
|
|
20
20
|
|
|
21
21
|
export function* getTemplateDetails(id, channel) {
|
|
22
22
|
try {
|
|
23
|
-
|
|
23
|
+
|
|
24
24
|
const result = yield call(Api.getTemplateDetails, id, channel);
|
|
25
25
|
// const sidebar = result.response.sidebar;
|
|
26
26
|
yield put({ type: types.GET_TEMPLATE_DETAILS_SUCCESS, data: result.response });
|
|
@@ -32,7 +32,7 @@ export function* getTemplateDetails(id, channel) {
|
|
|
32
32
|
export function* getCmsData({cmsType, projectId}) {
|
|
33
33
|
try {
|
|
34
34
|
const result = yield call(Api.getCmsData, cmsType, projectId);
|
|
35
|
-
|
|
35
|
+
|
|
36
36
|
yield put({ type: types.GET_CMS_EDITOR_DATA_SUCCESS, data: decodeURIComponent(result.data.response.cmsData.htmlContent) });
|
|
37
37
|
} catch (error) {
|
|
38
38
|
yield put({ type: types.GET_CMS_EDITOR_DATA_FAILURE, error });
|
|
@@ -22,7 +22,7 @@ export function duplicateTemplate(id, channel) {
|
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
export function getTemplateDetails(id, channel) {
|
|
25
|
-
|
|
25
|
+
|
|
26
26
|
return {
|
|
27
27
|
type: types.GET_TEMPLATE_DETAILS_REQUEST,
|
|
28
28
|
id,
|
|
@@ -39,7 +39,7 @@ export function getAllAssets(assetType, queryParams) {
|
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
export function getCmsSetting(cmsType, projectId, cmsMode, langId, isEdmSupport) {
|
|
42
|
-
|
|
42
|
+
|
|
43
43
|
return {
|
|
44
44
|
type: types.GET_CMS_EDITOR_DETAILS_REQUEST,
|
|
45
45
|
cmsType,
|