@capillarytech/creatives-library 2.0.33 → 2.0.35

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.
@@ -24,6 +24,7 @@ import '../Create/_smsCreate.scss';
24
24
  import messages from './messages';
25
25
  import * as globalActions from '../../../containers/Cap/actions';
26
26
  import {getMessageObject} from '../../../utils/messageUtils';
27
+ import * as creativesContainerActions from '../../CreativesContainer/actions';
27
28
  // import callNativeEvent from '../../../utils/callNativeEvent';
28
29
 
29
30
  export class Edit extends React.Component { // eslint-disable-line react/prefer-stateless-function
@@ -84,7 +85,6 @@ export class Edit extends React.Component { // eslint-disable-line react/prefer-
84
85
  }
85
86
 
86
87
  componentWillMount() {
87
- console.log('edit mounting');
88
88
  const query = {
89
89
  layout: 'SMS',
90
90
  type: 'LAYOUT',
@@ -148,7 +148,6 @@ export class Edit extends React.Component { // eslint-disable-line react/prefer-
148
148
  }
149
149
  }
150
150
  if (nextProps.Edit.editResponse && nextProps.Edit.editResponse.templateId) {
151
- console.log('reseting schema');
152
151
  this.resetSchema();
153
152
  this.setState({
154
153
  formData: {},
@@ -177,7 +176,7 @@ export class Edit extends React.Component { // eslint-disable-line react/prefer-
177
176
  delete injectedTags["Store custom fields"];
178
177
  delete injectedTags["Transaction custom fields"];
179
178
  injectedTags = _.merge({}, injectedTags, nextProps.metaEntities.tags.custom);
180
- console.log('new injected tags', nextProps.metaEntities.tags.custom);
179
+
181
180
  if (!_.has(nextProps.metaEntities.tags.custom, "Registration custom fields")) {
182
181
  delete injectedTags["Registration custom fields"];
183
182
  }
@@ -196,15 +195,14 @@ export class Edit extends React.Component { // eslint-disable-line react/prefer-
196
195
  }
197
196
 
198
197
  onTemplateNameChange(name) {
199
- console.log('Template name changed to ', name);
198
+
200
199
  }
201
200
 
202
201
  onTemplateContentChange(content) {
203
- console.log('Template content changed to ', content);
202
+
204
203
  }
205
204
 
206
205
  onFormDataChange(formData, tabCount, currentTab) {
207
- console.log('Form data changed is ', formData, tabCount, currentTab);
208
206
  this.setState({formData, tabCount, currentTab});
209
207
  if (currentTab) {
210
208
  this.setState({currentTab});
@@ -212,18 +210,16 @@ export class Edit extends React.Component { // eslint-disable-line react/prefer-
212
210
  }
213
211
 
214
212
  onVersionNameChange(data, versionIndex) {
215
- console.log('version name changed to', data, versionIndex);
213
+
216
214
  }
217
215
 
218
216
  onTagSelect(data, currentTab) {
219
- console.log('parent data tag', data, currentTab);
220
217
  const editorId = currentTab > 1 ? `sms-editor${currentTab}` : 'sms-editor';
221
218
  this.insertAtCursor(document.getElementById(editorId), `{{${data}}}`, currentTab);
222
219
  document.getElementById(editorId).focus();
223
220
  }
224
221
 
225
222
  onTabChange(data) {
226
- console.log('inside parent ontabchange', data, this.state);
227
223
  this.setState({currentTab: data});
228
224
  }
229
225
 
@@ -247,7 +243,6 @@ export class Edit extends React.Component { // eslint-disable-line react/prefer-
247
243
  }
248
244
  if (type === 'embedded' || count > 0) {
249
245
  setTimeout( () => {
250
- console.log('removing standalone');
251
246
  if (type === 'embedded' && !_.isEmpty(that.state.formData)) {
252
247
  that.removeStandAlone();
253
248
  } else {
@@ -263,7 +258,7 @@ export class Edit extends React.Component { // eslint-disable-line react/prefer-
263
258
  formData[0].base = true;
264
259
  }
265
260
  formData.base = data.versions.base;
266
- console.log('form data after discarding ', formData);
261
+
267
262
  this.setState({tabCount, formData, editData: data, currentTab}, () => {
268
263
  });
269
264
  }
@@ -273,12 +268,10 @@ export class Edit extends React.Component { // eslint-disable-line react/prefer-
273
268
  }
274
269
 
275
270
  getFormData(e, value) {
276
- console.log('posting final result', this.state.formData);
277
271
  const formData = _.cloneDeep(this.state.formData);
278
272
  let baseData = {};
279
273
  let versionIdx;
280
274
  _.forEach(formData, (val, idx) => {
281
- console.log('val', val);
282
275
  if (val.base && idx !== 'base') {
283
276
  baseData = val;
284
277
  versionIdx = idx;
@@ -292,7 +285,7 @@ export class Edit extends React.Component { // eslint-disable-line react/prefer-
292
285
  result.base = baseData;
293
286
  const msgObj = updateCharCount(baseData['sms-editor']);
294
287
  result.base.msg_count = msgObj.msgCount;
295
- console.log("Message Count", msgObj.msgCount);
288
+
296
289
  const response = {
297
290
  action: "getFormData",
298
291
  value: result,
@@ -300,8 +293,8 @@ export class Edit extends React.Component { // eslint-disable-line react/prefer-
300
293
  validity: this.state.isFormValid,
301
294
  type: 'SMS',
302
295
  };
303
- this.setState({checkValidation: true});
304
- console.log('posting final result internal', response);
296
+ this.setState({checkValidation: true, loading: true});
297
+
305
298
  if (e) {
306
299
  e.source.postMessage(JSON.stringify(response), e.origin);
307
300
  }
@@ -309,7 +302,6 @@ export class Edit extends React.Component { // eslint-disable-line react/prefer-
309
302
  }
310
303
 
311
304
  getCurrentWindow(e) {
312
- console.log('in sms create', e);
313
305
  const response = {
314
306
  action: e.action,
315
307
  value: 'edit',
@@ -370,7 +362,6 @@ export class Edit extends React.Component { // eslint-disable-line react/prefer-
370
362
  }
371
363
 
372
364
  handleOnTagsContextChange = (data) => {
373
- console.log('parent tags context', data);
374
365
  const query = {
375
366
  layout: 'SMS',
376
367
  type: 'TAG',
@@ -389,10 +380,9 @@ export class Edit extends React.Component { // eslint-disable-line react/prefer-
389
380
  }
390
381
 
391
382
  startTemplateCreation(data) {
392
- console.log('startTemplateCreation');
393
383
  if (data.edit) {
394
384
  const ifUnicode = checkUnicode(data.content);
395
- console.log('smsDetails', ifUnicode, data.content);
385
+
396
386
  const content = data.content;
397
387
  const tempData = {
398
388
  'sms-editor': content,
@@ -409,14 +399,12 @@ export class Edit extends React.Component { // eslint-disable-line react/prefer-
409
399
  }
410
400
 
411
401
  startLoading(ifEdit) {
412
- console.log('startLoading', ifEdit);
413
402
  if (ifEdit) {
414
403
  this.setState({loading: true});
415
404
  }
416
405
  }
417
406
 
418
407
  moveToTemplates() {
419
- console.log('in move to Templates');
420
408
  const modalContent = {
421
409
  title: "Alert",
422
410
  body: "Do you really want to go back? All your temporary changes will be lost!",
@@ -433,7 +421,6 @@ export class Edit extends React.Component { // eslint-disable-line react/prefer-
433
421
  }
434
422
 
435
423
  discardValues() {
436
- console.log('discarding', this.props.Edit);
437
424
  this.resetSchema();
438
425
  this.setState({
439
426
  formData: {},
@@ -462,15 +449,13 @@ export class Edit extends React.Component { // eslint-disable-line react/prefer-
462
449
  }
463
450
  }
464
451
  if (isValid) {
465
- console.log('isValid');
466
452
  return true;
467
453
  }
468
- console.log('not valid');
454
+
469
455
  return false;
470
456
  }
471
457
 
472
458
  injectEvents(schema) {
473
- console.log('now injecting events in edit');
474
459
  const temp = schema;
475
460
  temp.standalone.sections = this.injectSections(temp.standalone.sections);
476
461
  _.forEach(temp.containers, (container) => {
@@ -513,7 +498,7 @@ export class Edit extends React.Component { // eslint-disable-line react/prefer-
513
498
  _.forEach(col.supportedEvents, (event) => {
514
499
  temp.injectedEvents[event] = this.getMappedEvent(col.id, event);
515
500
  });
516
- console.log('should translate multicol', temp);
501
+
517
502
  temp = this.injectMessages(temp);
518
503
  return true;
519
504
  });
@@ -530,7 +515,7 @@ export class Edit extends React.Component { // eslint-disable-line react/prefer-
530
515
  _.forEach(col.supportedEvents, (event) => {
531
516
  temp.injectedEvents[event] = this.getMappedEvent(col.id, event);
532
517
  });
533
- console.log('should translate multicol action', temp);
518
+
534
519
  temp = this.injectMessages(temp);
535
520
  return true;
536
521
  });
@@ -550,7 +535,7 @@ export class Edit extends React.Component { // eslint-disable-line react/prefer-
550
535
  _.forEach(inputField.supportedEvents, (event) => {
551
536
  temp.injectedEvents[event] = this.getMappedEvent(inputField.id, event);
552
537
  });
553
- console.log('should translate collabel', temp);
538
+
554
539
  temp = this.injectMessages(temp);
555
540
  return true;
556
541
  });
@@ -565,7 +550,7 @@ export class Edit extends React.Component { // eslint-disable-line react/prefer-
565
550
  _.forEach(actionField.supportedEvents, (event) => {
566
551
  temp.injectedEvents[event] = this.getMappedEvent(actionField.id, event);
567
552
  });
568
- console.log('should translate collabel action', temp);
553
+
569
554
  temp = this.injectMessages(temp);
570
555
  return true;
571
556
  });
@@ -675,17 +660,15 @@ export class Edit extends React.Component { // eslint-disable-line react/prefer-
675
660
  }
676
661
 
677
662
  renameVersion(data, currentTab) {
678
- console.log('renaming version', data, currentTab);
663
+
679
664
  }
680
665
 
681
666
  markFinalVersion(data, currentTab) {
682
667
  const message = getMessageObject('success', 'Template Marked as Final Successfully', true);
683
668
  this.props.globalActions.addMessageToQueue(message);
684
- console.log('markFinal version', data, currentTab);
685
669
  }
686
670
 
687
671
  duplicateVersion(data, currentTab) {
688
- console.log('duplicate version', data, currentTab);
689
672
  this.addVersion(this.state.tabCount);
690
673
  }
691
674
 
@@ -699,7 +682,6 @@ export class Edit extends React.Component { // eslint-disable-line react/prefer-
699
682
  }
700
683
 
701
684
  addVersion(data, addNow) {
702
- console.log('adding version', data);
703
685
  let tabIndex = data + 1;
704
686
  const schema = _.cloneDeep(this.state.schema);
705
687
  const containers = schema.containers.slice();
@@ -723,7 +705,7 @@ export class Edit extends React.Component { // eslint-disable-line react/prefer-
723
705
  });
724
706
  firstPane.sections = sections;
725
707
  schema.containers[0].panes.push(firstPane);
726
- console.log('adding version tabIndex', tabIndex, tabIndex === 5, schema.containers[0].tabBarExtraContent.sections[0].actionFields[0].cols);
708
+
727
709
  if (tabIndex === 5) {
728
710
  schema.containers[0].tabBarExtraContent.sections[0].actionFields[0].cols[0].disabled = true;
729
711
  }
@@ -748,7 +730,7 @@ export class Edit extends React.Component { // eslint-disable-line react/prefer-
748
730
  });
749
731
  firstPane.sections = sections;
750
732
  schema.containers[0].panes.push(firstPane);
751
- console.log('adding version tabIndex', tabIndex, tabIndex === 5, schema.containers[0].tabBarExtraContent.sections[0].actionFields[0].cols);
733
+
752
734
  if (tabIndex === 5) {
753
735
  schema.containers[0].tabBarExtraContent.sections[0].actionFields[0].cols[0].disabled = true;
754
736
  }
@@ -783,10 +765,8 @@ export class Edit extends React.Component { // eslint-disable-line react/prefer-
783
765
  }
784
766
 
785
767
  handleFrameTasks = (e) => {
786
- console.log('data listened to is', e.data);
787
768
  const type = e.data;
788
769
  if (typeof type === 'object') {
789
- console.log('received something', type);
790
770
  const action = type.action;
791
771
  switch (action) {
792
772
  case "startTemplateCreation":
@@ -810,15 +790,15 @@ export class Edit extends React.Component { // eslint-disable-line react/prefer-
810
790
  this.getFormData(e);
811
791
  break;
812
792
  case "startTemplateCreation":
813
- console.log('Starting to create template');
793
+
814
794
  //this.getFormData(e);
815
795
  break;
816
796
  case "moveToTemplates":
817
- console.log('moving to templates');
797
+
818
798
  this.moveToTemplates();
819
799
  break;
820
800
  case "validateContent":
821
- console.log('validating Content');
801
+
822
802
  this.validateContent(e);
823
803
  break;
824
804
  default:
@@ -828,7 +808,7 @@ export class Edit extends React.Component { // eslint-disable-line react/prefer-
828
808
 
829
809
  removeStandAlone() {
830
810
  let formData = _.cloneDeep(this.state.formData);
831
- console.log('removing standalone 2', formData);
811
+
832
812
  let baseFormData = {};
833
813
  const oldBaseKeys = formData[0];
834
814
  let baseIndex = -1;
@@ -871,12 +851,11 @@ export class Edit extends React.Component { // eslint-disable-line react/prefer-
871
851
  temp.panes.push(basePane);
872
852
  }
873
853
  });
874
- console.log('final data after removing', formData);
854
+
875
855
  this.setState({ schema, loadingStatus: this.state.loadingStatus + 1, formData, tabCount: 1, tabKey: formData.base.tabKey, currentTab: 1 });
876
856
  }
877
857
 
878
858
  validateContent = (e) => {
879
- console.log('posting final validation result', this.state.isFormValid);
880
859
  const response = {
881
860
  action: "validateContent",
882
861
  value: this.state.isFormValid,
@@ -896,7 +875,7 @@ export class Edit extends React.Component { // eslint-disable-line react/prefer-
896
875
 
897
876
  saveFormData(formData) {
898
877
  //Logic to save in db etc
899
- console.log('Saving form data', formData, this.state.tabCount);
878
+
900
879
  const obj = _.cloneDeep(this.state.editData);
901
880
  obj.versions = {
902
881
  base: {},
@@ -907,7 +886,7 @@ export class Edit extends React.Component { // eslint-disable-line react/prefer-
907
886
  }
908
887
  obj.name = formData['template-name'];
909
888
  obj.versions.base = formData.base;
910
- console.log('edit obj', obj);
889
+
911
890
  this.props.actions.editTemplate(obj);
912
891
  }
913
892
  isSmsLoading = () => {
@@ -917,6 +896,9 @@ export class Edit extends React.Component { // eslint-disable-line react/prefer-
917
896
  if (!isLoading) {
918
897
  isLoading = this.state.loadingStatus < 3;
919
898
  }
899
+ if (isLoading) {
900
+ this.props.creativesContainerActions.hideCreativesContanerLoader();
901
+ }
920
902
  return isLoading;
921
903
  }
922
904
  render() {
@@ -986,6 +968,7 @@ Edit.propTypes = {
986
968
  supportedTags: PropTypes.array,
987
969
  getDefaultTags: PropTypes.string,
988
970
  isLoadingMetaEntities: PropTypes.bool,
971
+ creativesContainerActions: PropTypes.object,
989
972
  };
990
973
 
991
974
  const mapStateToProps = createStructuredSelector({
@@ -1000,6 +983,7 @@ function mapDispatchToProps(dispatch) {
1000
983
  return {
1001
984
  actions: bindActionCreators(actions, dispatch),
1002
985
  globalActions: bindActionCreators(globalActions, dispatch),
986
+ creativesContainerActions: bindActionCreators(creativesContainerActions, dispatch),
1003
987
  };
1004
988
  }
1005
989
 
@@ -8,15 +8,13 @@ import PropTypes from 'prop-types';
8
8
 
9
9
  import React from 'react';
10
10
  import { connect } from 'react-redux';
11
- import Helmet from 'react-helmet';
12
11
  import { FormattedMessage, injectIntl, intlShape } from 'react-intl';
13
12
  import { createStructuredSelector } from 'reselect';
14
13
  import moment from "moment";
15
14
  import _ from 'lodash';
16
15
  import { bindActionCreators } from 'redux';
17
- import { Row, Select, Spin, Dropdown, Col, Breadcrumb, Menu, Modal} from 'antd';
18
- import { CapPopover, CapSelect } from '@capillarytech/cap-react-ui-library';
19
- import {CapButton, CapInput, CapIcon} from '@capillarytech/cap-ui-library';
16
+ import { Row, Select, Spin, Dropdown, Menu, Modal} from 'antd';
17
+ import {CapButton, CapInput, CapIcon, CapSelect, CapPopover} from '@capillarytech/cap-ui-library';
20
18
  import { makeSelectTemplates, makeSelectTemplatesResponse } from './selectors';
21
19
  import { makeSelectCreate as makeSelectCreateSms} from '../Sms/Create/selectors';
22
20
  import { makeSelectCreate as makeSelectCreateMobilePush } from '../MobilePush/Create/selectors';
@@ -47,7 +45,6 @@ import EmailPreview from '../../components/EmailPreview';
47
45
  import CreativesContainer from '../CreativesContainer';
48
46
  const MenuItem = Menu.Item;
49
47
  const Option = Select.Option;
50
- const BreadcrumbItem = Breadcrumb.Item;
51
48
 
52
49
  export class Templates extends React.Component { // eslint-disable-line react/prefer-stateless-function
53
50
  constructor(props) {
@@ -138,6 +135,7 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
138
135
  if (this.state.channel.toLowerCase() === 'wechat' && !_.isEmpty(this.props.Templates.selectedWeChatAccount)) {
139
136
  queryParams.wecrmId = this.props.Templates.selectedWeChatAccount.configs.wecrm_app_id;
140
137
  queryParams.wecrmToken = this.props.Templates.selectedWeChatAccount.configs.wecrm_token;
138
+ queryParams.originalId = this.props.Templates.selectedWeChatAccount.sourceAccountIdentifier;
141
139
  }
142
140
  if (this.state.channel.toLowerCase() === "mobilepush" && !_.isEmpty(this.props.Templates.selectedWeChatAccount)) {
143
141
  queryParams.accountId = this.props.Templates.selectedWeChatAccount.id;
@@ -189,6 +187,7 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
189
187
  if (this.state.channel.toLowerCase() === 'wechat' && !_.isEmpty(nextProps.Templates.selectedWeChatAccount)) {
190
188
  params.wecrmId = nextProps.Templates.selectedWeChatAccount.configs.wecrm_app_id;
191
189
  params.wecrmToken = nextProps.Templates.selectedWeChatAccount.configs.wecrm_token;
190
+ params.originalId = nextProps.Templates.selectedWeChatAccount.sourceAccountIdentifier;
192
191
  }
193
192
  if (this.state.channel.toLowerCase() === "mobilepush" && !_.isEmpty(nextProps.Templates.selectedWeChatAccount)) {
194
193
  params.accountId = nextProps.Templates.selectedWeChatAccount.id;
@@ -200,6 +199,7 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
200
199
  if (this.state.channel.toLowerCase() === 'wechat' && nextProps.Templates.selectedWeChatAccount) {
201
200
  params.wecrmId = nextProps.Templates.selectedWeChatAccount.configs.wecrm_app_id;
202
201
  params.wecrmToken = nextProps.Templates.selectedWeChatAccount.configs.wecrm_token;
202
+ params.originalId = nextProps.Templates.selectedWeChatAccount.sourceAccountIdentifier;
203
203
  }
204
204
  if (this.state.channel.toLowerCase() === "mobilepush" && nextProps.Templates.selectedWeChatAccount) {
205
205
  params.accountId = nextProps.Templates.selectedWeChatAccount.id;
@@ -220,6 +220,7 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
220
220
  this.setState({selectedAccount: selectedAccount.name}, () => {
221
221
  params.wecrmId = selectedAccount.configs.wecrm_app_id;
222
222
  params.wecrmToken = selectedAccount.configs.wecrm_token;
223
+ params.originalId = selectedAccount.sourceAccountIdentifier;
223
224
  nextProps.actions.setWeChatAccount(selectedAccount);
224
225
  this.getAllTemplates({params});
225
226
  });
@@ -331,6 +332,7 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
331
332
  if (this.state.channel.toLowerCase() === 'wechat') {
332
333
  paramsDefault.wecrmId = nextProps.Templates.weCrmAccounts[0].configs.wecrm_app_id;
333
334
  paramsDefault.wecrmToken = nextProps.Templates.weCrmAccounts[0].configs.wecrm_token;
335
+ paramsDefault.originalId = nextProps.Templates.weCrmAccounts[0].sourceAccountIdentifier;
334
336
  nextProps.actions.setWeChatAccount(nextProps.Templates.weCrmAccounts[0]);
335
337
  } else if (this.state.channel.toLowerCase() === 'mobilepush') {
336
338
  nextProps.actions.setWeChatAccount(nextProps.Templates.weCrmAccounts[0]);
@@ -358,10 +360,12 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
358
360
  params.wecrmId = this.props.Templates.weCrmAccounts[_.findIndex(this.props.Templates.weCrmAccounts, { name: value})].configs.wecrm_app_id;
359
361
  params.wecrmToken = this.props.Templates.weCrmAccounts[_.findIndex(this.props.Templates.weCrmAccounts, { name: value})].configs.wecrm_token;
360
362
  this.props.actions.setWeChatAccount(this.props.Templates.weCrmAccounts[_.findIndex(this.props.Templates.weCrmAccounts, { name: value})]);
363
+ params.originalId = this.props.Templates.weCrmAccounts[_.findIndex(this.props.Templates.weCrmAccounts, { name: value})].sourceAccountIdentifier;
361
364
  } else if (this.state.channel.toLowerCase() === 'mobilepush') {
362
365
  this.props.actions.setWeChatAccount(this.props.Templates.weCrmAccounts[_.findIndex(this.props.Templates.weCrmAccounts, { name: value})]);
363
366
  params.accountId = this.props.Templates.weCrmAccounts[_.findIndex(this.props.Templates.weCrmAccounts, { name: value})].id;
364
367
  }
368
+ console.log("getAllTemplates params: ", params);
365
369
  this.getAllTemplates({params, resetPage: true});
366
370
  });
367
371
  }
@@ -371,8 +375,6 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
371
375
  getAllTemplates = ({params, getNextPage, resetPage}, resetTemplates) => {
372
376
  let queryParams = params;
373
377
  let page = this.state.page;
374
-
375
-
376
378
  if (resetTemplates) {
377
379
  queryParams.name = this.state.searchText;
378
380
  queryParams.sortBy = this.state.sortBy;
@@ -397,6 +399,7 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
397
399
  if (this.state.channel.toLowerCase() === 'wechat' && !_.isEmpty(this.props.Templates.selectedWeChatAccount)) {
398
400
  queryParams.wecrmId = this.props.Templates.selectedWeChatAccount.configs.wecrm_app_id;
399
401
  queryParams.wecrmToken = this.props.Templates.selectedWeChatAccount.configs.wecrm_token;
402
+ queryParams.originalId = this.props.Templates.selectedWeChatAccount.sourceAccountIdentifier;
400
403
  }
401
404
  if (this.state.channel.toLowerCase() === "mobilepush" && !_.isEmpty(this.props.Templates.selectedWeChatAccount)) {
402
405
  queryParams.accountId = this.props.Templates.selectedWeChatAccount.id;
@@ -744,6 +747,7 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
744
747
  if (this.state.channel.toLowerCase() === 'wechat') {
745
748
  params.wecrmId = this.props.Templates.selectedWeChatAccount.configs.wecrm_app_id;
746
749
  params.wecrmToken = this.props.Templates.selectedWeChatAccount.configs.wecrm_token;
750
+ params.originalId = this.props.Templates.selectedWeChatAccount.sourceAccountIdentifier;
747
751
  }
748
752
  if (this.state.channel.toLowerCase() === "mobilepush") {
749
753
  params.accountId = this.props.Templates.selectedWeChatAccount.id;
@@ -761,6 +765,7 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
761
765
  if (this.state.channel.toLowerCase() === 'wechat') {
762
766
  params.wecrmId = this.props.Templates.selectedWeChatAccount.configs.wecrm_app_id;
763
767
  params.wecrmToken = this.props.Templates.selectedWeChatAccount.configs.wecrm_token;
768
+ params.originalId = this.props.Templates.selectedWeChatAccount.sourceAccountIdentifier;
764
769
  }
765
770
  if (this.state.channel.toLowerCase() === "mobilepush") {
766
771
  params.accountId = this.props.Templates.selectedWeChatAccount.id;
@@ -1183,23 +1188,6 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
1183
1188
  }
1184
1189
 
1185
1190
  render() {
1186
- let pageHeaderText = '';
1187
- const moduleName = this.props.location.query.module;
1188
- if (this.props.location.query.type !== 'embedded') {
1189
- if (this.state.channel.toUpperCase() === 'WECHAT') {
1190
- pageHeaderText = this.props.intl.formatMessage(messages.wechatHeader);
1191
- } else if (this.state.channel.toUpperCase() === 'SMS') {
1192
- pageHeaderText = this.props.intl.formatMessage(messages.smsHeader);
1193
- } else if (this.state.channel.toUpperCase() === 'EMAIL') {
1194
- pageHeaderText = this.props.intl.formatMessage(messages.emailHeader);
1195
- } else if (this.state.channel.toUpperCase() === 'MOBILEPUSH') {
1196
- pageHeaderText = this.props.intl.formatMessage(messages.mobilepushHeader);
1197
- } else if (this.state.channel.toUpperCase() === 'EBILL') {
1198
- pageHeaderText = this.props.intl.formatMessage(messages.ebillHeader);
1199
- } else if (this.state.channel.toUpperCase() === 'LINE') {
1200
- pageHeaderText = this.props.intl.formatMessage(messages.lineHeader);
1201
- }
1202
- }
1203
1191
  const filterContent = (
1204
1192
  <div className="action-container">
1205
1193
  <CapInput
@@ -1242,26 +1230,8 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
1242
1230
  }
1243
1231
  });
1244
1232
  }
1245
- let templateText = this.state.channel.toUpperCase() === 'WECHAT' ? this.props.intl.formatMessage(messages.selectWechatHeader) : this.props.intl.formatMessage(messages.selectSmsHeader);
1246
-
1247
- let titleText = this.state.channel.toUpperCase() === 'SMS' ? this.props.intl.formatMessage(messages.smsChannelTemplatesHeader) : this.props.intl.formatMessage(messages.wechatChannelTemplatesHeader);
1248
- if (this.state.channel.toUpperCase() === "MOBILEPUSH") {
1249
- templateText = "Select Mobile Push Template";
1250
- titleText = "Mobile push";
1251
- } else if (this.state.channel.toUpperCase() === "EMAIL") {
1252
- templateText = "Select Email Template";
1253
- titleText = "Email";
1254
- } else if (this.state.channel.toUpperCase() === "EBILL") {
1255
- templateText = "Select Ebill Template";
1256
- titleText = "Ebill";
1257
- } else if (this.state.channel.toUpperCase() === "LINE") {
1258
- templateText = "Select Line Template";
1259
- titleText = "Line";
1260
- }
1261
1233
  const pageHeader = (
1262
1234
  <div>
1263
- {(this.props.location.query.type !== 'embedded') && `${pageHeaderText}`}
1264
- {this.props.isFullMode && templateText}
1265
1235
  {(this.isEnabledInLibraryModule("showAccountSelection") || (((this.state.channel.toUpperCase() === 'WECHAT' || this.state.channel.toUpperCase() === "MOBILEPUSH") && (this.props.location.query.type !== 'embedded') && !_.isEmpty(this.props.Templates.weCrmAccounts)))) &&
1266
1236
  <CapSelect className="selectAccount" onSelect={this.onAccountSelect} value={this.props.Templates.selectedWeChatAccount ? this.props.Templates.selectedWeChatAccount.name : undefined} placeholder={this.props.intl.formatMessage(messages.selectAccount)}>
1267
1237
  {accountOptions}
@@ -1270,7 +1240,6 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
1270
1240
  );
1271
1241
  const pageHeaderDvs = (
1272
1242
  <div>
1273
- {(this.props.location.query.type === 'embedded' && moduleName === 'dvs') ? `${templateText}` : pageHeaderText}
1274
1243
  {((this.state.channel.toUpperCase() === 'WECHAT' || this.state.channel.toUpperCase() === "MOBILEPUSH") && (this.props.location.query.type === 'embedded') && !_.isEmpty(this.props.Templates.weCrmAccounts)) &&
1275
1244
  <CapSelect className="selectAccount" onSelect={this.onAccountSelect} value={this.props.Templates.selectedWeChatAccount ? this.props.Templates.selectedWeChatAccount.name : undefined} placeholder={this.props.intl.formatMessage(messages.selectAccount)}>
1276
1245
  {accountOptions}
@@ -1409,30 +1378,14 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
1409
1378
  spinning={isLoading}
1410
1379
  >
1411
1380
  <input type="file" id="filename" style={{ display: 'none'}} accept=".zip, .html, .htm" onChange={(event) => this.handleFileUpload(event, {files: event.target.files})} />
1412
- <Row>
1413
- <Col>
1414
- {(this.props.isFullMode || this.props.location.query.type !== "embedded") &&
1415
- <Breadcrumb>
1416
- <BreadcrumbItem>{this.props.intl.formatMessage(messages.campaigns)}</BreadcrumbItem>
1417
- <BreadcrumbItem>{this.props.intl.formatMessage(messages.creatives)}</BreadcrumbItem>
1418
- <BreadcrumbItem>{ this.state.channel }</BreadcrumbItem>
1419
- </Breadcrumb>
1420
- }
1421
- </Col>
1422
- </Row>
1381
+
1423
1382
  <Row className="template-header-container">
1424
- <div className="template-header">{(this.props.location.query.type === 'embedded' && moduleName === 'dvs') ? pageHeaderDvs : pageHeader}</div>
1383
+ <div className="template-header">{(this.props.location.query.type === 'embedded' ) ? pageHeaderDvs : pageHeader}</div>
1425
1384
  </Row>
1426
1385
  <Row>
1427
- <Helmet
1428
- title={titleText}
1429
- meta={[
1430
- { name: 'description', content: 'Description of Templates' },
1431
- ]}
1432
- />
1433
1386
  {this.props.renderNewCardGrid && templateList && templateList.length > 0 &&
1434
1387
  <Pagination onPageChange={this.onPaginationChange} paginationSelector="pagination-container">
1435
- {this.props.renderNewCardGrid({templates: this.props.TemplatesList, filterContent, handlers: {handlePreviewClick: this.handlePreviewClick, handleEditClick: this.handleEditClick}})}
1388
+ {this.props.renderNewCardGrid({channel: this.state.channel, templates: this.props.TemplatesList, filterContent, handlers: {handlePreviewClick: this.handlePreviewClick, handleEditClick: this.handleEditClick}})}
1436
1389
  </Pagination>
1437
1390
  }
1438
1391
  {!this.props.renderNewCardGrid && ((templateList && templateList.length > 0) || isSearch) &&
@@ -1511,7 +1464,6 @@ Templates.propTypes = {
1511
1464
  TemplatesList: PropTypes.array,
1512
1465
  Templates: PropTypes.object,
1513
1466
  route: PropTypes.object,
1514
- router: PropTypes.object,
1515
1467
  Create: PropTypes.object,
1516
1468
  location: PropTypes.object,
1517
1469
  globalActions: PropTypes.object,
@@ -77,6 +77,7 @@ function templatesReducer(state = initialState, action) {
77
77
  case types.RESET_TEMPLATE:
78
78
  return state
79
79
  .set('weCRMtemplates', fromJS([]))
80
+ .set('weChatDefaultTemplate', fromJS([]))
80
81
  .set('templates', fromJS([]));
81
82
  case types.SET_SELECTED_LAYOUT:
82
83
  return state
@@ -0,0 +1,5 @@
1
+ .cap-tab-v2-wrapper{
2
+ .ant-tabs-tabpane {
3
+ border: none;
4
+ }
5
+ }