@capillarytech/creatives-library 3.8.0 → 3.8.1

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.
@@ -13,6 +13,7 @@ import _ from 'lodash';
13
13
  import SlideBox from '../../SlideBox';
14
14
  import './_wechatRichmediaTemplatePrev.scss';
15
15
  import messages from './messages';
16
+
16
17
  const wechatBody = require('./../assets/images/WECHAT_5x.png');
17
18
 
18
19
  class WechatRichmediaTemplatePreview extends React.PureComponent { // eslint-disable-line react/prefer-stateless-function
@@ -349,4 +349,4 @@
349
349
  display: inline-block;
350
350
  background-color: #333333;
351
351
  margin-right: 4px;
352
- }
352
+ }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@capillarytech/creatives-library",
3
3
  "author": "meharaj",
4
- "version": "3.8.0",
4
+ "version": "3.8.1",
5
5
  "description": "Capillary creatives ui",
6
6
  "main": "./index.js",
7
7
  "module": "./index.es.js",
@@ -251,6 +251,7 @@ export class Gallery extends React.Component { // eslint-disable-line react/pref
251
251
  }
252
252
  }
253
253
  getIllustrationProps={
254
+ buttonClassName: 'upload-image-gallery',
254
255
  buttonLabel: <FormattedMessage {...messages.upload} />,
255
256
  onClick: (e) => this.openFileDialog(e),
256
257
  illustrationImage: imageGalleryIllustration,
@@ -317,6 +318,7 @@ export class Gallery extends React.Component { // eslint-disable-line react/pref
317
318
  title: <span title={template.name} >{template.name}</span>,
318
319
  extra: [
319
320
  <CapIcon
321
+ className="view-gallery"
320
322
  style={{marginRight: '16px'}}
321
323
  type="eye"
322
324
  onClick={() => { this.openPreviewMode(template); }}
@@ -324,7 +326,7 @@ export class Gallery extends React.Component { // eslint-disable-line react/pref
324
326
  <CapDropdown
325
327
  overlay={
326
328
  <CapMenu>
327
- <CapMenu.Item onClick={() => this.deleteAsset(template)}>
329
+ <CapMenu.Item className="delete-gallery" onClick={() => this.deleteAsset(template)}>
328
330
  <FormattedMessage {...messages.delete} />
329
331
  </CapMenu.Item>
330
332
  </CapMenu>
@@ -429,7 +431,7 @@ export class Gallery extends React.Component { // eslint-disable-line react/pref
429
431
  <div style={{ textAlign: 'right', marginTop: '16px', width: '50%'}}>
430
432
  <form encType="multipart/form-data" id="myForm">
431
433
  <input style={{ display: 'none'}} id="fileName" type="file" onChange={(e) => this.uploadImages(e, {files: e.target.files})} accept="image/*" multiple/>
432
- <CapButton type={this.props.location.query.type !== 'embedded' ? 'primary' : 'secondary'} onClick={(e) => this.openFileDialog(e)} style={{float: 'right'}}>
434
+ <CapButton className="upload-image-gallery" type={this.props.location.query.type !== 'embedded' ? 'primary' : 'secondary'} onClick={(e) => this.openFileDialog(e)} style={{float: 'right'}}>
433
435
  <FormattedMessage {...messages.upload} />
434
436
  </CapButton>
435
437
  </form>
@@ -63,6 +63,7 @@ export class CallTask extends React.Component { // eslint-disable-line react/pre
63
63
  const templateIntlText = formatMessage(messages.template);
64
64
  const templateText = isFullMode ? templateIntlText : '';
65
65
  return {
66
+ buttonClassName: 'new-call-task-button',
66
67
  buttonLabel: formatMessage(messages.newCallTaskTemplate, { templateText }),
67
68
  onClick: showContentInSlidebox ? this.showNewCallTask : onCreateNew,
68
69
  illustrationImage: calltaskIllustration,
@@ -251,7 +251,7 @@ const Facebook = (props) => {
251
251
  {!socialRemoteCampaignId && onChange && (
252
252
  <CapButton
253
253
  type="flat"
254
- className="marketingObjective-change-button"
254
+ className="marketingObjective-change-button facebook-marketing-objective-change"
255
255
  onClick={onChange}
256
256
  >
257
257
  <FormattedMessage {...messages.fbChange} />
@@ -321,6 +321,7 @@ const Facebook = (props) => {
321
321
  </div>
322
322
  </div>
323
323
  <CapButton
324
+ className="facebook-confirm-button"
324
325
  type="primary"
325
326
  onClick={() =>
326
327
  onFacebookSubmit({ channel: "FACEBOOK", selectedMarketingObjective, accountId })
@@ -548,6 +548,8 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
548
548
  }
549
549
  getTemplateDataForGrid = ({templates, handlers, filterContent, channel, isLoading, loadingTip}) => {
550
550
  const currentChannel = channel.toUpperCase();
551
+ const {channel: stateChannel} = this.state;
552
+ const channelLowerCase = stateChannel.toLowerCase();
551
553
  let filteredTemplates = templates;
552
554
  if (currentChannel === WECHAT) {
553
555
  filteredTemplates = this.filterWechatTemplates(templates);
@@ -559,21 +561,23 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
559
561
  title: <span title={template.name} >{template.name}</span>,
560
562
  extra: [
561
563
  <CapIcon
564
+ className={`view-${channelLowerCase}`}
562
565
  style={{marginRight: '16px'}}
563
566
  type="eye"
564
567
  onClick={() => { if (this.props.isFullMode) { handlers.handlePreviewClick(template); } else { this.props.handlePeviewTemplate(template); } }}
565
568
  />,
566
569
  ],
567
- hoverOption: <CapButton onClick={(e) => handlers.handleEditClick(e, template)}>{this.props.intl.formatMessage(this.props.isFullMode ? messages.creativesTemplatesEdit : messages.selectButton)}</CapButton>,
570
+ hoverOption: <CapButton className={this.props.isFullMode ? `edit-${channelLowerCase}` : `select-${channelLowerCase}`} onClick={(e) => handlers.handleEditClick(e, template)}>{this.props.intl.formatMessage(this.props.isFullMode ? messages.creativesTemplatesEdit : messages.selectButton)}</CapButton>,
568
571
  };
569
572
  if (this.props.isFullMode) {
570
573
  templateData.extra.push(<CapDropdown
571
574
  overlay={
572
575
  <CapMenu>
573
- {this.state.channel.toUpperCase() !== WECHAT && <CapMenu.Item onClick={() => this.duplicateTemplate(template)}>
576
+ {this.state.channel.toUpperCase() !== WECHAT && <CapMenu.Item className={`duplicate-${channelLowerCase}`} onClick={() => this.duplicateTemplate(template)}>
574
577
  <FormattedMessage {...messages.duplicateButton} />
575
578
  </CapMenu.Item>}
576
579
  <CapMenu.Item
580
+ className={this.state.channel.toUpperCase() === WECHAT && !template.definition ? `unmap-${channelLowerCase}` : `delete-${channelLowerCase}`}
577
581
  onClick={() => this.deleteTemplate(template)}
578
582
  >
579
583
  {this.state.channel.toUpperCase() === WECHAT && !template.definition ? <FormattedMessage {...messages.unMapButton} /> : <FormattedMessage {...messages.deleteButton} />}
@@ -1660,6 +1664,7 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
1660
1664
  // const isfilterContentVisisble = !isEmpty(this.props.TemplatesList) || !isEmpty(this.state.searchText) || !isEmpty(this.props.Templates.templateError);
1661
1665
  const isfilterContentVisisble = true;
1662
1666
  const isWechatEmbedded = !this.props.isFullMode && channel.toUpperCase() === WECHAT;
1667
+ const channelLowerCase = channel.toLowerCase();
1663
1668
  const filterContent = (( isfilterContentVisisble || [WECHAT, MOBILE_PUSH].includes(this.state.channel.toUpperCase())) && <div className="action-container">
1664
1669
  {isfilterContentVisisble && <CapInput.Search
1665
1670
  className="search-text"
@@ -1683,8 +1688,10 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
1683
1688
  </CapLabel></CapRadio.Button>
1684
1689
  </CapRadio.CapRadioGroup>
1685
1690
  }
1691
+
1686
1692
  <div style={{display: "flex", justifyContent: "space-between", alignItems: 'center'}}>
1687
1693
  {isfilterContentVisisble && !isWechatEmbedded && <CapButton
1694
+ className={`create-new-${channelLowerCase}`}
1688
1695
  type={"primary"}
1689
1696
  disabled={this.isCreateDisabled()}
1690
1697
  style={{marginLeft: '8px'}}