@capillarytech/creatives-library 2.0.24 → 2.0.26

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.
@@ -36,18 +36,17 @@ function SlideBoxContent(props) {
36
36
  query,
37
37
  search: '',
38
38
  };
39
- let isCreateSms = false;
39
+ let channel = currentChannel;//for create mode
40
+ const isCreateSms = slidBoxContent === 'createTemplate' && channel === constants.SMS;
40
41
  let isEditSms = false;
41
42
  let isEditEmailWithId = false;
42
43
  let isEmailEditWithContent = false;
43
44
  let isPreview = false;
44
45
  let isEmailPreview = false;
45
46
  //let isEmailCreate = false;
46
- let channel = currentChannel;//for create mode
47
47
  if (templateData && channel) {
48
48
  channel = templateData.type;// for edit mode with template data
49
49
  isEditSms = slidBoxContent === 'editTemplate' && channel === constants.SMS;
50
- isCreateSms = slidBoxContent === 'createTemplate' && channel === constants.SMS;
51
50
  //isEmailCreate = slidBoxContent === 'createTemplate' && channel === constants.EMAIL;
52
51
  isEditEmailWithId = slidBoxContent === 'editTemplate' && channel === constants.EMAIL && templateData._id;
53
52
  isEmailEditWithContent = slidBoxContent === 'editTemplate' && channel === constants.EMAIL && !templateData._id;
@@ -117,6 +117,7 @@ class Creatives extends React.Component {
117
117
  this.setState(
118
118
  {
119
119
  isGetFormData: false,
120
+ templateData: template,
120
121
  },
121
122
  () => {
122
123
  const channel = this.state.templateData.type;
@@ -254,6 +254,7 @@ export class Create extends React.Component { // eslint-disable-line react/prefe
254
254
  value: result,
255
255
  postAction: value || 'next',
256
256
  validity: this.state.isFormValid,
257
+ type: 'SMS',
257
258
  };
258
259
  this.setState({checkValidation: true});
259
260
  console.log('posting final result internal', response);
@@ -16,7 +16,7 @@ import _ from 'lodash';
16
16
  import { bindActionCreators } from 'redux';
17
17
  import { Row, Select, Spin, Dropdown, Col, Breadcrumb, Menu, Modal} from 'antd';
18
18
  import { CapPopover, CapSelect } from '@capillarytech/cap-react-ui-library';
19
- import {CapButton, CapInput} from '@capillarytech/cap-ui-library';
19
+ import {CapButton, CapInput, CapIcon} from '@capillarytech/cap-ui-library';
20
20
  import { makeSelectTemplates, makeSelectTemplatesResponse } from './selectors';
21
21
  import { makeSelectCreate as makeSelectCreateSms} from '../Sms/Create/selectors';
22
22
  import { makeSelectCreate as makeSelectCreateMobilePush } from '../MobilePush/Create/selectors';
@@ -96,7 +96,7 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
96
96
  componentWillMount() {
97
97
  if (this.state.channel === '') {
98
98
  let channel = '';
99
- console.log('templates props', this.props);
99
+
100
100
  switch (this.props.route.name.toLowerCase()) {
101
101
  case "sms":
102
102
  channel = 'Sms';
@@ -151,11 +151,10 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
151
151
  // this.props.actions.getEdmDefaultTemplates();
152
152
  // }
153
153
  }
154
- console.log('added listener templates,', this.props);
154
+
155
155
  window.addEventListener("message", this.handleFrameTasks);
156
156
  }
157
157
  componentWillReceiveProps(nextProps) {
158
- console.log('nextProps templates', nextProps, this.props.Create);
159
158
  const params = {
160
159
  name: this.state.searchText,
161
160
  sortBy: this.state.sortBy,
@@ -185,7 +184,6 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
185
184
  } else if (nextProps.route.name.toLowerCase() === 'line') {
186
185
  channel = 'Line';
187
186
  }
188
- // console.log('Next Props details ', nextProps.route.name, channel);
189
187
  this.setState({ channel }, () => {
190
188
  if (this.state.channel.toLowerCase() === 'line' || this.state.channel.toLowerCase() === 'sms' || this.state.channel.toLowerCase() === 'email' || this.state.channel.toLowerCase() === 'ebill' || (this.state.channel.toLowerCase() === 'wechat' && !_.isEmpty(nextProps.Templates.selectedWeChatAccount))) {
191
189
  if (this.state.channel.toLowerCase() === 'wechat' && !_.isEmpty(nextProps.Templates.selectedWeChatAccount)) {
@@ -292,14 +290,12 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
292
290
  }
293
291
  if (!nextProps.Templates.deleteTemplateInProgress && !_.isEqual(nextProps.Templates.deleteTemplateInProgress, this.props.Templates.deleteTemplateInProgress) &&
294
292
  nextProps.Templates.deleteResponse) {
295
- console.log("delete");
296
293
  const message = getMessageObject('success', `${this.state.channel.toUpperCase()} ${this.props.intl.formatMessage(messages['Template deleted successfully'])}`, true);
297
294
  nextProps.globalActions.addMessageToQueue(message);
298
295
  this.getAllTemplates({params, resetPage: true});
299
296
  }
300
297
 
301
298
  if (!nextProps.Templates.sendingFile && !_.isEqual(this.props.Templates.sendingFile, nextProps.Templates.sendingFile) && !nextProps.Templates.errorSendingFile) {
302
- console.log('Got html Content ', nextProps.Templates.selectedEmailLayout);
303
299
  const module = this.props.location.query.module ? this.props.location.query.module : 'default';
304
300
  const isLanguageSupport = (this.props.location.query.isLanguageSupport) ? this.props.location.query.isLanguageSupport : true;
305
301
  const isEdmSupport = (this.props.location.query.isEdmSupport !== "false") || false;
@@ -346,15 +342,13 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
346
342
  }
347
343
 
348
344
  componentWillUnmount() {
349
- console.log('removed listener templates');
350
345
  window.removeEventListener("message", this.handleFrameTasks);
351
346
  this.props.actions.resetTemplateStoreData();
352
347
  this.props.globalActions.clearMetaEntities();
353
348
  // this.setState({defaultAccount: false});
354
349
  }
355
350
 
356
- onAccountSelect(value, option) {
357
- console.log('Selected Account ', value, option);
351
+ onAccountSelect(value) {
358
352
  this.setState({selectedAccount: value}, () => {
359
353
  const params = {
360
354
  name: this.state.searchText,
@@ -378,7 +372,7 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
378
372
  let queryParams = params;
379
373
  let page = this.state.page;
380
374
 
381
- console.log('Get all templates ', this.props.Templates.getAllTemplatesInProgress, resetPage, page, this.state.templatesCount, this.state.perPageLimit, getNextPage);
375
+
382
376
  if (resetTemplates) {
383
377
  queryParams.name = this.state.searchText;
384
378
  queryParams.sortBy = this.state.sortBy;
@@ -434,11 +428,10 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
434
428
  }
435
429
  locale = this.getMappedLocale(locale);
436
430
  //locale = 'zh';
437
- console.log('Setting final locale as', locale);
431
+
438
432
  moment.locale(locale);
439
433
  };
440
434
  getCurrentWindow(e) {
441
- console.log('in sms templates', e);
442
435
  const response = {
443
436
  action: e.action,
444
437
  value: 'templates',
@@ -457,7 +450,6 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
457
450
  return creativesMode;
458
451
  }
459
452
  skipTemplateSelection = (e) => {
460
- console.log("vvv", e);
461
453
  const type = this.props.location.query.type;
462
454
  const module = (type === 'embedded') ? this.props.location.query.module : 'default';
463
455
  let routeParams = {};
@@ -492,12 +484,9 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
492
484
  }
493
485
 
494
486
  handleMenuAction = (item, key) => {
495
- console.log('Menu Clicked ', item.key, key);
496
487
  if (item.key.toLowerCase() === 'uploadfile') {
497
488
  document.getElementById('filename').click();
498
- console.log('Upload File');
499
489
  } else if (item.key.toLowerCase() === 'useeditor') {
500
- console.log('Use Editor');
501
490
  this.toggleEdmEmailTemplateSelection();
502
491
  }
503
492
  };
@@ -535,13 +524,11 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
535
524
  const module = this.props.location.query.module ? this.props.location.query.module : 'default';
536
525
  const isLanguageSupport = (this.props.location.query.isLanguageSupport) ? this.props.location.query.isLanguageSupport : true;
537
526
  const isEdmSupport = (this.props.location.query.isEdmSupport !== "false") || false;
538
- console.log('File Params ', fileExtension);
527
+
539
528
  if (supportedZipFormats.indexOf(fileExtension.toLowerCase()) !== -1) {
540
- console.log('Zip Format got');
541
529
  this.props.actions.handleZipUpload(files[0]);
542
530
  document.getElementById("filename").value = "";
543
531
  } else if (fileExtension === 'html' || fileExtension === 'htm') {
544
- console.log('html Format got');
545
532
  const reader = new FileReader();
546
533
  reader.onload = () => {
547
534
  const text = reader.result;
@@ -566,7 +553,7 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
566
553
 
567
554
  mapWechatTemplate() {
568
555
  // const index = _.findIndex(this.props.Templates.weCRMtemplates, {template_id: key});
569
- // console.log('Wechat menu clicked ', item, key, index);
556
+ //
570
557
  const type = this.props.location.query.type;
571
558
  this.setState({routeParams: {
572
559
  pathname: `/wechat/create`,
@@ -666,17 +653,15 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
666
653
  return result;
667
654
  }
668
655
  startLoading(ifEdit) {
669
- console.log('startLoading', ifEdit);
670
656
  if (ifEdit) {
671
657
  this.setState({loading: true});
672
658
  }
673
659
  }
674
660
 
675
661
  startTemplateCreation(data) {
676
- console.log('startTemplateCreation');
677
662
  if (data.edit) {
678
663
  const ifUnicode = checkUnicode(data.content);
679
- console.log('smsDetails', ifUnicode, data.content);
664
+
680
665
  const content = data.content;
681
666
  const tempData = {
682
667
  'sms-editor': content,
@@ -691,10 +676,8 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
691
676
  }
692
677
 
693
678
  handleFrameTasks = (e) => {
694
- console.log('data listened to is 222', e.data, e);
695
679
  const type = e.data;
696
680
  if (typeof type === 'object') {
697
- console.log('received something', type);
698
681
  const action = type.action;
699
682
  switch (action) {
700
683
  case "startTemplateCreation":
@@ -718,11 +701,11 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
718
701
  this.getFormData(e);
719
702
  break;
720
703
  case "startTemplateCreation":
721
- console.log('Starting to create template');
704
+
722
705
  //this.getFormData(e);
723
706
  break;
724
707
  case "validateContent":
725
- console.log('validating Content');
708
+
726
709
  this.validateContent(e);
727
710
  break;
728
711
  default:
@@ -753,7 +736,6 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
753
736
  }
754
737
 
755
738
  searchTemplate(data) {
756
- console.log('searching template', data);
757
739
  this.setState({searchText: data}, () => {
758
740
  const params = {
759
741
  name: this.state.searchText,
@@ -805,14 +787,12 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
805
787
  if (this.state.channel.toLowerCase() === 'ebill' || this.state.channel.toLowerCase() === 'email') {
806
788
  this.toggleEmailPreview();
807
789
  } else {
808
- console.log('toggle Preview ', this.state.previewOpen);
809
790
  this.setState( (prevState) => ({
810
791
  previewOpen: !prevState.previewOpen}));
811
792
  }
812
793
  }
813
794
 
814
795
  toggleEdmEmailTemplateSelection = () => {
815
- console.log('toggle Selection ', this.state.showEdmEmailTemplates);
816
796
  this.setState( (prevState) => ({
817
797
  showEdmEmailTemplates: !prevState.showEdmEmailTemplates}), () => {
818
798
  this.props.actions.getEdmDefaultTemplates();
@@ -820,13 +800,11 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
820
800
  };
821
801
 
822
802
  deleteTemplate(template) {
823
- console.log('deleting template', template);
824
803
  this.props.actions.deleteTemplate(this.state.channel.toUpperCase(), template._id);
825
804
  this.setState({actionTemplate: {}});
826
805
  }
827
806
 
828
807
  duplicateTemplate(template) {
829
- console.log('dup template', template);
830
808
  const duplicateObj = _.cloneDeep(template);
831
809
  duplicateObj.name = `Copy of ${template.name} ${moment().format('MM-DD-YYYY hh:mma')}`;
832
810
  delete duplicateObj._id;
@@ -845,7 +823,6 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
845
823
  }
846
824
 
847
825
  handleOnHoverItem(isHovering, id) {
848
- console.log('parent handle hover', isHovering, id);
849
826
  if (isHovering) {
850
827
  this.setState({hoveredItem: id});
851
828
  } else {
@@ -854,7 +831,6 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
854
831
  }
855
832
 
856
833
  handleOnItemClick(isClicked, id) {
857
- console.log('parent handle click', isClicked, id);
858
834
  this.setState({clickedItem: id});
859
835
  }
860
836
 
@@ -866,7 +842,7 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
866
842
  const isLanguageSupport = (this.props.location.query.isLanguageSupport) ? this.props.location.query.isLanguageSupport : true;
867
843
  const isEdmSupport = (this.props.location.query.isEdmSupport !== "false") || false;
868
844
  let getQuery = '';
869
- console.log('Selected EDM Data ', data);
845
+
870
846
  this.props.actions.setEdmTemplate(data);
871
847
  if (this.state.channel && this.state.channel.toLowerCase() === 'email') {
872
848
  getQuery = (type === 'embedded') ? {type: 'embedded', module, isLanguageSupport, isEdmSupport} : {module, isLanguageSupport, isEdmSupport};
@@ -885,7 +861,6 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
885
861
  };
886
862
 
887
863
  handleEditClick(e, id, modeType) {
888
- console.log('inside props****', this.props);
889
864
  if (modeType && modeType !== undefined) {
890
865
  this.setState({modeType});
891
866
  }
@@ -894,9 +869,9 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
894
869
  const isLanguageSupport = (this.props.location.query.isLanguageSupport) ? this.props.location.query.isLanguageSupport : false;
895
870
  const isEdmSupport = (this.props.location.query.isEdmSupport !== "false") || false;
896
871
  let getQuery = "";
897
- console.log('type**** ', type);
872
+
898
873
  e.stopPropagation();
899
- console.log('clicked', id);
874
+
900
875
  this.props.actions.resetTemplateData();
901
876
  let pathName = `/${this.state.channel === 'wechat' ? 'wechat' : 'sms'}/edit/${id}`;
902
877
  if (this.state.channel.toLowerCase() === 'mobilepush') {
@@ -942,7 +917,6 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
942
917
  templateInfo.content = template.versions.base;
943
918
  templateInfo.appName = this.props.Templates.selectedWeChatAccount.name;
944
919
  } else if (this.state.channel.toLowerCase() === "email") {
945
- console.log('Test ', template);
946
920
  this.props.actions.getTemplateDetails(template._id);
947
921
  } else if (this.state.channel.toLowerCase() === 'ebill') {
948
922
  this.props.actions.getTemplateDetails(template._id);
@@ -1016,26 +990,11 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
1016
990
  content,
1017
991
  }
1018
992
  );
1019
- } /*else if (type === 'embedded' && this.state.channel.toLowerCase() === "mobilepush") {
1020
- items.push({
1021
- id: 'blankTemplate',
1022
- content: <div className={this.state.clickedItem === 'blankTemplate' ? 'sms-text-blurred' : ''}>
1023
- <div>
1024
- <div
1025
- style={{textAlign: 'center', lineHeight: '260px'}}
1026
- className="sms-text">{this.props.intl.formatMessage(messages.blankTemplate)}</div>
1027
- </div>
1028
- {this.state.clickedItem === 'blankTemplate' && <CapButton
1029
- onClick={() => { this.createTemplate({key: 'text'}); }} key="text" className="edit-button" type="secondary">Text</CapButton>}
1030
- {this.state.clickedItem === 'blankTemplate' && <CapButton
1031
- onClick={() => { this.createTemplate({key: 'image'}); }} key="image" className="preview-button" type="secondary">image</CapButton>}
1032
- </div>,
1033
- });
1034
- }*/
993
+ }
1035
994
  data.map( (template) => {
1036
- // console.log("Templates ", template._id, " Data ", template);
995
+ //
1037
996
  const temp = {};
1038
- // console.log('template ', template);
997
+ //
1039
998
  const updateDateTime = (moment().format('DD-MM-YYYY') === moment(template.updatedAt).format('DD-MM-YYYY')) ? moment(template.updatedAt).format('hh:mma') : moment(template.updatedAt).format('DD MMM YYYY');
1040
999
  let content = '';
1041
1000
  temp.id = template._id;
@@ -1051,12 +1010,12 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
1051
1010
  {template._id === this.state.hoveredItem ? <CapButton onClick={() => this.handlePreviewClick(template)} className="preview-button" type="cancel">{this.props.intl.formatMessage(messages.previewButton)}</CapButton> : ''}
1052
1011
  </div>);
1053
1012
  } else if (this.state.channel.toLowerCase() === 'email' || this.state.channel.toLowerCase() === 'ebill') {
1054
- // console.log('Data Prepare');
1055
- console.log('Data Prepare');
1013
+ //
1014
+
1056
1015
  const imgSrc = template && template.versions && template.versions.base ? template.versions.base.preview_http_url : '';
1057
1016
  const ifPreviewGenerated = template && template.versions && template.versions.base ? template.versions.base.isPreviewGenerated : 0;
1058
1017
  content = <img src={imgSrc || ''} alt={this.props.intl.formatMessage(messages.previewGenerateText)} width="100%" height="100%"/>;
1059
- console.log('qwerty template preview', imgSrc, template, ifPreviewGenerated, content);
1018
+
1060
1019
  temp.content = (
1061
1020
  <div
1062
1021
  className="sms-template-content">
@@ -1224,7 +1183,6 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
1224
1183
  }
1225
1184
 
1226
1185
  render() {
1227
- console.log('templates props', this.props);
1228
1186
  let pageHeaderText = '';
1229
1187
  const moduleName = this.props.location.query.module;
1230
1188
  if (this.props.location.query.type !== 'embedded') {
@@ -1242,37 +1200,13 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
1242
1200
  pageHeaderText = this.props.intl.formatMessage(messages.lineHeader);
1243
1201
  }
1244
1202
  }
1245
- // const options = [
1246
- // {
1247
- // value: "Most Recent",
1248
- // label: this.props.intl.formatMessage(messages.mostRecentOption),
1249
- // },
1250
- // {
1251
- // value: "Alphabetically",
1252
- // label: this.props.intl.formatMessage(messages.alphabeticallyOption),
1253
- // },
1254
- // ];
1255
- // const typeOptions = [
1256
- // {
1257
- // value: "All",
1258
- // label: "All",
1259
- // },
1260
- // {
1261
- // label: "Text",
1262
- // value: 'Text',
1263
- // },
1264
- // {
1265
- // label: "Image",
1266
- // value: "Image",
1267
- // },
1268
- // ];
1269
1203
  const filterContent = (
1270
1204
  <div className="action-container">
1271
1205
  <CapInput
1272
1206
  className="search-text"
1273
1207
  style={{width: '210px'}}
1274
1208
  placeholder={this.props.intl.formatMessage(messages.searchText)}
1275
- prefix={<i className="material-icons" style={{ margin: '0', fontSize: '16px'}}>search</i>}
1209
+ prefix={<CapIcon type="search" size="s"/>}
1276
1210
  value={this.state.searchText}
1277
1211
  onChange={(e) => this.searchTemplate(e.target.value)}
1278
1212
  />
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@capillarytech/creatives-library",
3
3
  "author": "meharaj",
4
- "version": "2.0.24",
4
+ "version": "2.0.26",
5
5
  "description": "Capillary creatives ui",
6
6
  "main": "./index.js",
7
7
  "module": "./index.es.js",