@capillarytech/creatives-library 3.0.35 → 3.1.0

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.
Files changed (218) hide show
  1. package/assets/noImage.png +0 -0
  2. package/components/BreadCrumbs/messages.js +1 -1
  3. package/components/CapTagList/index.js +3 -3
  4. package/components/CapTagList/messages.js +4 -16
  5. package/components/Ckeditor/messages.js +1 -1
  6. package/components/CustomPopOver/index.js +4 -3
  7. package/components/CustomPopOver/messages.js +1 -5
  8. package/components/DateFilter/index.js +12 -12
  9. package/components/DateFilter/messages.js +0 -40
  10. package/components/DateRange/index.js +4 -5
  11. package/components/DateRange/messages.js +1 -13
  12. package/components/Edmeditor/messages.js +1 -1
  13. package/components/EmailPreview/index.js +4 -4
  14. package/components/EmailPreview/messages.js +2 -18
  15. package/components/Footer/messages.js +1 -1
  16. package/components/FormBuilder/index.js +19 -15
  17. package/components/FormBuilder/messages.js +1 -33
  18. package/components/Header/messages.js +4 -4
  19. package/components/ImagePreview/index.js +1 -1
  20. package/components/ImagePreview/messages.js +1 -5
  21. package/components/PageHeader/messages.js +1 -1
  22. package/components/PreviewSideBar/index.js +2 -2
  23. package/components/PreviewSideBar/messages.js +6 -14
  24. package/components/Sidebar/messages.js +3 -3
  25. package/components/SmsTest/index.js +4 -6
  26. package/components/SmsTest/messages.js +1 -9
  27. package/components/TemplatePreview/WechatRichmediaTemplatePreview/messages.js +3 -3
  28. package/components/TemplatePreview/index.js +10 -11
  29. package/components/TemplatePreview/messages.js +7 -23
  30. package/components/Toastr/messages.js +1 -1
  31. package/components/ToastrMessage/index.js +1 -4
  32. package/components/ToastrMessage/messages.js +1 -5
  33. package/components/TopBar/messages.js +1 -1
  34. package/config/app.js +0 -2
  35. package/containers/Assets/Gallery/messages.js +20 -20
  36. package/containers/Cap/index.js +5 -5
  37. package/containers/Dashboard/index.js +2 -2
  38. package/containers/Dashboard/messages.js +1 -1
  39. package/containers/Ebill/index.js +1 -1
  40. package/containers/Ebill/messages.js +16 -20
  41. package/containers/Email/index.js +24 -24
  42. package/containers/Email/messages.js +59 -107
  43. package/containers/Line/Create/index.js +7 -7
  44. package/containers/Line/Create/messages.js +42 -58
  45. package/containers/Line/Edit/index.js +14 -14
  46. package/containers/Line/Edit/messages.js +38 -58
  47. package/containers/Login/components/LoginForm/index.js +7 -10
  48. package/containers/Login/components/LoginForm/messages.js +3 -15
  49. package/containers/Login/index.js +1 -1
  50. package/containers/Login/messages.js +3 -7
  51. package/containers/MobilePush/Create/index.js +45 -45
  52. package/containers/MobilePush/Create/messages.js +75 -111
  53. package/containers/MobilePush/Edit/index.js +45 -45
  54. package/containers/MobilePush/Edit/messages.js +83 -100
  55. package/containers/NotFoundPage/messages.js +1 -1
  56. package/containers/Sms/Create/index.js +8 -7
  57. package/containers/Sms/Create/messages.js +19 -43
  58. package/containers/Sms/Edit/index.js +4 -4
  59. package/containers/Sms/Edit/messages.js +20 -36
  60. package/containers/TagList/messages.js +1 -1
  61. package/containers/Templates/index.js +19 -20
  62. package/containers/Templates/messages.js +64 -136
  63. package/containers/TestPage/messages.js +1 -1
  64. package/containers/Testv2/index.js +2 -2
  65. package/containers/Testv2/messages.js +1 -9
  66. package/containers/WeChat/MapTemplates/index.js +10 -10
  67. package/containers/WeChat/MapTemplates/messages.js +17 -49
  68. package/containers/WeChat/RichmediaTemplates/Create/messages.js +33 -33
  69. package/containers/WeChat/RichmediaTemplates/Edit/messages.js +1 -1
  70. package/containers/WeChat/RichmediaTemplates/View/index.js +2 -2
  71. package/containers/WeChat/RichmediaTemplates/View/messages.js +1 -9
  72. package/index.js +20 -8
  73. package/package.json +4 -1
  74. package/routes.js +16 -2
  75. package/services/api.js +2 -17
  76. package/services/getSchema.js +4 -1
  77. package/translations/en.json +360 -1396
  78. package/translations/zh.json +381 -1417
  79. package/utils/smsCharCountV2.js +10 -26
  80. package/v2Components/BreadCrumbs/messages.js +1 -1
  81. package/v2Components/CallTaskPreview/messages.js +1 -1
  82. package/v2Components/CapTagList/index.js +5 -6
  83. package/v2Components/CapTagList/messages.js +4 -24
  84. package/v2Components/Ckeditor/index.js +0 -1
  85. package/v2Components/Ckeditor/messages.js +1 -1
  86. package/v2Components/CmsTemplatesComponent/messages.js +2 -2
  87. package/v2Components/CustomPopOver/index.js +2 -4
  88. package/v2Components/CustomPopOver/messages.js +1 -5
  89. package/v2Components/DateFilter/index.js +349 -0
  90. package/v2Components/DateFilter/messages.js +17 -0
  91. package/v2Components/DateFilter/tests/index.test.js +15 -0
  92. package/v2Components/DateRange/index.js +113 -0
  93. package/v2Components/DateRange/messages.js +13 -0
  94. package/v2Components/DateRange/tests/index.test.js +10 -0
  95. package/v2Components/Edmeditor/messages.js +1 -1
  96. package/v2Components/EmailPreview/index.js +2 -2
  97. package/v2Components/EmailPreview/messages.js +3 -11
  98. package/v2Components/EmailPreviewV2/index.js +1 -1
  99. package/v2Components/EmailPreviewV2/messages.js +9 -13
  100. package/v2Components/Footer/messages.js +1 -1
  101. package/v2Components/FormBuilder/_formBuilder.scss +19 -0
  102. package/v2Components/FormBuilder/index.js +58 -27
  103. package/v2Components/FormBuilder/messages.js +1 -49
  104. package/v2Components/Header/index.js +2 -2
  105. package/v2Components/Header/messages.js +4 -4
  106. package/v2Components/ImagePreview/index.js +2 -3
  107. package/v2Components/ImagePreview/messages.js +1 -5
  108. package/v2Components/MobilePushPreviewV2/index.js +5 -2
  109. package/v2Components/MobilePushPreviewV2/messages.js +1 -9
  110. package/v2Components/NavigationBar/messages.js +1 -1
  111. package/v2Components/NewCallTask/messages.js +5 -5
  112. package/v2Components/PageHeader/_pageHeader.scss +22 -0
  113. package/v2Components/PageHeader/index.js +37 -0
  114. package/v2Components/PageHeader/messages.js +13 -0
  115. package/v2Components/PageHeader/tests/index.test.js +10 -0
  116. package/v2Components/PreviewSideBar/messages.js +6 -6
  117. package/v2Components/Sidebar/_sidebar.scss +115 -0
  118. package/v2Components/Sidebar/index.js +208 -0
  119. package/v2Components/Sidebar/messages.js +21 -0
  120. package/v2Components/Sidebar/tests/index.test.js +10 -0
  121. package/v2Components/SmsEditor/index.js +55 -0
  122. package/v2Components/SmsEditor/tests/index.test.js +10 -0
  123. package/v2Components/SmsTest/index.js +4 -6
  124. package/v2Components/SmsTest/messages.js +1 -9
  125. package/v2Components/TemplatePreview/WechatRichmediaTemplatePreview/_wechatRichmediaTemplatePrev.scss +2 -0
  126. package/v2Components/TemplatePreview/WechatRichmediaTemplatePreview/index.js +18 -28
  127. package/v2Components/TemplatePreview/WechatRichmediaTemplatePreview/messages.js +3 -3
  128. package/v2Components/TemplatePreview/_templatePreview.scss +0 -9
  129. package/v2Components/TemplatePreview/index.js +16 -35
  130. package/v2Components/TemplatePreview/messages.js +7 -23
  131. package/v2Components/Toastr/messages.js +1 -1
  132. package/v2Components/ToastrMessage/index.js +2 -3
  133. package/v2Components/ToastrMessage/messages.js +1 -5
  134. package/v2Components/TopBar/_topbar.scss +46 -0
  135. package/v2Components/TopBar/messages.js +7 -7
  136. package/v2Containers/App/constants.js +0 -11
  137. package/v2Containers/Assets/Gallery/messages.js +24 -24
  138. package/v2Containers/CallTask/messages.js +6 -6
  139. package/v2Containers/Cap/actions.js +0 -1
  140. package/v2Containers/Cap/index.js +9 -6
  141. package/v2Containers/Cap/messsages.js +15 -19
  142. package/v2Containers/Cap/sagas.js +8 -1
  143. package/v2Containers/ChannelTemplates/messages.js +1 -1
  144. package/v2Containers/CreativesContainer/SlideBoxContent.js +39 -1
  145. package/v2Containers/CreativesContainer/SlideBoxFooter.js +7 -1
  146. package/v2Containers/CreativesContainer/SlideBoxHeader.js +21 -3
  147. package/v2Containers/CreativesContainer/index.js +95 -50
  148. package/v2Containers/CreativesContainer/index.scss +15 -0
  149. package/v2Containers/CreativesContainer/messages.js +12 -16
  150. package/v2Containers/Dashboard/index.js +1 -2
  151. package/v2Containers/Dashboard/messages.js +1 -1
  152. package/v2Containers/Ebill/index.js +1 -1
  153. package/v2Containers/Ebill/messages.js +16 -20
  154. package/v2Containers/Email/index.js +20 -20
  155. package/v2Containers/Email/messages.js +61 -101
  156. package/v2Containers/EmailWrapper/index.js +44 -64
  157. package/v2Containers/EmailWrapper/messages.js +12 -12
  158. package/v2Containers/Line/Create/index.js +3 -3
  159. package/v2Containers/Line/Create/messages.js +41 -53
  160. package/v2Containers/Line/Edit/index.js +10 -10
  161. package/v2Containers/Line/Edit/messages.js +39 -55
  162. package/v2Containers/Login/components/LoginForm/index.js +6 -9
  163. package/v2Containers/Login/components/LoginForm/messages.js +3 -15
  164. package/v2Containers/Login/index.js +1 -1
  165. package/v2Containers/Login/messages.js +3 -7
  166. package/v2Containers/MobilePush/Create/_mobilePushCreate.scss +3 -0
  167. package/v2Containers/MobilePush/Create/index.js +33 -33
  168. package/v2Containers/MobilePush/Create/messages.js +81 -109
  169. package/v2Containers/MobilePush/Edit/_mobilePushCreate.scss +3 -0
  170. package/v2Containers/MobilePush/Edit/index.js +22 -22
  171. package/v2Containers/MobilePush/Edit/messages.js +79 -95
  172. package/v2Containers/MobilePush/initialSchema.js +1 -2
  173. package/v2Containers/MobilepushWrapper/messages.js +5 -5
  174. package/v2Containers/NotFoundPage/messages.js +1 -1
  175. package/v2Containers/Sms/Create/index.js +6 -6
  176. package/v2Containers/Sms/Create/messages.js +21 -41
  177. package/v2Containers/Sms/Edit/index.js +6 -6
  178. package/v2Containers/Sms/Edit/messages.js +20 -36
  179. package/v2Containers/TagList/messages.js +1 -1
  180. package/v2Containers/Templates/_templates.scss +31 -5
  181. package/v2Containers/Templates/index.js +243 -248
  182. package/v2Containers/Templates/messages.js +7 -15
  183. package/v2Containers/Templates/sagas.js +0 -1
  184. package/v2Containers/TemplatesV2/_templatesV2.scss +5 -0
  185. package/v2Containers/TemplatesV2/index.js +4 -1
  186. package/v2Containers/TemplatesV2/messages.js +5 -29
  187. package/v2Containers/TestPage/messages.js +1 -1
  188. package/v2Containers/Testv2/index.js +2 -2
  189. package/v2Containers/Testv2/messages.js +1 -9
  190. package/v2Containers/WeChat/MapTemplates/_mapTemplates.scss +16 -0
  191. package/v2Containers/WeChat/MapTemplates/actions.js +4 -2
  192. package/v2Containers/WeChat/MapTemplates/index.js +800 -872
  193. package/v2Containers/WeChat/MapTemplates/initialSchema.js +184 -0
  194. package/v2Containers/WeChat/MapTemplates/messages.js +19 -43
  195. package/v2Containers/WeChat/MapTemplates/sagas.js +6 -2
  196. package/v2Containers/WeChat/MapTemplates/selectors.js +1 -1
  197. package/v2Containers/WeChat/RichmediaTemplates/Create/_createRichmedia.scss +118 -28
  198. package/v2Containers/WeChat/RichmediaTemplates/Create/actions.js +3 -1
  199. package/v2Containers/WeChat/RichmediaTemplates/Create/index.js +262 -306
  200. package/v2Containers/WeChat/RichmediaTemplates/Create/messages.js +43 -95
  201. package/v2Containers/WeChat/RichmediaTemplates/Create/reducer.js +2 -1
  202. package/v2Containers/WeChat/RichmediaTemplates/Create/richmediaschema.js +113 -246
  203. package/v2Containers/WeChat/RichmediaTemplates/Create/sagas.js +5 -2
  204. package/v2Containers/WeChat/RichmediaTemplates/Create/selectors.js +1 -1
  205. package/v2Containers/WeChat/RichmediaTemplates/Edit/actions.js +2 -2
  206. package/v2Containers/WeChat/RichmediaTemplates/Edit/index.js +11 -10
  207. package/v2Containers/WeChat/RichmediaTemplates/Edit/messages.js +1 -1
  208. package/v2Containers/WeChat/RichmediaTemplates/Edit/reducer.js +1 -0
  209. package/v2Containers/WeChat/RichmediaTemplates/Edit/sagas.js +4 -2
  210. package/v2Containers/WeChat/RichmediaTemplates/Edit/selectors.js +1 -1
  211. package/v2Containers/WeChat/RichmediaTemplates/View/messages.js +1 -9
  212. package/v2Containers/WeChat/Wrapper/_wrapper.scss +0 -0
  213. package/v2Containers/WeChat/Wrapper/constants.js +5 -0
  214. package/v2Containers/WeChat/Wrapper/index.js +194 -0
  215. package/v2Containers/WeChat/Wrapper/messages.js +21 -0
  216. package/v2Containers/WeChat/helper.js +12 -0
  217. package/containers/Cap/messages.js +0 -75
  218. package/v2Containers/Cap/messages.js +0 -75
@@ -5,6 +5,8 @@
5
5
  background: white;
6
6
  width: 40%;
7
7
  text-align: left;
8
+ height: 300px;
9
+ overflow: scroll;
8
10
  }
9
11
  .wechatMsgContainerOutbound{
10
12
  position: absolute;
@@ -1,3 +1,4 @@
1
+ /* eslint-disable no-undef */
1
2
  /**
2
3
  *
3
4
  * WechatRichmediaTemplatePreview
@@ -9,7 +10,6 @@ import PropTypes from 'prop-types';
9
10
  import { CapRow, CapColumn, CapButton } from '@capillarytech/cap-ui-library/';
10
11
  import { FormattedMessage } from 'react-intl';
11
12
  import _ from 'lodash';
12
- import SlideBox from '../../SlideBox';
13
13
  import './_wechatRichmediaTemplatePrev.scss';
14
14
  import messages from './messages';
15
15
  const wechatBody = require('./../assets/images/WECHAT_5x.png');
@@ -90,43 +90,33 @@ class WechatRichmediaTemplatePreview extends React.PureComponent { // eslint-dis
90
90
  }
91
91
  render() {
92
92
  return (
93
- this.props.showSlidebox ?
94
- <SlideBox
95
- show={this.props.show}
96
- handleClose={this.props.closeSlideBox}
97
- header={this.props.templateName}
98
- width={50}
99
- content={
100
- <div className={`preview-container ${this.props.type === 'embedded' ? 'embedded-preview' : ''}`}>
101
- <div className="shell align-center" id="sms-preview">
102
- <img className="preview-image" src={wechatBody} alt="Preview is being generated"/>
103
- <div className={this.props.type === 'embedded' ? "wechatMsgContainerOutbound" : "wechatMsgContainer"}>
104
- <div className={this.props.type === 'embedded' ? "overflow-handle-preview-outbound" : "overflow-handle-preview"}>{this.preparePreviewData(this.props.content)}
105
- </div>
106
- </div>
93
+ this.props.contentForSlideBox ?
94
+ <div className={`preview-container ${this.props.type === 'embedded' ? 'embedded-preview' : ''}`}>
95
+ <div className="shell align-center" id="sms-preview">
96
+ <img className="preview-image" src={wechatBody} alt="Preview is being generated"/>
97
+ <div className={this.props.type === 'embedded' ? "wechatMsgContainerOutbound" : "wechatMsgContainer"}>
98
+ <div className={this.props.type === 'embedded' ? "overflow-handle-preview-outbound" : "overflow-handle-preview"}>
99
+ {this.preparePreviewData(this.props.content)}
107
100
  </div>
108
- {this.props.showEdit ? <CapButton onClick={(e) => this.goToEdit(e, this.props.path)} className="preview-buttons" type="primary">{this.props.type === 'embedded' ? <FormattedMessage {...messages.select} /> : <FormattedMessage {...messages.edit} /> }</CapButton> : ""}
109
101
  </div>
110
- }
111
- />
102
+ </div>
103
+ {this.props.showEdit ? <CapButton onClick={(e) => this.goToEdit(e, this.props.path)} className="preview-buttons" type="primary">{this.props.type === 'embedded' ? <FormattedMessage {...messages.select} /> : <FormattedMessage {...messages.edit} /> }</CapButton> : ""}
104
+ </div>
112
105
  :
113
- <div className={`preview-container ${this.props.type === 'embedded' ? 'embedded-preview' : ''}`}>
114
- <div className="shell align-center" id="sms-preview">
115
- <div className="wechatMsgContainerCardLayout">
116
- <div>{this.prepareCardLayoutPreviewData(this.props.content)}
117
- </div>
118
- </div>
106
+ <div className={`preview-container ${this.props.type === 'embedded' ? 'embedded-preview' : ''}`}>
107
+ <div className="shell align-center" id="sms-preview">
108
+ <div className="wechatMsgContainerCardLayout">
109
+ <div>{this.prepareCardLayoutPreviewData(this.props.content)}
119
110
  </div>
120
111
  </div>
112
+ </div>
113
+ </div>
121
114
  );
122
115
  }
123
116
  }
124
117
 
125
118
  WechatRichmediaTemplatePreview.propTypes = {
126
- showSlidebox: PropTypes.bool,
127
- show: PropTypes.bool,
128
- closeSlideBox: PropTypes.function,
129
- templateName: PropTypes.string,
119
+ contentForSlideBox: PropTypes.bool,
130
120
  type: PropTypes.string,
131
121
  content: PropTypes.array,
132
122
  onEditClick: PropTypes.func,
@@ -7,15 +7,15 @@ import { defineMessages } from 'react-intl';
7
7
 
8
8
  export default defineMessages({
9
9
  header: {
10
- id: 'creatives.components.WechatRichmediaTemplatePreview.header',
10
+ id: 'app.components.WechatRichmediaTemplatePreview.header',
11
11
  defaultMessage: 'This is the WechatRichmediaTemplatePreview component !',
12
12
  },
13
13
  select: {
14
- id: 'creatives.components.WechatRichmediaTemplatePreview.select',
14
+ id: 'app.components.WechatRichmediaTemplatePreview.select',
15
15
  defaultMessage: 'Select',
16
16
  },
17
17
  edit: {
18
- id: 'creatives.components.WechatRichmediaTemplatePreview.edit',
18
+ id: 'app.components.WechatRichmediaTemplatePreview.edit',
19
19
  defaultMessage: 'Edit',
20
20
  },
21
21
  });
@@ -350,12 +350,3 @@
350
350
  background-color: #333333;
351
351
  margin-right: 4px;
352
352
  }
353
-
354
- .character-count-col{
355
- margin-top: 8px;
356
- text-align: center;
357
- width: 100%;
358
- .optout-tag-heading{
359
- font-size: 12px;
360
- }
361
- }
@@ -8,7 +8,7 @@ import PropTypes from 'prop-types';
8
8
 
9
9
  import React from 'react';
10
10
  import _ from 'lodash';
11
- import { injectIntl, FormattedMessage, intlShape } from 'react-intl';
11
+ import { injectIntl, FormattedMessage} from 'react-intl';
12
12
  // import styled from 'styled-components';
13
13
  import {CapColumn, CapRow, CapHeading} from '@capillarytech/cap-ui-library';
14
14
  import './_templatePreview.scss';
@@ -59,47 +59,29 @@ class TemplatePreview extends React.Component { // eslint-disable-line react/pre
59
59
  <FormattedMessage {...messages.smsFormatType}/>
60
60
  }
61
61
  </CapHeading>}
62
- {smsDetails.optoutUrlPresent && <CapHeading type="h6">
63
- <FormattedMessage {...messages.optoutCharactersTotal} values={{optoutUrlLength: smsDetails.optouturlLength}} />
64
- </CapHeading>}
65
62
  </CapColumn>}
66
63
  <CapColumn span={this.props.showCount ? 8 : 24}>
67
64
  <div className={`preview-container ${type === 'embedded' ? 'embedded-preview' : ''}`}>
68
65
  { channel && channel.toLowerCase() === 'sms' &&
69
- <div>
70
- <div className="shell align-center" id="sms-preview">
71
- <img className="preview-image sms" src={smsBody} alt="Preview is being generated"/>
72
- <div className="msgContainer sms">
73
- <img className="sms-icon" src={smsIcon} alt="Sms icon" />
74
- <div className={"message-pop sms"}>
75
- {content && content.length && content.map((msg, index) =>
76
- <CapColumn key={`"message-pop-content-${index}`} className="message-pop-item align-left" style={{ background: '#3F51B5', color: '#ffffff'}}>
77
- {msg}
78
- </CapColumn>)
79
- }
80
- </div>
66
+ <div className="shell align-center" id="sms-preview">
67
+ <img className="preview-image sms" src={smsBody} alt="Preview is being generated"/>
68
+ <div className="msgContainer sms">
69
+ <img className="sms-icon" src={smsIcon} alt="Sms icon" />
70
+ <div className={"message-pop sms"}>
71
+ {content && content.length && content.map((msg, index) =>
72
+ <CapColumn key={`"message-pop-content-${index}`} className="message-pop-item align-left" style={{ background: '#3F51B5', color: '#ffffff'}}>
73
+ {msg}
74
+ </CapColumn>)
75
+ }
81
76
  </div>
82
77
  </div>
83
- {!this.props.showCount && <div>
84
- <CapColumn className="character-count-col" span={22}>
85
- {channel && channel.toLowerCase() === 'sms' && <CapHeading type="h3">
86
- <FormattedMessage {...messages.charactersTotal} values={{smsCount: smsDetails.parts, charCount: smsDetails.chars_used}}/>
87
- {smsDetails.unicode &&
88
- <FormattedMessage {...messages.smsFormatType}/>
89
- }
90
- </CapHeading>}
91
- {smsDetails.optoutUrlPresent && <CapHeading type="h6" className="optout-tag-heading">
92
- <FormattedMessage {...messages.optoutCharactersTotal} values={{optoutUrlLength: smsDetails.optouturlLength}} />
93
- </CapHeading>}
94
- </CapColumn>
95
- </div>}
96
78
  </div>
97
- }
79
+ }
98
80
  {channel && channel.toLowerCase() === 'wechat' ?
99
81
  ( <div className="shell align-center" id="sms-preview">
100
82
  <img className="preview-image" src={channel.toLowerCase() === 'wechat' ? wechatBody : smsBody} alt="Preview is being generated"/>
101
83
  <div className="msgContainer">
102
- {this.props.channel.toLowerCase() === 'wechat' ? <div className="sms-icon" style={{ width: '25px', height: '25px', background: '#2E89DF' }}></div> : <img className="sms-icon" src={smsIcon} alt={this.props.intl.formatMessage(messages.smsIcon)} />}
84
+ {this.props.channel.toLowerCase() === 'wechat' ? <div className="sms-icon" style={{ width: '25px', height: '25px', background: '#2E89DF' }}></div> : <img className="sms-icon" src={smsIcon} alt="Sms icon" />}
103
85
  <div className="message-pop align-left" style={{ background: `${this.props.channel.toLowerCase() === 'wechat' ? '#ffffff' : '#3F51B5'}`, color: `${this.props.channel.toLowerCase() === 'wechat' ? '#333333' : '#ffffff'}`}}>{content}
104
86
  </div>
105
87
  </div>
@@ -108,7 +90,7 @@ class TemplatePreview extends React.Component { // eslint-disable-line react/pre
108
90
  }
109
91
  { channel && (channel.toLowerCase() === 'mobilepush') &&
110
92
  (<div className="shell align-center" id="mobilepush-preview">
111
- <img className="preview-image" src={this.props.device === "android" ? androidPushMessagePhone : iPhonePushMessagePhone} alt={this.props.intl.formatMessage(messages.previewGenerated)}/>
93
+ <img className="preview-image" src={this.props.device === "android" ? androidPushMessagePhone : iPhonePushMessagePhone} alt="Preview is being generated"/>
112
94
  {(!!content.header || !!content.bodyText || !!content.bodyImage) &&
113
95
  <div className={`${this.props.device}-push-message-Container`}>
114
96
  {this.props.device === "android" ?
@@ -135,7 +117,7 @@ class TemplatePreview extends React.Component { // eslint-disable-line react/pre
135
117
  :
136
118
  <div className="message-pop align-left">
137
119
  <div className="app-name">
138
- <span className="app-icon"></span>{content.appName ? content.appName : "App name"} <i className="material-icons">{this.props.intl.formatMessage(messages.close)}</i>
120
+ <span className="app-icon"></span>{content.appName ? content.appName : "App name"} <i className="material-icons">close</i>
139
121
  </div>
140
122
  {content.bodyImage && <div className="body-image">
141
123
  <img src={content.bodyImage} alt=""/>
@@ -157,7 +139,7 @@ class TemplatePreview extends React.Component { // eslint-disable-line react/pre
157
139
  {
158
140
  channel && channel.toLowerCase() === 'line' ? (
159
141
  <div className="shell align-center" id="sms-preview">
160
- <img className="preview-image" src={wechatBody} alt={this.props.intl.formatMessage(messages.previewGenerated)}/>
142
+ <img className="preview-image" src={wechatBody} alt="Preview is being generated"/>
161
143
  <div className="msgContainer">
162
144
  <div className="sms-icon" style={{ width: '25px', height: '25px', background: '#2E89DF' }}></div>
163
145
  <div className="message-pop align-left" style={{ background: '#ffffff', color: '#333333' }}>
@@ -188,7 +170,6 @@ TemplatePreview.propTypes = {
188
170
  device: PropTypes.string,
189
171
  unicodeEnabled: PropTypes.bool,
190
172
  showCount: PropTypes.bool,
191
- intl: intlShape.isRequired,
192
173
  };
193
174
 
194
175
  export default (injectIntl(TemplatePreview));
@@ -7,47 +7,31 @@ import { defineMessages } from 'react-intl';
7
7
 
8
8
  export default defineMessages({
9
9
  previewGenerationMessage: {
10
- id: 'creatives.componentsV2.TemplatePreview.previewGenerationMessage',
10
+ id: 'app.components.TemplatePreview.previewGenerationMessage',
11
11
  defaultMessage: "Preview is being generated",
12
12
  },
13
13
  sms: {
14
- id: 'creatives.componentsV2.TemplatePreview.sms',
14
+ id: 'app.components.TemplatePreview.sms',
15
15
  defaultMessage: "SMS",
16
16
  },
17
17
  charactersPerSms: {
18
- id: 'creatives.componentsV2.TemplatePreview.charactersPerSms',
18
+ id: 'app.components.TemplatePreview.charactersPerSms',
19
19
  defaultMessage: "SMS chars",
20
20
  },
21
21
  charactersTotal: {
22
- id: 'creatives.componentsV2.TemplatePreview.charactersTotal',
22
+ id: 'app.components.TemplatePreview.charactersTotal',
23
23
  defaultMessage: "{smsCount} SMS ({charCount} characters)",
24
24
  },
25
- optoutCharactersTotal: {
26
- id: 'app.components.TemplatePreview.optoutCharactersTotal',
27
- defaultMessage: "Includes Optout tag ({optoutUrlLength} characters)",
28
- },
29
25
  smsFormatType: {
30
- id: 'creatives.componentsV2.TemplatePreview.smsFormatType',
26
+ id: 'app.components.TemplatePreview.smsFormatType',
31
27
  defaultMessage: 'Message has unicode characters',
32
28
  },
33
29
  lastModified: {
34
- id: 'creatives.componentsV2.PreviewSideBar.lastModified',
30
+ id: 'app.components.PreviewSideBar.lastModified',
35
31
  defaultMessage: 'Last modified on',
36
32
  },
37
33
  uploadedBy: {
38
- id: 'creatives.componentsV2.PreviewSideBar.uploadedBy',
34
+ id: 'app.components.PreviewSideBar.uploadedBy',
39
35
  defaultMessage: 'Last modified by',
40
36
  },
41
- previewGenerated: {
42
- id: 'creatives.componentsV2.TemplatePreview.previewGenerated',
43
- defaultMessage: 'Preview is being generated',
44
- },
45
- close: {
46
- id: 'creatives.componentsV2.TemplatePreview.close',
47
- defaultMessage: 'close',
48
- },
49
- smsIcon: {
50
- id: 'creatives.componentsV2.TemplatePreview.smsIcon',
51
- defaultMessage: 'Sms Icon',
52
- },
53
37
  });
@@ -7,7 +7,7 @@ import { defineMessages } from 'react-intl';
7
7
 
8
8
  export default defineMessages({
9
9
  header: {
10
- id: 'creatives.componentsV2.Toastr.header',
10
+ id: 'app.components.Toastr.header',
11
11
  defaultMessage: 'This is the Toastr component !',
12
12
  },
13
13
  });
@@ -7,10 +7,8 @@
7
7
  import PropTypes from 'prop-types';
8
8
 
9
9
  import React from 'react';
10
- import { FormattedMessage } from 'react-intl';
11
10
  import styled from 'styled-components';
12
11
  import { messageTypeConfig } from '../../config/toastr';
13
- import messages from './messages';
14
12
 
15
13
  const StyledMessageWrapper = styled.div`
16
14
  background: #f9f9fa;
@@ -86,7 +84,7 @@ class ToastrMessage extends React.Component { // eslint-disable-line react/prefe
86
84
  <div style={{ padding: `${16}px` }}>
87
85
  <MessageHeader>
88
86
  { this.props.title ? <span style={{ fontSize: `${20}px` }}>{this.props.title}</span> : '' }
89
- <StyleIcon className="material-icons" onClick={() => this.closeMessagePopup(this.props.messageId)}><FormattedMessage {...messages.close} /></StyleIcon>
87
+ <StyleIcon className="material-icons" onClick={() => this.closeMessagePopup(this.props.messageId)}>close</StyleIcon>
90
88
  </MessageHeader>
91
89
  <MessageContent>
92
90
  {this.props.text}
@@ -104,6 +102,7 @@ ToastrMessage.propTypes = {
104
102
  text: PropTypes.string,
105
103
  type: PropTypes.string,
106
104
  handleMessageClose: PropTypes.func,
105
+ hideProgressBar: PropTypes.bool,
107
106
  };
108
107
 
109
108
  export default ToastrMessage;
@@ -7,11 +7,7 @@ import { defineMessages } from 'react-intl';
7
7
 
8
8
  export default defineMessages({
9
9
  header: {
10
- id: 'creatives.componentsV2.ToastrMessage.header',
11
- defaultMessage: 'This is the ToastrMessage component !',
12
- },
13
- close: {
14
- id: 'creatives.componentsV2.ToastrMessage.close',
10
+ id: 'app.components.ToastrMessage.header',
15
11
  defaultMessage: 'This is the ToastrMessage component !',
16
12
  },
17
13
  });
@@ -0,0 +1,46 @@
1
+ .ui.navbar.menu {
2
+ height: 40px !important;
3
+ }
4
+ .ui.menu.navbar .item>img.logo{
5
+ height: 27px !important;
6
+ padding-left: 0!important;
7
+ margin: 0 auto;
8
+ max-width: 200px;
9
+ }
10
+ .ui.menu.navbar .ui.selection.dropdown{
11
+ height: 40px !important;
12
+ }
13
+
14
+ .ui.menu .ui.dropdown .menu>.selected.item {
15
+ background: #151821;
16
+ }
17
+ .org-list-drp-dwn .menu > .item{
18
+ height: 40px !important;
19
+ }
20
+ .ui.menu.navbar .ui.dropdown .menu>.item{
21
+ height: 40px !important;
22
+ }
23
+
24
+ .ui.search.selection.dropdown>input.search{
25
+ padding-left: 12px !important;
26
+ padding-top: 8px !important;
27
+ padding-bottom: 8px !important;
28
+ }
29
+
30
+ .ui.menu:not(.vertical) .right.item, .ui.menu:not(.vertical) .right.menu {
31
+ padding-right: 4px;
32
+ }
33
+
34
+ .ui.menu .item {
35
+ padding-left: 12px !important;
36
+ padding-right: 12px !important;
37
+ }
38
+
39
+ .ui.secondary.vertical.menu>.item {
40
+ margin-bottom: 0 !important;
41
+ padding: 8px 16px !important;
42
+ }
43
+
44
+ .ui.menu.navbar .item.dropdownItem {
45
+ padding: 0px !important;
46
+ }
@@ -7,31 +7,31 @@ import { defineMessages } from 'react-intl';
7
7
 
8
8
  export default defineMessages({
9
9
  profile: {
10
- id: 'creatives.componentsV2.TopBar.profile',
10
+ id: 'reon.components.TopBar.profile',
11
11
  defaultMessage: 'Profile',
12
12
  },
13
13
  settings: {
14
- id: 'creatives.componentsV2.TopBar.settings',
14
+ id: 'reon.components.TopBar.settings',
15
15
  defaultMessage: 'Settings',
16
16
  },
17
17
  logout: {
18
- id: 'creatives.componentsV2.TopBar.logout',
18
+ id: 'reon.components.TopBar.logout',
19
19
  defaultMessage: 'Logout',
20
20
  },
21
21
  dropdownMessage: {
22
- id: 'creatives.componentsV2.TopBar.brand.dropdown',
22
+ id: 'reon.components.TopBar.brand.dropdown',
23
23
  defaultMessage: 'Select brand',
24
24
  },
25
25
  hi: {
26
- id: 'creatives.componentsV2.TopBar.brand.hi',
26
+ id: 'app.components.TopBar.brand.dropdown',
27
27
  defaultMessage: 'Hi',
28
28
  },
29
29
  selectOrganization: {
30
- id: 'creatives.componentsV2.TopBar.brand.selectOrganization',
30
+ id: 'app.components.TopBar.brand.selectOrganization',
31
31
  defaultMessage: 'Select organization',
32
32
  },
33
33
  selectProduct: {
34
- id: 'creatives.componentsV2.TopBar.brand.selectProduct',
34
+ id: 'app.components.TopBar.brand.selectProduct',
35
35
  defaultMessage: 'Select product',
36
36
  },
37
37
  });
@@ -1,14 +1,3 @@
1
- import React from 'react';
2
- import { FormattedMessage } from 'react-intl';
3
- import globalMessages from '../Cap/messages';
4
-
5
1
  export const GET_SIDEBAR_REQUEST = 'app/App/GET_SIDEBAR_REQUEST';
6
2
  export const GET_SIDEBAR_SUCCESS = 'app/App/GET_SIDEBAR_SUCCESS';
7
3
  export const GET_SIDEBAR_FAILURE = 'app/App/GET_SIDEBAR_FAILURE';
8
-
9
- export const getTopbarMenuDataValue = () => ([
10
- { label: <FormattedMessage {...globalMessages.campaigns} />, link: '/campaigns/ui/list', key: 'campaigns' },
11
- { label: <FormattedMessage {...globalMessages.audience} />, link: '/audience-manager/list', key: 'audience' },
12
- { label: <FormattedMessage {...globalMessages.incentive} />, link: '/coupons/ui/', key: 'incentive' },
13
- { label: <FormattedMessage {...globalMessages.creatives} />, link: '/creatives/ui/v2', key: 'creatives' },
14
- ]);
@@ -7,99 +7,99 @@ import { defineMessages } from 'react-intl';
7
7
 
8
8
  export default defineMessages({
9
9
  uploadedAt: {
10
- id: 'creatives.containersV2.Assets.Gallery.uploadedAt',
10
+ id: 'app.containers.Assets.Gallery.uploadedAt',
11
11
  defaultMessage: 'Uploaded at ',
12
12
  },
13
13
  uploadedOn: {
14
- id: 'creatives.containersV2.Assets.Gallery.uploadedOn',
14
+ id: 'app.containers.Assets.Gallery.uploadedOn',
15
15
  defaultMessage: 'Uploaded on ',
16
16
  },
17
17
  uploadedBy: {
18
- id: 'creatives.containersV2.Assets.Gallery.uploadedBy',
18
+ id: 'app.containers.Assets.Gallery.uploadedBy',
19
19
  defaultMessage: 'Uploaded by ',
20
20
  },
21
21
  upload: {
22
- id: 'creatives.containersV2.Assets.Gallery.upload',
22
+ id: 'app.containers.Assets.Gallery.upload',
23
23
  defaultMessage: 'Upload image',
24
24
  },
25
25
  addImages: {
26
- id: `creatives.containersV2.Assets.Gallery.addImages`,
26
+ id: `app.containers.Assets.Gallery.addImages`,
27
27
  defaultMessage: 'Add images',
28
28
  },
29
29
  imagePreview: {
30
- id: 'creatives.containersV2.Assets.Gallery.imagePreview',
30
+ id: 'app.containers.Assets.Gallery.imagePreview',
31
31
  defaultMessage: 'Image preview',
32
32
  },
33
33
  size: {
34
- id: 'creatives.containersV2.Assets.Gallery.size',
34
+ id: 'app.containers.Assets.Gallery.size',
35
35
  defaultMessage: 'Size',
36
36
  },
37
37
  dimensions: {
38
- id: 'creatives.containersV2.Assets.Gallery.dimensions',
38
+ id: 'app.containers.Assets.Gallery.dimensions',
39
39
  defaultMessage: 'Dimensions',
40
40
  },
41
41
  gallery: {
42
- id: 'creatives.containersV2.Assets.Gallery.gallery',
42
+ id: 'app.containers.Assets.Gallery.gallery',
43
43
  defaultMessage: 'Gallery',
44
44
  },
45
45
  backToGallery: {
46
- id: 'creatives.containersV2.Assets.Gallery.backToGallery',
46
+ id: 'app.containers.Assets.Gallery.backToGallery',
47
47
  defaultMessage: 'Back to image gallery',
48
48
  },
49
49
  mostRecent: {
50
- id: 'creatives.containersV2.Assets.Gallery.mostRecent',
50
+ id: 'app.containers.Assets.Gallery.mostRecent',
51
51
  defaultMessage: 'Most recent',
52
52
  },
53
53
  alphabetically: {
54
- id: 'creatives.containersV2.Assets.Gallery.alphabetically',
54
+ id: 'app.containers.Assets.Gallery.alphabetically',
55
55
  defaultMessage: 'Alphabetically',
56
56
  },
57
57
  sortby: {
58
- id: 'creatives.containersV2.Assets.Gallery.sortby',
58
+ id: 'app.containers.Assets.Gallery.sortby',
59
59
  defaultMessage: 'Sort by',
60
60
  },
61
61
  delete: {
62
- id: 'creatives.containersV2.Assets.Gallery.delete',
62
+ id: 'app.containers.Assets.Gallery.delete',
63
63
  defaultMessage: 'Delete',
64
64
  },
65
65
  search: {
66
- id: 'creatives.containersV2.Assets.Gallery.search',
66
+ id: 'app.containers.Assets.Gallery.search',
67
67
  defaultMessage: 'Search',
68
68
  },
69
69
  select: {
70
- id: 'creatives.containersV2.Assets.Gallery.select',
70
+ id: 'app.containers.Assets.Gallery.select',
71
71
  defaultMessage: 'Select',
72
72
  },
73
73
  preview: {
74
- id: 'creatives.containersV2.Assets.Gallery.preview',
74
+ id: 'app.containers.Assets.Gallery.preview',
75
75
  defaultMessage: 'Preview',
76
76
  },
77
77
  assetUploadSuccess: {
78
- id: 'creatives.containersV2.Assets.Gallery.assetUploadSuccess',
78
+ id: 'app.containers.Assets.Gallery.assetUploadSuccess',
79
79
  defaultMessage: 'Image uploaded successfully',
80
80
  },
81
81
  assetUploadFailed: {
82
- id: 'creatives.containersV2.Assets.Gallery.assetUploadFailed',
82
+ id: 'app.containers.Assets.Gallery.assetUploadFailed',
83
83
  defaultMessage: 'Image uploaded failed',
84
84
  },
85
85
  assetDeleteSuccess: {
86
- id: 'creatives.containersV2.Assets.Gallery.assetDeleteSuccess',
86
+ id: 'app.containers.Assets.Gallery.assetDeleteSuccess',
87
87
  defaultMessage: 'Image deleted successfully.',
88
88
  },
89
89
  assetDeleteFailed: {
90
- id: 'creatives.containersV2.Assets.Gallery.assetDeleteFailed',
90
+ id: 'app.containers.Assets.Gallery.assetDeleteFailed',
91
91
  defaultMessage: 'Image deletion failed.',
92
92
  },
93
93
  noAssetMessage: {
94
- id: 'creatives.containersV2.Assets.Gallery.noAssetMessage',
94
+ id: 'app.containers.Assets.Gallery.noAssetMessage',
95
95
  defaultMessage: 'No image is uploaded',
96
96
  },
97
97
  lastUpdated: {
98
- id: 'creatives.containersV2.Assets.Gallery.lastUpdated',
98
+ id: 'app.containers.Assets.Gallery.lastUpdated',
99
99
  defaultMessage: 'Last update {on} by {by}',
100
100
  },
101
101
  noTemplatesFound: {
102
- id: `creatives.containersV2.Assets.Gallery.noTemplatesFound`,
102
+ id: `app.containers.Assets.Gallery.noTemplatesFound`,
103
103
  defaultMessage: 'No templates found',
104
104
  },
105
105
  });
@@ -7,27 +7,27 @@ import { defineMessages } from 'react-intl';
7
7
 
8
8
  export default defineMessages({
9
9
  addNewCallTask: {
10
- id: 'creatives.containersV2.CallTask.addNewCallTask',
10
+ id: 'app.containers.CallTask.addNewCallTask',
11
11
  defaultMessage: 'Add new call task',
12
12
  },
13
13
  newMessage: {
14
- id: 'creatives.containersV2.CallTask.newMessage',
14
+ id: 'app.containers.CallTask.newMessage',
15
15
  defaultMessage: 'New message',
16
16
  },
17
17
  callTaskInfo: {
18
- id: 'creatives.containersV2.CallTask.callTaskInfo',
18
+ id: 'app.containers.CallTask.callTaskInfo',
19
19
  defaultMessage: 'Call Tasks are message sent to store staff. The messages are displayed on the Point of Sale (POS) machines for store staff to take action.',
20
20
  },
21
21
  callTaskTitleIllustartion: {
22
- id: `creatives.containersV2.CallTask.callTaskTitleIllustartion`,
22
+ id: `app.containers.CallTask.callTaskTitleIllustartion`,
23
23
  defaultMessage: 'Create a Call Task {templateText}',
24
24
  },
25
25
  newCallTaskTemplate: {
26
- id: `creatives.containersV2.CallTask.newCallTaskTemplate`,
26
+ id: `app.containers.CallTask.newCallTaskTemplate`,
27
27
  defaultMessage: 'New Call Task {templateText}',
28
28
  },
29
29
  template: {
30
- id: `creatives.containersV2.CallTask.template`,
30
+ id: `app.containers.CallTask.template`,
31
31
  defaultMessage: 'template',
32
32
  },
33
33
  });
@@ -24,7 +24,6 @@ export function changeOrg(orgID) {
24
24
  }
25
25
 
26
26
  export function addMessageToQueue(message) {
27
- console.log('CAP Action ', message);
28
27
  return {
29
28
  type: types.ADD_MESSAGE,
30
29
  message,
@@ -2,15 +2,14 @@ import PropTypes from 'prop-types';
2
2
  import React from 'react';
3
3
  import Helmet from 'react-helmet';
4
4
  import { connect } from 'react-redux';
5
- import {CapNotification} from '@capillarytech/cap-ui-library';
6
5
  import { bindActionCreators } from 'redux';
7
6
  import styled from 'styled-components';
8
7
  import { createStructuredSelector } from 'reselect';
9
8
  import _ from 'lodash';
10
9
  import moment from 'moment';
11
10
  // import 'moment/locale/zh-cn';
12
- import { injectIntl, FormattedMessage } from 'react-intl';
13
- import messages from './messages';
11
+ import { injectIntl } from 'react-intl';
12
+ import {CapNotification} from '@capillarytech/cap-ui-library';
14
13
  import { makeSelectAuthenticated, makeSelectUser } from './selectors';
15
14
  import * as actions from './actions';
16
15
  import * as locationActions from '../LanguageProvider/actions';
@@ -165,9 +164,9 @@ export class Cap extends React.Component { // eslint-disable-line react/prefer-s
165
164
  <CapWrapper>
166
165
  <Helmet
167
166
  titleTemplate="Capillary - %s"
168
- defaultTitle={<FormattedMessage {...messages.appName} />}
167
+ defaultTitle="App Name"
169
168
  meta={[
170
- { name: 'description', content: <FormattedMessage {...messages.appName} /> },
169
+ { name: 'description', content: 'App Name' },
171
170
  ]}
172
171
  />
173
172
  <div className="wrapper">
@@ -192,7 +191,11 @@ export class Cap extends React.Component { // eslint-disable-line react/prefer-s
192
191
  </div>
193
192
  </div>
194
193
  {(toastMessages && toastMessages.length > 0) &&
195
- toastMessages.map((message) => CapNotification[message.type]({message: message.text, key: message.text, duration: message.duration || 5})
194
+ toastMessages.map((message) => {
195
+ //If the messages are not removed then the same messages appear again
196
+ setTimeout(this.handleRemoveMessage(message.messageIndex), (message.duration || 5) * 1000);
197
+ return CapNotification[message.type]({message: message.text, key: message.text, duration: message.duration || 5});
198
+ }
196
199
  )
197
200
  }
198
201
  {this.props.Global.fetching_userdata &&