@capillarytech/creatives-library 7.9.19 → 7.9.21

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.9.19",
4
+ "version": "7.9.21",
5
5
  "description": "Capillary creatives ui",
6
6
  "main": "./index.js",
7
7
  "module": "./index.es.js",
@@ -204,12 +204,15 @@ function SlideBoxContent(props) {
204
204
  switch (templateDataObject.type.toUpperCase()) {
205
205
  case constants.SMS: {
206
206
  const isTraiDlt = commonUtil.isTraiDLTEnable(isFullMode, smsRegister);
207
-
208
- const updatedSMSEditior = get(templateDataObject, `versions.base['updated-sms-editor']`, '');
209
- if (!isTraiDlt || updatedSMSEditior === "") {
207
+ const updatedSmsEditor = get(
208
+ templateDataObject,
209
+ `versions.base['updated-sms-editor']`,
210
+ '',
211
+ );
212
+ if (!isTraiDlt || updatedSmsEditor === '') {
210
213
  return get(templateDataObject, `versions.base['sms-editor']`);
211
214
  }
212
- return updatedSMSEditior.join('');
215
+ return updatedSmsEditor.join('');
213
216
  }
214
217
  case constants.LINE: {
215
218
  const lineContents = get(templateDataObject, `versions.base.content.messages`, [{}]);
@@ -470,6 +473,7 @@ function SlideBoxContent(props) {
470
473
  onTestContentClicked={onTestContentClicked}
471
474
  onCreateComplete={onCreateComplete}
472
475
  smsRegister={smsRegister}
476
+ onShowTemplates={onShowTemplates}
473
477
  />
474
478
  )}
475
479
 
@@ -357,7 +357,25 @@ class Creatives extends React.Component {
357
357
  switch (channel) {
358
358
  case constants.SMS:
359
359
  if (template.value.base) {
360
- templateData.messageBody = template.value.base['sms-editor'];
360
+ const smsBase = template.value.base || {};
361
+ const { isFullMode, smsRegister } = this.props;
362
+ const isTraiDlt = commonUtil.isTraiDLTEnable(isFullMode, smsRegister);
363
+ const {
364
+ ['updated-sms-editor']: updatedSmsEditor,
365
+ ['sms-editor']: smsEditor,
366
+ } = smsBase;
367
+ if (!isTraiDlt || updatedSmsEditor === '') {
368
+ templateData.messageBody = smsEditor;
369
+ } else {
370
+ templateData.messageBody = updatedSmsEditor.join('');
371
+ const { template_id, template_name, header } = smsBase;
372
+ templateData.templateConfigs = {
373
+ templateId: template_id,
374
+ templateName: template_name,
375
+ template: smsEditor,
376
+ registeredSenderIds: header?.split(','),
377
+ };
378
+ }
361
379
  }
362
380
  break;
363
381
  case constants.EMAIL:
@@ -18,7 +18,6 @@ import CapNotification from '@capillarytech/cap-ui-library/CapNotification';
18
18
  import Papa from 'papaparse';
19
19
  import cloneDeep from 'lodash/cloneDeep';
20
20
  import {
21
- CAP_SPACE_12,
22
21
  CAP_SPACE_16,
23
22
  CAP_SPACE_24,
24
23
  CAP_SPACE_32,
@@ -48,7 +47,13 @@ import messages from './messages';
48
47
  import withCreatives from '../../../hoc/withCreatives';
49
48
 
50
49
  export const SmsTraiCreate = (props) => {
51
- const { intl, actions, onCreateComplete } = props;
50
+ const {
51
+ intl,
52
+ actions,
53
+ onCreateComplete,
54
+ isFullMode,
55
+ onShowTemplates,
56
+ } = props;
52
57
  const { formatMessage } = intl;
53
58
  const [files, setFiles] = useState([]);
54
59
  const [errorText, setErrorText] = useState('');
@@ -361,9 +366,7 @@ export const SmsTraiCreate = (props) => {
361
366
  tempArray.push(fileData[row]);
362
367
  }
363
368
  }
364
- tempArray = tempArray.map((row) => {
365
- return row.map((cell) => cell.replace(',', ' '));
366
- });
369
+ tempArray = tempArray.map((row) => row.map((cell) => cell.replace(',', ' ')));
367
370
  csvContent = tempArray
368
371
  .map((e) => e.join(','))
369
372
  .map((e) => e.replace(/(\r\n|\n|\r)/gm, ' '))
@@ -453,7 +456,11 @@ export const SmsTraiCreate = (props) => {
453
456
  { templates: savedData },
454
457
  (resp, errorMessage) => {
455
458
  createCallback({ errorMessage });
456
- onCreateComplete();
459
+ if (isFullMode) {
460
+ onCreateComplete();
461
+ } else {
462
+ onShowTemplates();
463
+ }
457
464
  },
458
465
  );
459
466
  };
@@ -531,7 +538,7 @@ export const SmsTraiCreate = (props) => {
531
538
  {previewFileIndex !== null && (
532
539
  <>
533
540
  <CapRow span={24} className="upload-type-group-create-container">
534
- <div className="upload-file-preview">
541
+ <>
535
542
  <CapDivider
536
543
  type="horizontal"
537
544
  className="upload-file-preview-divider-1"
@@ -636,7 +643,7 @@ export const SmsTraiCreate = (props) => {
636
643
  className="upload-file-preview-divider-2"
637
644
  />
638
645
  {errorText && <CapError>{errorText}</CapError>}
639
- </div>
646
+ </>
640
647
  </CapRow>
641
648
  </>
642
649
  )}
@@ -42,6 +42,7 @@ import {
42
42
  LIBRARY,
43
43
  } from './constants';
44
44
  let varMap = {};
45
+ let traiData = {};
45
46
  const { TextArea } = CapInput;
46
47
  const { CapLabelInline } = CapLabel;
47
48
  export const SmsTraiEdit = (props) => {
@@ -58,6 +59,9 @@ export const SmsTraiEdit = (props) => {
58
59
  metaEntities,
59
60
  injectedTags,
60
61
  onCreateComplete,
62
+ isFullMode,
63
+ getFormSubscriptionData,
64
+ templateData = {},
61
65
  } = props || {};
62
66
  const { formatMessage } = intl;
63
67
  const [loading, updateLoading] = useState(true);
@@ -104,13 +108,15 @@ export const SmsTraiEdit = (props) => {
104
108
  }
105
109
  return () => {
106
110
  actions.resetEditTemplate();
111
+ varMap = {};
107
112
  };
108
113
  }, []);
109
114
 
110
115
  //computing placeholder array for mapping values and rendering dynamic form
111
116
  useEffect(() => {
112
- if (templateDetails && !isEmpty(templateDetails)) {
113
- let msg = get(templateDetails, `versions.base.sms-editor`);
117
+ traiData = isFullMode ? templateDetails : templateData;
118
+ if (traiData && !isEmpty(traiData)) {
119
+ let msg = get(traiData, `versions.base.sms-editor`);
114
120
  const templateMessageArray = [];
115
121
  //converting sms-editor string to an array split at '{#var#}'
116
122
  //split and push string before '{#var#}[0 to index]', push '{#var#}',
@@ -134,16 +140,19 @@ export const SmsTraiEdit = (props) => {
134
140
  //stop spinner
135
141
  updateLoading(false);
136
142
  }
137
- }, [templateDetails]);
143
+ }, [templateDetails || templateData]);
138
144
 
139
145
  useEffect(() => {
140
146
  if (tempMsgArray.length !== 0) {
147
+ const traiBase = traiData?.versions?.base || {};
148
+ const {
149
+ ['var-mapped']: varMapped = {},
150
+ ['updated-sms-editor']: traiSmsEditor = '',
151
+ } = traiBase;
141
152
  //if varMapped and updated-sms-editor is already present on non first edits
142
- if (!isEmpty(get(templateDetails, `versions.base.var-mapped`))) {
143
- varMap = cloneDeep(get(templateDetails, `versions.base.var-mapped`));
144
- setUpdatedSmsEditor(
145
- get(templateDetails, `versions.base.updated-sms-editor`),
146
- );
153
+ if (!isEmpty(varMapped)) {
154
+ varMap = cloneDeep(varMapped);
155
+ setUpdatedSmsEditor(traiSmsEditor);
147
156
  } else {
148
157
  //computing varMap for first edit
149
158
  let counter = 1;
@@ -197,10 +206,21 @@ export const SmsTraiEdit = (props) => {
197
206
  } else {
198
207
  //start spinner
199
208
  updateLoading(true);
200
- templateDetails.versions.base['var-mapped'] = varMap;
201
- templateDetails.versions.base['updated-sms-editor'] = updatedSmsEditor;
202
- templateDetails.versions.history = [templateDetails.versions.base];
203
- actions.editTemplate(templateDetails, onUpdateTemplateComplete);
209
+ const traiVersions = traiData.versions || {};
210
+ traiVersions.base = {
211
+ ...traiVersions.base,
212
+ 'var-mapped': varMap,
213
+ 'updated-sms-editor': updatedSmsEditor,
214
+ };
215
+ traiVersions.history = [traiVersions.base];
216
+ isFullMode
217
+ ? actions.editTemplate(traiData, onUpdateTemplateComplete)
218
+ : getFormSubscriptionData({
219
+ value: traiData.versions,
220
+ _id: params && params.id,
221
+ validity: true,
222
+ type: SMS,
223
+ });
204
224
  }
205
225
  };
206
226
  //Saving on done end
@@ -391,13 +411,13 @@ export const SmsTraiEdit = (props) => {
391
411
  <>
392
412
  <CapSpin spinning={loading}>
393
413
  <CapRow>
394
- {templateDetails && !isEmpty(templateDetails) && (
414
+ {traiData && !isEmpty(traiData) && (
395
415
  <TraiEditTemplateDetails>
396
416
  <CapLabelInline type="label1">
397
417
  {formatMessage(messages.templateLabel)}
398
418
  </CapLabelInline>
399
419
  <CapLabelInline type="label2">
400
- {templateDetails.versions.base.template_name}
420
+ {traiData.versions.base.template_name}
401
421
  </CapLabelInline>
402
422
  <CapLabelInline type="label1">
403
423
  {formatMessage(messages.traiEditSeperator)}
@@ -406,7 +426,7 @@ export const SmsTraiEdit = (props) => {
406
426
  {formatMessage(messages.senderIdlabel)}
407
427
  </CapLabelInline>
408
428
  <CapLabelInline type="label2">
409
- {templateDetails.versions.base.header}
429
+ {traiData.versions.base.header}
410
430
  </CapLabelInline>
411
431
  </TraiEditTemplateDetails>
412
432
  )}
@@ -28,6 +28,7 @@ const SmsWrapper = (props) => {
28
28
  onCreateComplete,
29
29
  handleClose,
30
30
  smsRegister,
31
+ onShowTemplates,
31
32
  } = props;
32
33
 
33
34
  const smsProps = {
@@ -50,7 +51,9 @@ const SmsWrapper = (props) => {
50
51
  isCreateSms && (isTraiDlt ?
51
52
  <SmsTraiCreate
52
53
  isComponent
53
- {...smsProps}/> :
54
+ {...smsProps}
55
+ onShowTemplates={onShowTemplates}
56
+ /> :
54
57
  <SmsCreate
55
58
  isComponent {
56
59
  ...smsProps