@capillarytech/creatives-library 2.0.56 → 2.0.58

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.
@@ -2161,7 +2161,7 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
2161
2161
  case "input":
2162
2162
  if (styling === 'semantic') {
2163
2163
  ifError = this.state.checkValidation && (isVersionEnable ? this.state.errorData[`${this.state.currentTab - 1}`][val.id] : this.state.errorData[val.id]);
2164
-
2164
+ const value = isVersionEnable ? this.state.formData[`${this.state.currentTab - 1}`][val.id] : this.state.formData[val.id];
2165
2165
  columns.push(
2166
2166
  <CapColumn key={val.id} span={val.width}>
2167
2167
  <CapInput
@@ -2173,7 +2173,7 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
2173
2173
  placeholder={val.placeholder}
2174
2174
  onChange={(e) => this.updateFormData(e.target.value, val)}
2175
2175
  defaultValue={isVersionEnable ? this.state.formData[`${this.state.currentTab - 1}`][val.id] : this.state.formData[val.id]}
2176
- value={isVersionEnable ? this.state.formData[`${this.state.currentTab - 1}`][val.id] : this.state.formData[val.id]}
2176
+ value={value || ""}
2177
2177
  disabled={val.disabled}
2178
2178
  />
2179
2179
  </CapColumn>
@@ -2193,6 +2193,7 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
2193
2193
  break;
2194
2194
  case "textarea":
2195
2195
  ifError = this.state.checkValidation && (isVersionEnable ? this.state.errorData[`${this.state.currentTab - 1}`][val.id] : this.state.errorData[val.id]);
2196
+ const value = isVersionEnable ? this.state.formData[`${this.state.currentTab - 1}`][val.id] : this.state.formData[val.id];
2196
2197
  if (styling === 'semantic') {
2197
2198
  columns.push(
2198
2199
  <CapColumn key="input" span={val.width}>
@@ -2204,7 +2205,7 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
2204
2205
  onChange={(e) => this.updateFormData(e.target.value, val)}
2205
2206
  style={val.style ? val.style : {}}
2206
2207
  defaultValue={isVersionEnable ? this.state.formData[`${this.state.currentTab - 1}`][val.id] : this.state.formData[val.id]}
2207
- value={isVersionEnable ? this.state.formData[`${this.state.currentTab - 1}`][val.id] : this.state.formData[val.id]}
2208
+ value={value || ""}
2208
2209
  rows={20}
2209
2210
  disabled={val.disabled}
2210
2211
  cols={20}
@@ -2518,7 +2519,7 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
2518
2519
  switch (type) {
2519
2520
  case "input":
2520
2521
  ifError = this.state.checkValidation && (isVersionEnable ? this.state.errorData[`${this.state.currentTab - 1}`][val.id] : this.state.errorData[val.id]);
2521
-
2522
+ const value = isVersionEnable ? this.state.formData[`${this.state.currentTab - 1}`][val.id] : this.state.formData[val.id];
2522
2523
  if (styling === 'semantic') {
2523
2524
  columns.push(
2524
2525
  <CapColumn key={val.id} span={val.width}>
@@ -2530,7 +2531,7 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
2530
2531
  style={val.style ? val.style : {}}
2531
2532
  placeholder={val.placeholder}
2532
2533
  onChange={(e) => this.updateFormData(e.target.value, val)}
2533
- value={isVersionEnable ? this.state.formData[`${this.state.currentTab - 1}`][val.id] : this.state.formData[val.id]}
2534
+ value={value || ""}
2534
2535
  defaultValue={isVersionEnable ? this.state.formData[`${this.state.currentTab - 1}`][val.id] : this.state.formData[val.id]}
2535
2536
  disabled={val.disabled}
2536
2537
  />
@@ -2551,6 +2552,7 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
2551
2552
  break;
2552
2553
  case "textarea":
2553
2554
  ifError = this.state.checkValidation && (isVersionEnable ? this.state.errorData[`${this.state.currentTab - 1}`][val.id] : this.state.errorData[val.id]);
2555
+ const textValue = isVersionEnable ? this.state.formData[`${this.state.currentTab - 1}`][val.id] : this.state.formData[val.id];
2554
2556
  if (styling === 'semantic') {
2555
2557
  columns.push(
2556
2558
  <CapColumn key="input" span={val.width} offset={val.offset}>
@@ -2564,7 +2566,7 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
2564
2566
  onChange={(e) => this.updateFormData(e.target.value, val)}
2565
2567
  style={val.style ? val.style : {}}
2566
2568
  defaultValue={isVersionEnable ? this.state.formData[`${this.state.currentTab - 1}`][val.id] : this.state.formData[val.id]}
2567
- value={isVersionEnable ? this.state.formData[`${this.state.currentTab - 1}`][val.id] : this.state.formData[val.id]}
2569
+ value={textValue || ""}
2568
2570
  rows={10}
2569
2571
  cols={2}
2570
2572
  />
@@ -9,6 +9,7 @@ import Email from '../Email';
9
9
  import EmailWrapper from '../EmailWrapper';
10
10
  import EmailPreviewV2 from '../../components/EmailPreviewV2';
11
11
  import CallTask from '../CallTask';
12
+ import MobliPushEdit from '../MobilePush/Edit';
12
13
  import * as constants from './constants';
13
14
  const CreativesWrapper = styled.div`
14
15
  .ant-popover,
@@ -49,6 +50,7 @@ function SlideBoxContent(props) {
49
50
  };
50
51
  let channel = currentChannel;//for create mode
51
52
  const isCreateSms = slidBoxContent === 'createTemplate' && channel === constants.SMS;
53
+ const isCreateMPush = slidBoxContent === 'createTemplate' && channel === constants.MOBILE_PUSH;
52
54
  const isCreateCallTask = slidBoxContent === 'createTemplate' && channel === 'CALLTASK';
53
55
  let isEditSms = false;
54
56
  let isEditEmailWithId = false;
@@ -56,11 +58,13 @@ function SlideBoxContent(props) {
56
58
  let isPreview = false;
57
59
  let isEmailPreview = false;
58
60
  let isEditCallTask = false;
61
+ let isEditMPush = false;
59
62
  const isEmailCreate = slidBoxContent === 'createTemplate' && channel === constants.EMAIL;
60
63
  if (templateData && channel) {
61
64
  channel = templateData.type;// for edit mode with template data
62
65
  isEditSms = slidBoxContent === 'editTemplate' && channel === constants.SMS;
63
66
  isEditCallTask = slidBoxContent === 'editTemplate' && channel === constants.CALL_TASK;
67
+ isEditMPush = slidBoxContent === 'editTemplate' && channel === constants.MOBILE_PUSH;
64
68
  isEditEmailWithId = slidBoxContent === 'editTemplate' && channel === constants.EMAIL && templateData._id;
65
69
  isEmailEditWithContent = slidBoxContent === 'editTemplate' && channel === constants.EMAIL && !templateData._id;
66
70
  isPreview = slidBoxContent === 'preview' && channel !== constants.EMAIL;
@@ -172,6 +176,20 @@ function SlideBoxContent(props) {
172
176
  cap={cap}
173
177
  />
174
178
  )}
179
+ {isEditMPush &&
180
+ <MobliPushEdit
181
+ getFormLibraryData={getFormData}
182
+ setIsLoadingContent={setIsLoadingContent}
183
+ location={{
184
+ pathname: `/mobilepush`,
185
+ query,
186
+ }}
187
+ isFullMode={false}
188
+ isGetFormData={isGetFormData}
189
+ route={{ name: 'mobilepush' }}
190
+ templateData={templateData}
191
+ />
192
+ }
175
193
  </CreativesWrapper>
176
194
  );
177
195
  }
@@ -8,5 +8,6 @@ export const DEFAULT_ACTION = 'app/CreativesContainer/DEFAULT_ACTION';
8
8
  export const EMAIL = "EMAIL";
9
9
  export const SMS = "SMS";
10
10
  export const CALL_TASK = "CALL_TASK";
11
+ export const MOBILE_PUSH = "MOBILEPUSH";
11
12
  export const SHOW_CONTANER_LOADER = "app/CreativesContainer/SHOW_CONTANER_LOADER";
12
13
  export const HIDE_CONTAINER_LOADER = "app/CreativesContainer/HIDE_CONTAINER_LOADER";
@@ -5,7 +5,7 @@ import {
5
5
  } from '@capillarytech/cap-ui-library';
6
6
  import { injectIntl } from 'react-intl';
7
7
  import classnames from 'classnames';
8
- import {isEmpty} from 'lodash';
8
+ import {isEmpty, get} from 'lodash';
9
9
  import { connect } from 'react-redux';
10
10
  import { createStructuredSelector } from 'reselect';
11
11
  import { bindActionCreators } from 'redux';
@@ -149,6 +149,28 @@ class Creatives extends React.Component {
149
149
  } else if (channel === constants.EMAIL && template.value.base) {
150
150
  templateData.emailBody = template.value.base.html_content;
151
151
  templateData.emailSubject = template.value.base.subject;
152
+ } else if (channel === constants.MOBILE_PUSH && get(template, "value.versions.base")) {
153
+ const mobilpushTemplate = template.value;
154
+ templateData.accountId = get(mobilpushTemplate, 'definition.accountId');
155
+ const androidContent = get(mobilpushTemplate, 'versions.base.ANDROID');
156
+ if (!isEmpty(androidContent)) {
157
+ delete androidContent.cuid;
158
+ delete androidContent.luid;
159
+ delete androidContent.communicationId;
160
+ templateData.androidContent = androidContent;
161
+ templateData.androidContent.type = get(mobilpushTemplate, 'definition.mode').toUpperCase();
162
+ templateData.androidContent.deviceType = 'ANDROID';
163
+ }
164
+ const iosContent = get(mobilpushTemplate, 'versions.base.IOS');
165
+ if (!isEmpty(iosContent)) {
166
+ delete iosContent.cuid;
167
+ delete iosContent.luid;
168
+ delete iosContent.communicationId;
169
+ templateData.iosContent = iosContent;
170
+ templateData.iosContent.type = get(mobilpushTemplate, 'definition.mode').toUpperCase();
171
+ templateData.iosContent.deviceType = 'IOS';
172
+ }
173
+ templateData.messageSubject = mobilpushTemplate.name;
152
174
  }
153
175
  return templateData;
154
176
  };
@@ -2620,7 +2620,7 @@ export class Email extends React.Component { // eslint-disable-line react/prefer
2620
2620
  />}
2621
2621
  <ImagePreview
2622
2622
  header={imagePreviewHeader}
2623
- content={imagePreviewContent}
2623
+ content={imagePreviewContent}
2624
2624
  show={this.state.showImageSelectionBox}
2625
2625
  handleClose={this.handleImagePreviewClose}
2626
2626
  isLoading={this.props.Email.fetchingAllAssets}
@@ -2673,3 +2673,4 @@ function mapDispatchToProps(dispatch) {
2673
2673
  }
2674
2674
 
2675
2675
  export default UserIsAuthenticated(connect(mapStateToProps, mapDispatchToProps)(injectIntl(Email)));
2676
+
@@ -13,7 +13,7 @@ import { connect } from 'react-redux';
13
13
  import { Row, Col, Spin, Breadcrumb, notification } from 'antd';
14
14
  import { createStructuredSelector } from 'reselect';
15
15
  import { injectIntl, intlShape } from 'react-intl';
16
- import _ from 'lodash';
16
+ import _, {get} from 'lodash';
17
17
  import {makeSelectEdit, makeSelectEditResponse, makeSelectTemplateDetailsResponse} from "../../MobilePush/Edit/selectors";
18
18
  import {makeSelectMetaEntities} from "../../Cap/selectors";
19
19
  import {getMessageObject} from "../../../utils/messageUtils";
@@ -186,9 +186,10 @@ export class Edit extends React.Component { // eslint-disable-line react/prefer-
186
186
  if (!_.isEmpty(this.state.schema)) {
187
187
  this.injectEvents(this.state.schema);
188
188
  }
189
- if (this.props.location.query && typeof this.props.location.query.module === 'undefined') { // when this containers is imported from creatives library
190
- if (this.props.params.id) {
191
- this.props.actions.getTemplateDetails(this.props.params.id);
189
+ if (this.props.location.query && (typeof this.props.location.query.module === 'undefined' || this.props.isFullMode === false)) { // when this containers is imported from creatives library
190
+ const templateId = get(this, "props.params.id");
191
+ if (templateId) {
192
+ this.props.actions.getTemplateDetails(templateId);
192
193
  } else {
193
194
  this.props.actions.setTemplateDetails(this.props.templateData);
194
195
  }
@@ -213,11 +214,12 @@ export class Edit extends React.Component { // eslint-disable-line react/prefer-
213
214
  }
214
215
  if (nextProps.metaEntities && nextProps.metaEntities.layouts && nextProps.metaEntities.layouts.length > 0 && _.isEmpty(this.state.fullSchema)) {
215
216
  this.setState({fullSchema: nextProps.metaEntities.layouts[0].definition, schema: (nextProps.location.query.module === 'loyalty') ? nextProps.metaEntities.layouts[0].definition.textSchema : {}}, () => {
216
- if (nextProps.location.query.module !== 'loyalty' && this.props.params.id !== 'temp') {
217
- this.props.actions.getTemplateDetails(this.props.params.id);
217
+ const templateId = get(this, "props.params.id");
218
+ if (nextProps.location.query.module !== 'loyalty' && templateId && templateId !== 'temp') {
219
+ this.props.actions.getTemplateDetails(templateId);
218
220
  }
219
221
  const type = this.props.location.query.type;
220
- if (type === 'embedded' && this.props.params.id === 'temp' && _.isEmpty(this.state.formData)) { // when his.props.params.id is temp that means mobile push template content will be passed from post message from parent with startTemplateCreation action
222
+ if (type === 'embedded' && templateId === 'temp' && _.isEmpty(this.state.formData)) { // when his.props.params.id is temp that means mobile push template content will be passed from post message from parent with startTemplateCreation action
221
223
  const response = {
222
224
  action: 'startTemplateCreation',
223
225
  };
@@ -595,7 +597,7 @@ export class Edit extends React.Component { // eslint-disable-line react/prefer-
595
597
  licenseCode: selectedWeChatAccount.sourceAccountIdentifier,
596
598
  };
597
599
  if (this.props.location.query && this.props.location.query.module !== 'dvs') {
598
- obj.definition.mode = this.props.Edit.templateDetails.mode;
600
+ obj.definition.mode = this.props.Edit.templateDetails.mode || get(this, 'props.Edit.templateDetails.definition.mode');
599
601
  }
600
602
  const android = {};
601
603
  Object.keys(formData[0]).forEach((data) => {
@@ -2549,6 +2551,7 @@ Edit.propTypes = {
2549
2551
  supportedTags: PropTypes.array,
2550
2552
  getDefaultTags: PropTypes.string,
2551
2553
  templateData: PropTypes.object,
2554
+ isFullMode: PropTypes.bool,
2552
2555
  };
2553
2556
 
2554
2557
  const mapStateToProps = createStructuredSelector({
@@ -3,7 +3,8 @@ import { createSelector } from 'reselect';
3
3
  /**
4
4
  * Direct selector to the create state domain
5
5
  */
6
- const selectMobilePushEditDomain = () => (state) => state.get('edit');
6
+ const selectMobilePushEditDomain = () => (state, props) => props.isFullMode === false ? state.get('mobileEdit') : state.get('edit'); // reducer injected as mobileEdit in library mode.
7
+
7
8
 
8
9
  /**
9
10
  * Other specific selectors
@@ -8,13 +8,13 @@ import PropTypes from 'prop-types';
8
8
 
9
9
  import React from 'react';
10
10
  import { connect } from 'react-redux';
11
- import { FormattedMessage, injectIntl, intlShape } from 'react-intl';
11
+ import {injectIntl, intlShape } from 'react-intl';
12
12
  import { createStructuredSelector } from 'reselect';
13
13
  import moment from "moment";
14
14
  import _ from 'lodash';
15
15
  import { bindActionCreators } from 'redux';
16
- import { Row, Select, Dropdown, Menu, Modal} from 'antd';
17
- import {CapButton, CapInput, CapIcon, CapSelect, CapPopover, CapSpin, CapCustomCard} from '@capillarytech/cap-ui-library';
16
+ import { Row, Dropdown, Menu, Modal} from 'antd';
17
+ import {CapButton, CapInput, CapIcon, CapSelect, CapPopover, CapSpin, CapCustomCard, CapRow, CapColumn} from '@capillarytech/cap-ui-library';
18
18
  import { makeSelectTemplates, makeSelectTemplatesResponse } from './selectors';
19
19
  import { makeSelectCreate as makeSelectCreateSms} from '../Sms/Create/selectors';
20
20
  import { makeSelectCreate as makeSelectCreateMobilePush } from '../MobilePush/Create/selectors';
@@ -44,7 +44,6 @@ import Pagination from '../../components/Pagination';
44
44
  import EmailPreview from '../../components/EmailPreview';
45
45
  import CreativesContainer from '../CreativesContainer';
46
46
  const MenuItem = Menu.Item;
47
- const Option = Select.Option;
48
47
  const {CapCustomCardList} = CapCustomCard;
49
48
 
50
49
  export class Templates extends React.Component { // eslint-disable-line react/prefer-stateless-function
@@ -1318,16 +1317,27 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
1318
1317
  if (this.props.location.query.type === 'embedded' && (!this.props.location.query.module || (this.props.location.query.module && this.props.location.query.module !== 'library'))) {
1319
1318
  if (this.props.location.query.source_account_id && account.sourceAccountIdentifier === this.props.location.query.source_account_id) {
1320
1319
  accountOptions.push(
1321
- <Option key={this.state.channel.toUpperCase() === "MOBILEPUSH" ? account.id : account.uuid} value={account.name}>{account.name}</Option>
1320
+ { key: this.state.channel.toUpperCase() === "MOBILEPUSH" ? account.id : account.uuid,
1321
+ label: account.name,
1322
+ value: account.name,
1323
+ }
1322
1324
  );
1323
1325
  } else if (this.props.location.query.module && (this.state.channel.toUpperCase() === "WECHAT" || this.state.channel.toUpperCase() === "MOBILEPUSH")) {
1324
1326
  accountOptions.push(
1325
- <Option key={this.state.channel.toUpperCase() === "MOBILEPUSH" ? account.id : account.uuid} value={account.name}>{account.name}</Option>
1327
+ {
1328
+ key: this.state.channel.toUpperCase() === "MOBILEPUSH" ? account.id : account.uuid,
1329
+ value: account.name,
1330
+ label: account.name,
1331
+ }
1326
1332
  );
1327
1333
  }
1328
1334
  } else {
1329
1335
  accountOptions.push(
1330
- <Option key={this.state.channel.toUpperCase() === "MOBILEPUSH" ? account.id : account.uuid} value={account.name}>{account.name}</Option>
1336
+ {
1337
+ key: this.state.channel.toUpperCase() === "MOBILEPUSH" ? account.id : account.uuid,
1338
+ value: account.name,
1339
+ label: account.name,
1340
+ }
1331
1341
  );
1332
1342
  }
1333
1343
  }
@@ -1336,17 +1346,26 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
1336
1346
  const pageHeader = (
1337
1347
  <div>
1338
1348
  {(this.isEnabledInLibraryModule("showAccountSelection") || (((this.state.channel.toUpperCase() === 'WECHAT' || this.state.channel.toUpperCase() === "MOBILEPUSH") && (this.props.location.query.type !== 'embedded') && !_.isEmpty(this.props.Templates.weCrmAccounts)))) &&
1339
- <CapSelect className="selectAccount" onSelect={this.onAccountSelect} value={this.props.Templates.selectedWeChatAccount ? this.props.Templates.selectedWeChatAccount.name : undefined} placeholder={this.props.intl.formatMessage(messages.selectAccount)}>
1340
- {accountOptions}
1341
- </CapSelect>}
1349
+ <CapSelect
1350
+ className="selectAccount"
1351
+ onSelect={this.onAccountSelect}
1352
+ value={this.props.Templates.selectedWeChatAccount ? this.props.Templates.selectedWeChatAccount.name : undefined}
1353
+ placeholder={this.props.intl.formatMessage(messages.selectAccount)}
1354
+ options={accountOptions}
1355
+ />
1356
+ }
1342
1357
  </div>
1343
1358
  );
1344
1359
  const pageHeaderDvs = (
1345
1360
  <div>
1346
1361
  {((this.state.channel.toUpperCase() === 'WECHAT' || this.state.channel.toUpperCase() === "MOBILEPUSH") && (this.props.location.query.type === 'embedded') && !_.isEmpty(this.props.Templates.weCrmAccounts)) &&
1347
- <CapSelect className="selectAccount" onSelect={this.onAccountSelect} value={this.props.Templates.selectedWeChatAccount ? this.props.Templates.selectedWeChatAccount.name : undefined} placeholder={this.props.intl.formatMessage(messages.selectAccount)}>
1348
- {accountOptions}
1349
- </CapSelect>}
1362
+ <CapSelect
1363
+ className="selectAccount"
1364
+ onSelect={this.onAccountSelect}
1365
+ value={this.props.Templates.selectedWeChatAccount ? this.props.Templates.selectedWeChatAccount.name : undefined} placeholder={this.props.intl.formatMessage(messages.selectAccount)}
1366
+ options={accountOptions}
1367
+ />
1368
+ }
1350
1369
  </div>
1351
1370
  );
1352
1371
  let actionButton = '';
@@ -1481,9 +1500,11 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
1481
1500
  onChange={(e) => this.searchTemplate(e.target.value)}
1482
1501
  />
1483
1502
  <div style={{display: "flex", justifyContent: "space-between", alignItems: 'center'}}>
1503
+ {(this.props.location.query.type === 'embedded' ) ? pageHeaderDvs : pageHeader}
1484
1504
  <CapButton
1485
1505
  type={this.props.isFullMode ? "primary" : "secondary"}
1486
1506
  disabled={isLoading}
1507
+ style={{marginLeft: '8px'}}
1487
1508
  onClick={(ev) => this.props.isFullMode ? this.createTemplate(ev) : this.handleBlankTemplateAction()} >
1488
1509
  { this.props.intl.formatMessage(messages.createNewActionButton) }
1489
1510
  </CapButton>
@@ -1506,10 +1527,6 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
1506
1527
  const loadingTip = (this.props.Templates.sendingFile && (this.state.channel.toLowerCase() === 'email' || this.state.channel.toLowerCase() === 'ebill')) ? this.props.intl.formatMessage(messages.uploadingFile) : this.props.intl.formatMessage(messages.gettingAllTemplates);
1507
1528
  return (
1508
1529
  <div>
1509
- <Row className="template-header-container">
1510
- <div className="template-header">{(this.props.location.query.type === 'embedded' ) ? pageHeaderDvs : pageHeader}</div>
1511
- </Row>
1512
-
1513
1530
  <input type="file" id="filename" style={{ display: 'none'}} accept=".zip, .html, .htm" onChange={(event) => this.handleFileUpload(event, {files: event.target.files})} />
1514
1531
 
1515
1532
 
@@ -1612,6 +1629,7 @@ Templates.propTypes = {
1612
1629
  isFullMode: PropTypes.bool,
1613
1630
  renderNewCardGrid: PropTypes.func,
1614
1631
  handlePeviewTemplate: PropTypes.func,
1632
+ router: PropTypes.object,
1615
1633
  };
1616
1634
 
1617
1635
  const mapStateToProps = createStructuredSelector({
@@ -53,9 +53,9 @@ export class TemplatesV2 extends React.Component { // eslint-disable-line react/
53
53
  const deafaultPanes = [
54
54
  {content: <div></div>, tab: 'Sms', key: 'sms'},
55
55
  {content: <div></div>, tab: 'Email', key: 'email'},
56
- // {content: <div></div>, tab: 'Call Task', key: 'calltask'},
56
+ {content: <div></div>, tab: 'Call Task', key: 'calltask'},
57
57
  // {content: this.getTemplatesComponent('wechat'), tab: 'Wechat', key: 'wechat'},
58
- // {content: <div></div>, tab: 'Mpush', key: 'mobilepush'},
58
+ {content: <div></div>, tab: 'Mpush', key: 'mobilepush'},
59
59
  ];
60
60
  const panes = this.setChannelContent(defaultChannel, deafaultPanes);
61
61
  this.state = {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@capillarytech/creatives-library",
3
3
  "author": "meharaj",
4
- "version": "2.0.56",
4
+ "version": "2.0.58",
5
5
  "description": "Capillary creatives ui",
6
6
  "main": "./index.js",
7
7
  "module": "./index.es.js",
@@ -12,8 +12,8 @@
12
12
  },
13
13
  "license": "LicenseRef-LICENSE",
14
14
  "dependencies": {
15
- "@capillarytech/cap-ui-library": "^1.0.96",
16
- "antd": "^3.15.0",
15
+ "@capillarytech/cap-ui-library": "^1.0.100",
16
+ "antd": "3.15.0",
17
17
  "axios": "^0.16.2",
18
18
  "babel-polyfill": "6.20.0",
19
19
  "babel-preset-env": "^1.6.1",
@@ -1,10 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <svg width="407px" height="574px" viewBox="0 0 407 574" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
- <!-- Generator: Sketch 48.2 (47327) - http://www.bohemiancoding.com/sketch -->
4
- <title>iPad-PNG-Free-Download</title>
5
- <desc>Created with Sketch.</desc>
6
- <defs></defs>
7
- <g id="Full-page-" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
8
- <image id="iPad-PNG-Free-Download" x="0" y="0" width="407" height="574" xlink:href="data:image/png;base64,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"></image>
9
- </g>
10
- </svg>
@@ -1,8 +0,0 @@
1
- .wechat-container {
2
- .cap-checkbox {
3
- margin-bottom: 24px;
4
- .ant-checkbox-wrapper{
5
- padding-left: 0;
6
- }
7
- }
8
- }
@@ -1,52 +0,0 @@
1
- /*
2
- *
3
- * WeChat actions
4
- *
5
- */
6
-
7
- import * as types from './constants';
8
-
9
- export function getDefaultWeChatTemplates(channel, queryParams) {
10
- return {
11
- type: types.GET_WECHAT_DEFAULT_TEMPLATES_REQUEST,
12
- channel,
13
- queryParams,
14
- };
15
- }
16
- export function createTemplate(template) {
17
- return {
18
- type: types.CREATE_TEMPLATE_REQUEST, template,
19
- };
20
- }
21
-
22
- export function clearCreateResponse() {
23
- return {
24
- type: types.CLEAR_CREATE_RESPONSE_REQUEST,
25
- };
26
- }
27
-
28
- export function getWeCrmAccounts() {
29
- return {
30
- type: types.GET_WECRM_ACCOUNTS_REQUEST,
31
- };
32
- }
33
-
34
- export function setWeChatAccount(weChatAccount) {
35
- return {
36
- type: types.SET_WECHAT_ACCOUNT,
37
- weChatAccount,
38
- };
39
- }
40
-
41
- export function getTemplateDetails(id) {
42
- console.log('getting template', id);
43
- return {
44
- type: types.GET_TEMPLATE_DETAILS_REQUEST, id,
45
- };
46
- }
47
- export function setTemplateDetails(templateDetails) {
48
- return {
49
- type: types.GET_TEMPLATE_DETAILS_SUCCESS,
50
- data: templateDetails,
51
- };
52
- }
@@ -1,28 +0,0 @@
1
- /*
2
- *
3
- * WeChat constants
4
- *
5
- */
6
-
7
- export const GET_WECHAT_DEFAULT_TEMPLATES_REQUEST = 'app/containers/WeChat/GET_WECHAT_DEFAULT_TEMPLATES_REQUEST';
8
- export const GET_WECHAT_DEFAULT_TEMPLATES_SUCCESS = 'app/containers/WeChat/GET_WECHAT_DEFAULT_TEMPLATES_SUCCESS';
9
- export const GET_WECHAT_DEFAULT_TEMPLATES_FAILURE = 'app/containers/WeChat/GET_WECHAT_DEFAULT_TEMPLATES_FAILURE';
10
-
11
- export const CREATE_TEMPLATE_REQUEST = 'app/containers/WeChat/CREATE_TEMPLATE_REQUEST';
12
- export const CREATE_TEMPLATE_SUCCESS = 'app/containers/WeChat/CREATE_TEMPLATE_SUCCESS';
13
- export const CREATE_TEMPLATE_FAILURE = 'app/containers/WeChat/CREATE_TEMPLATE_FAILURE';
14
-
15
- export const CLEAR_CREATE_RESPONSE_REQUEST = 'app/containers/WeChat/CLEAR_CREATE_RESPONSE_REQUEST';
16
- export const CLEAR_CREATE_RESPONSE_SUCCESS = 'app/containers/WeChat/CLEAR_CREATE_RESPONSE_SUCCESS';
17
- export const CLEAR_CREATE_RESPONSE_FAILURE = 'app/containers/WeChat/CLEAR_CREATE_RESPONSE_FAILURE';
18
-
19
- export const GET_WECRM_ACCOUNTS_REQUEST = "app/containers/WeChat/GET_WECRM_ACCOUNTS_REQUEST";
20
- export const GET_WECRM_ACCOUNTS_SUCCESS = "app/containers/WeChat/GET_WECRM_ACCOUNTS_SUCCESS";
21
- export const GET_WECRM_ACCOUNTS_FAILURE = "app/containers/WeChat/GET_WECRM_ACCOUNTS_FAILURE";
22
-
23
- export const GET_TEMPLATE_DETAILS_REQUEST = 'app/containers/WeChat/GET_TEMPLATE_DETAILS_REQUEST';
24
- export const GET_TEMPLATE_DETAILS_SUCCESS = 'app/containers/WeChat/GET_TEMPLATE_DETAILS_SUCCESS';
25
- export const GET_TEMPLATE_DETAILS_FAILURE = 'app/containers/WeChat/GET_TEMPLATE_DETAILS_FAILURE';
26
-
27
-
28
- export const SET_WECHAT_ACCOUNT = "app/containers/WeChat/SET_WECHAT_ACCOUNT";