@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 CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@capillarytech/creatives-library",
3
3
  "author": "meharaj",
4
- "version": "7.17.169-alpha.2",
4
+ "version": "7.17.169-alpha.3",
5
5
  "description": "Capillary creatives ui",
6
6
  "main": "./index.js",
7
7
  "module": "./index.es.js",
@@ -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
- }, [selectedZaloAccount, templateData]);
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 && senderDetails?.hostName === VIET_GUYS) {
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 && senderDetails?.hostName !== VIET_GUYS) {
137
- const data = props.gapItTemplateData.find(template => template._id == gapitTemplateId);
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
- setTemplateName(templateName);
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
- setTemplateName(templateName);
148
- setTemplateId(gapitTemplateId);
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.map((paramData) => {
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
- setTemplateName(name);
189
- setTemplateId(zaloId);
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
- setTemplateName(templateName);
198
- setTemplateId(gapitTemplateId);
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 = props.gapItTemplateData.find(template => template._id == gapitTemplateId);
200
+ let data = gapitAllTemplateData.find(template => template._id == gapitTemplateId);
206
201
  const { templateName = "", listParams = [], previewUrl = "", status = "" } = data?.versions?.base?.content?.zalo || {};
207
- setTemplateName(templateName);
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.forEach((listParams) => {
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
- const varMap = {};
399
- templateListParams.forEach((listParam) => {
400
- const { name, value } = listParam;
401
- varMap[name] = value;
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: senderDetails?.hostName,
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 && senderDetails?.hostName === VIET_GUYS}>
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 && (