@capillarytech/creatives-library 7.17.169-alpha.2 → 7.17.169-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/v2Containers/Zalo/index.js +43 -48
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@ import React, { useState, useEffect } from 'react';
|
|
|
4
4
|
import { bindActionCreators } from 'redux';
|
|
5
5
|
import { createStructuredSelector } from 'reselect';
|
|
6
6
|
import { injectIntl, FormattedMessage } from 'react-intl';
|
|
7
|
-
import { get, isEmpty } from 'lodash';
|
|
7
|
+
import { get, isEmpty, update } from 'lodash';
|
|
8
8
|
import styled from 'styled-components';
|
|
9
9
|
import CapSpin from '@capillarytech/cap-ui-library/CapSpin';
|
|
10
10
|
import CapRow from '@capillarytech/cap-ui-library/CapRow';
|
|
@@ -66,18 +66,21 @@ export const Zalo = (props) => {
|
|
|
66
66
|
injectedTags,
|
|
67
67
|
getFormData,
|
|
68
68
|
selectedOfferDetails,
|
|
69
|
+
gapItTemplateData,
|
|
69
70
|
} = props || {};
|
|
71
|
+
const {hostName = ''} = senderDetails;
|
|
70
72
|
const { formatMessage } = intl;
|
|
71
73
|
const [oa_id, setOaId] = useState('');
|
|
72
74
|
const [token, setToken] = useState('');
|
|
73
75
|
const [username, setUsername] = useState('');
|
|
74
76
|
const [templateName, setTemplateName] = useState('');
|
|
75
77
|
const [templateId, setTemplateId] = useState('');
|
|
76
|
-
const [templateListParams, setTemplateListParams] = useState([]);
|
|
78
|
+
const [templateListParams, setTemplateListParams] = useState(templateData?.versions?.base?.content?.zalo?.listParams || ((hostName === VIET_GUYS && templateData?.templateConfigs?.varMapped ? Object.entries(templateData?.templateConfigs?.varMapped) : templateData?.templateConfigs?.varMapped) ?? []) || []);
|
|
77
79
|
const [templatePreviewUrl, setTemplatePreviewUrl] = useState('');
|
|
78
80
|
const [templateStatus, setZaloTemplateStatus] = useState(
|
|
79
81
|
ZALO_STATUSES.ENABLE,
|
|
80
82
|
);
|
|
83
|
+
const [gapitAllTemplateData, setGapitAllTemplateData] = useState([]);
|
|
81
84
|
const [tags, updateTags] = useState([]);
|
|
82
85
|
const [textAreaId, updateTextAreaId] = useState('');
|
|
83
86
|
const { zaloTemplateInfoValue = {}, zaloTemplateInfoStatus = REQUEST } =
|
|
@@ -113,17 +116,26 @@ export const Zalo = (props) => {
|
|
|
113
116
|
configs: { token: accessToken = '' } = {},
|
|
114
117
|
name = '',
|
|
115
118
|
} = selectedZaloAccount;
|
|
116
|
-
const {hostName = ''} = senderDetails;
|
|
117
119
|
const oaId = getDefaultTags === OUTBOUND ? zaloAccountId : accountId;
|
|
118
120
|
setOaId(sourceAccountIdentifier || oaId);
|
|
119
121
|
setToken(accessToken || zaloToken);
|
|
120
122
|
setUsername(name || accountName);
|
|
121
123
|
}
|
|
122
|
-
|
|
124
|
+
setGapitAllTemplateData(gapItTemplateData);
|
|
125
|
+
}, [selectedZaloAccount, templateData, gapItTemplateData]);
|
|
126
|
+
|
|
127
|
+
const updateTemplateData = (gapitTemplateId, templateName, listParams, previewUrl, status) => {
|
|
128
|
+
setTemplateName(templateName);
|
|
129
|
+
setTemplateId(gapitTemplateId);
|
|
130
|
+
setTemplateListParams(listParams);
|
|
131
|
+
setTemplatePreviewUrl(previewUrl);
|
|
132
|
+
setZaloTemplateStatus(status);
|
|
133
|
+
updateTextAreaId(listParams[0]?.name);
|
|
134
|
+
};
|
|
123
135
|
|
|
124
136
|
//gets template details
|
|
125
137
|
useEffect(() => {
|
|
126
|
-
if (zaloTempId && oa_id && token && username &&
|
|
138
|
+
if (zaloTempId && oa_id && token && username && hostName === VIET_GUYS) {
|
|
127
139
|
actions.getTemplateInfoById({
|
|
128
140
|
username,
|
|
129
141
|
oa_id,
|
|
@@ -131,25 +143,16 @@ export const Zalo = (props) => {
|
|
|
131
143
|
id: zaloTempId,
|
|
132
144
|
actionCallback,
|
|
133
145
|
});
|
|
134
|
-
} else {
|
|
146
|
+
} else if (hostName !== VIET_GUYS) {
|
|
135
147
|
const { _id: gapitTemplateId = '' } = templateData;
|
|
136
|
-
if (gapitTemplateId
|
|
137
|
-
const data =
|
|
148
|
+
if (gapitTemplateId) {
|
|
149
|
+
const data = gapitAllTemplateData.find(template => template._id == gapitTemplateId);
|
|
138
150
|
const { templateName = "", listParams = [], previewUrl = "", status = "" } = data?.versions?.base?.content?.zalo || {};
|
|
139
|
-
|
|
140
|
-
setTemplateId(gapitTemplateId);
|
|
141
|
-
setTemplateListParams(listParams);
|
|
142
|
-
setTemplatePreviewUrl(previewUrl);
|
|
143
|
-
setZaloTemplateStatus(status);
|
|
144
|
-
updateTextAreaId(listParams[0]?.name);
|
|
151
|
+
updateTemplateData(gapitTemplateId, templateName, listParams, previewUrl, status);
|
|
145
152
|
} else {
|
|
146
153
|
const { id: gapitTemplateId = '', name: templateName = '', template: previewUrl = '', varMapped: listParams = {} } = templateData?.templateConfigs || {};
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
setTemplateListParams(handleSetValues(Object.entries(listParams)));
|
|
150
|
-
setTemplatePreviewUrl(previewUrl);
|
|
151
|
-
setZaloTemplateStatus(ZALO_STATUSES.ENABLE);
|
|
152
|
-
updateTextAreaId(listParams[0]?.name);
|
|
154
|
+
const handledListParams = handleSetValues(Object.entries(listParams));
|
|
155
|
+
updateTemplateData(gapitTemplateId, templateName, handledListParams, previewUrl, ZALO_STATUSES.ENABLE);
|
|
153
156
|
}
|
|
154
157
|
}
|
|
155
158
|
//cleanup code
|
|
@@ -159,7 +162,7 @@ export const Zalo = (props) => {
|
|
|
159
162
|
}, [zaloTempId, oa_id, token, username]);
|
|
160
163
|
|
|
161
164
|
const handleSetValues = (paramsData = []) =>
|
|
162
|
-
paramsData
|
|
165
|
+
paramsData?.map((paramData) => {
|
|
163
166
|
for (const key in varMapped) {
|
|
164
167
|
if (paramData?.name === key) {
|
|
165
168
|
paramData.value = varMapped[key];
|
|
@@ -185,31 +188,18 @@ export const Zalo = (props) => {
|
|
|
185
188
|
} = {},
|
|
186
189
|
} = {},
|
|
187
190
|
} = zaloTemplateInfoValue;
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
setTemplateListParams(setValues ? handleSetValues(paramsData) : paramsData);
|
|
191
|
-
setTemplatePreviewUrl(previewUrl);
|
|
192
|
-
setZaloTemplateStatus(status);
|
|
193
|
-
updateTextAreaId(paramsData[0]?.name);
|
|
191
|
+
const handledListParams = setValues ? handleSetValues(paramsData) : paramsData;
|
|
192
|
+
updateTemplateData(zaloId, name, handledListParams, previewUrl, status);
|
|
194
193
|
} else {
|
|
195
194
|
if (setValues) {
|
|
196
195
|
const { id: gapitTemplateId = '', name: templateName = '', template: previewUrl = '', varMapped: listParams = {} } = templateData?.templateConfigs || {};
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
setTemplateListParams(handleSetValues(Object.entries(listParams)));
|
|
200
|
-
setTemplatePreviewUrl(previewUrl);
|
|
201
|
-
setZaloTemplateStatus(ZALO_STATUSES.ENABLE);
|
|
202
|
-
updateTextAreaId(listParams[0]?.name);
|
|
196
|
+
const handledListParams = handleSetValues(listParams);
|
|
197
|
+
updateTemplateData(gapitTemplateId, templateName, handledListParams, previewUrl, ZALO_STATUSES.ENABLE);
|
|
203
198
|
} else {
|
|
204
199
|
const { _id: gapitTemplateId = '' } = templateData;
|
|
205
|
-
let data =
|
|
200
|
+
let data = gapitAllTemplateData.find(template => template._id == gapitTemplateId);
|
|
206
201
|
const { templateName = "", listParams = [], previewUrl = "", status = "" } = data?.versions?.base?.content?.zalo || {};
|
|
207
|
-
|
|
208
|
-
setTemplateId(gapitTemplateId);
|
|
209
|
-
setTemplateListParams(listParams);
|
|
210
|
-
setTemplatePreviewUrl(previewUrl);
|
|
211
|
-
setZaloTemplateStatus(status);
|
|
212
|
-
updateTextAreaId(listParams[0]?.name);
|
|
202
|
+
updateTemplateData(gapitTemplateId, templateName, listParams, previewUrl, status);
|
|
213
203
|
}
|
|
214
204
|
}
|
|
215
205
|
};
|
|
@@ -383,7 +373,7 @@ export const Zalo = (props) => {
|
|
|
383
373
|
|
|
384
374
|
const isEditDoneDisabled = () => {
|
|
385
375
|
let disableCheck = false;
|
|
386
|
-
templateListParams
|
|
376
|
+
templateListParams?.forEach((listParams) => {
|
|
387
377
|
const { error, value } = listParams;
|
|
388
378
|
const errorMessage = !error
|
|
389
379
|
? handleErrorValidation(value, listParams)
|
|
@@ -395,11 +385,16 @@ export const Zalo = (props) => {
|
|
|
395
385
|
return disableCheck;
|
|
396
386
|
};
|
|
397
387
|
const createPayload = () => {
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
388
|
+
let varMap = {};
|
|
389
|
+
if (hostName !== VIET_GUYS) {
|
|
390
|
+
varMap = templateListParams;
|
|
391
|
+
} else {
|
|
392
|
+
templateListParams?.forEach((listParam) => {
|
|
393
|
+
const { name, value } = listParam;
|
|
394
|
+
varMap[name] = value;
|
|
395
|
+
}
|
|
396
|
+
);
|
|
397
|
+
}
|
|
403
398
|
const payload = {
|
|
404
399
|
channel: ZALO,
|
|
405
400
|
accountId: oa_id,
|
|
@@ -414,7 +409,7 @@ export const Zalo = (props) => {
|
|
|
414
409
|
varMapped: varMap,
|
|
415
410
|
},
|
|
416
411
|
token,
|
|
417
|
-
host:
|
|
412
|
+
host: hostName,
|
|
418
413
|
};
|
|
419
414
|
return payload;
|
|
420
415
|
};
|
|
@@ -452,7 +447,7 @@ export const Zalo = (props) => {
|
|
|
452
447
|
});
|
|
453
448
|
|
|
454
449
|
return (
|
|
455
|
-
<CapSpin spinning={zaloTemplateInfoStatus === REQUEST &&
|
|
450
|
+
<CapSpin spinning={zaloTemplateInfoStatus === REQUEST && hostName === VIET_GUYS}>
|
|
456
451
|
<CapRow type="flex" className="cap-zalo-creatives">
|
|
457
452
|
<CapColumn span={14}>
|
|
458
453
|
{templateStatus && (
|