@capillarytech/creatives-library 3.0.31 → 3.0.32

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 (171) hide show
  1. package/app.js +1 -1
  2. package/components/BreadCrumbs/messages.js +1 -1
  3. package/components/CapTagList/index.js +3 -3
  4. package/components/CapTagList/messages.js +16 -4
  5. package/components/Ckeditor/messages.js +1 -1
  6. package/components/CustomPopOver/index.js +3 -4
  7. package/components/CustomPopOver/messages.js +5 -1
  8. package/components/DateFilter/index.js +12 -12
  9. package/components/DateFilter/messages.js +40 -0
  10. package/components/DateRange/index.js +5 -4
  11. package/components/DateRange/messages.js +13 -1
  12. package/components/Edmeditor/messages.js +1 -1
  13. package/components/EmailPreview/index.js +4 -4
  14. package/components/EmailPreview/messages.js +18 -2
  15. package/components/Footer/messages.js +1 -1
  16. package/components/FormBuilder/index.js +13 -17
  17. package/components/FormBuilder/messages.js +33 -1
  18. package/components/Header/messages.js +4 -4
  19. package/components/ImagePreview/index.js +1 -1
  20. package/components/ImagePreview/messages.js +5 -1
  21. package/components/PageHeader/messages.js +1 -1
  22. package/components/PreviewSideBar/index.js +2 -2
  23. package/components/PreviewSideBar/messages.js +14 -6
  24. package/components/Sidebar/messages.js +3 -3
  25. package/components/SmsTest/index.js +6 -4
  26. package/components/SmsTest/messages.js +9 -1
  27. package/components/TemplatePreview/WechatRichmediaTemplatePreview/messages.js +3 -3
  28. package/components/TemplatePreview/index.js +12 -7
  29. package/components/TemplatePreview/messages.js +28 -5
  30. package/components/Toastr/messages.js +1 -1
  31. package/components/ToastrMessage/index.js +4 -1
  32. package/components/ToastrMessage/messages.js +5 -1
  33. package/components/TopBar/messages.js +1 -1
  34. package/config/app.js +4 -0
  35. package/containers/Assets/Gallery/messages.js +20 -20
  36. package/containers/Cap/index.js +6 -5
  37. package/containers/Cap/messages.js +75 -0
  38. package/containers/Dashboard/index.js +2 -2
  39. package/containers/Dashboard/messages.js +1 -1
  40. package/containers/Ebill/index.js +1 -1
  41. package/containers/Ebill/messages.js +20 -16
  42. package/containers/Email/index.js +24 -24
  43. package/containers/Email/messages.js +107 -59
  44. package/containers/Line/Create/index.js +5 -5
  45. package/containers/Line/Create/messages.js +58 -42
  46. package/containers/Line/Edit/index.js +12 -12
  47. package/containers/Line/Edit/messages.js +58 -38
  48. package/containers/Login/components/LoginForm/index.js +10 -7
  49. package/containers/Login/components/LoginForm/messages.js +15 -3
  50. package/containers/Login/index.js +1 -1
  51. package/containers/Login/messages.js +7 -3
  52. package/containers/MobilePush/Create/index.js +43 -43
  53. package/containers/MobilePush/Create/messages.js +111 -75
  54. package/containers/MobilePush/Edit/index.js +43 -43
  55. package/containers/MobilePush/Edit/messages.js +100 -83
  56. package/containers/NotFoundPage/messages.js +1 -1
  57. package/containers/Sms/Create/index.js +7 -8
  58. package/containers/Sms/Create/messages.js +43 -19
  59. package/containers/Sms/Edit/index.js +4 -4
  60. package/containers/Sms/Edit/messages.js +36 -20
  61. package/containers/TagList/messages.js +1 -1
  62. package/containers/Templates/index.js +20 -19
  63. package/containers/Templates/messages.js +136 -64
  64. package/containers/TestPage/messages.js +1 -1
  65. package/containers/Testv2/index.js +2 -2
  66. package/containers/Testv2/messages.js +9 -1
  67. package/containers/WeChat/MapTemplates/index.js +10 -10
  68. package/containers/WeChat/MapTemplates/messages.js +49 -17
  69. package/containers/WeChat/RichmediaTemplates/Create/messages.js +33 -33
  70. package/containers/WeChat/RichmediaTemplates/Edit/messages.js +1 -1
  71. package/containers/WeChat/RichmediaTemplates/View/index.js +2 -2
  72. package/containers/WeChat/RichmediaTemplates/View/messages.js +9 -1
  73. package/hoc/withStyles.js +12 -0
  74. package/index.js +8 -1
  75. package/package.json +1 -4
  76. package/reducers.js +1 -1
  77. package/routes.js +4 -1
  78. package/services/api.js +25 -2
  79. package/translations/en.json +1396 -360
  80. package/translations/zh.json +1417 -381
  81. package/utils/smsCharCountV2.js +28 -6
  82. package/v2Components/BreadCrumbs/messages.js +1 -1
  83. package/v2Components/CallTaskPreview/messages.js +1 -1
  84. package/v2Components/CapTagList/index.js +6 -5
  85. package/v2Components/CapTagList/messages.js +24 -4
  86. package/v2Components/Ckeditor/messages.js +1 -1
  87. package/v2Components/CmsTemplatesComponent/messages.js +2 -2
  88. package/v2Components/CustomPopOver/index.js +4 -2
  89. package/v2Components/CustomPopOver/messages.js +5 -1
  90. package/v2Components/Edmeditor/messages.js +1 -1
  91. package/v2Components/EmailPreview/index.js +2 -2
  92. package/v2Components/EmailPreview/messages.js +11 -3
  93. package/v2Components/EmailPreviewV2/index.js +1 -1
  94. package/v2Components/EmailPreviewV2/messages.js +13 -9
  95. package/v2Components/Footer/messages.js +1 -1
  96. package/v2Components/FormBuilder/index.js +17 -14
  97. package/v2Components/FormBuilder/messages.js +49 -1
  98. package/v2Components/Header/messages.js +4 -4
  99. package/v2Components/ImagePreview/index.js +3 -2
  100. package/v2Components/ImagePreview/messages.js +5 -1
  101. package/v2Components/MobilePushPreviewV2/index.js +2 -5
  102. package/v2Components/MobilePushPreviewV2/messages.js +9 -1
  103. package/v2Components/NavigationBar/messages.js +1 -1
  104. package/v2Components/NewCallTask/messages.js +5 -5
  105. package/v2Components/PreviewSideBar/messages.js +6 -6
  106. package/v2Components/SmsTest/index.js +6 -4
  107. package/v2Components/SmsTest/messages.js +9 -1
  108. package/v2Components/TemplatePreview/WechatRichmediaTemplatePreview/messages.js +3 -3
  109. package/v2Components/TemplatePreview/_templatePreview.scss +8 -0
  110. package/v2Components/TemplatePreview/index.js +35 -16
  111. package/v2Components/TemplatePreview/messages.js +23 -7
  112. package/v2Components/Toastr/messages.js +1 -1
  113. package/v2Components/ToastrMessage/index.js +3 -2
  114. package/v2Components/ToastrMessage/messages.js +5 -1
  115. package/v2Components/TopBar/messages.js +7 -7
  116. package/v2Containers/App/constants.js +11 -0
  117. package/v2Containers/Assets/Gallery/messages.js +24 -24
  118. package/v2Containers/CallTask/messages.js +6 -6
  119. package/v2Containers/Cap/index.js +5 -4
  120. package/v2Containers/Cap/messages.js +75 -0
  121. package/v2Containers/Cap/messsages.js +19 -15
  122. package/v2Containers/Cap/sagas.js +1 -8
  123. package/v2Containers/ChannelTemplates/messages.js +1 -1
  124. package/v2Containers/CreativesContainer/messages.js +16 -8
  125. package/v2Containers/Dashboard/index.js +2 -1
  126. package/v2Containers/Dashboard/messages.js +1 -1
  127. package/v2Containers/Ebill/index.js +1 -1
  128. package/v2Containers/Ebill/messages.js +20 -16
  129. package/v2Containers/Email/index.js +20 -20
  130. package/v2Containers/Email/messages.js +97 -61
  131. package/v2Containers/EmailWrapper/index.js +64 -44
  132. package/v2Containers/EmailWrapper/messages.js +12 -12
  133. package/v2Containers/LanguageProvider/actions.js +9 -4
  134. package/v2Containers/LanguageProvider/constants.js +7 -0
  135. package/v2Containers/LanguageProvider/index.js +32 -10
  136. package/v2Containers/LanguageProvider/reducer.js +12 -4
  137. package/v2Containers/LanguageProvider/sagas.js +39 -0
  138. package/v2Containers/LanguageProvider/selectors.js +1 -1
  139. package/v2Containers/Line/Create/index.js +3 -3
  140. package/v2Containers/Line/Create/messages.js +53 -41
  141. package/v2Containers/Line/Edit/index.js +10 -10
  142. package/v2Containers/Line/Edit/messages.js +55 -39
  143. package/v2Containers/Login/components/LoginForm/index.js +9 -6
  144. package/v2Containers/Login/components/LoginForm/messages.js +15 -3
  145. package/v2Containers/Login/index.js +1 -1
  146. package/v2Containers/Login/messages.js +7 -3
  147. package/v2Containers/MobilePush/Create/index.js +33 -33
  148. package/v2Containers/MobilePush/Create/messages.js +109 -81
  149. package/v2Containers/MobilePush/Edit/index.js +22 -22
  150. package/v2Containers/MobilePush/Edit/messages.js +95 -79
  151. package/v2Containers/MobilepushWrapper/messages.js +5 -5
  152. package/v2Containers/NotFoundPage/messages.js +1 -1
  153. package/v2Containers/Sms/Create/index.js +6 -6
  154. package/v2Containers/Sms/Create/messages.js +41 -21
  155. package/v2Containers/Sms/Edit/index.js +6 -6
  156. package/v2Containers/Sms/Edit/messages.js +36 -20
  157. package/v2Containers/TagList/messages.js +1 -1
  158. package/v2Containers/Templates/messages.js +27 -3
  159. package/v2Containers/TemplatesV2/TemplatesV2.style.js +29 -0
  160. package/v2Containers/TemplatesV2/index.js +29 -51
  161. package/v2Containers/TemplatesV2/messages.js +29 -5
  162. package/v2Containers/TestPage/messages.js +1 -1
  163. package/v2Containers/Testv2/index.js +2 -2
  164. package/v2Containers/Testv2/messages.js +9 -1
  165. package/v2Containers/WeChat/MapTemplates/index.js +8 -8
  166. package/v2Containers/WeChat/MapTemplates/messages.js +49 -17
  167. package/v2Containers/WeChat/RichmediaTemplates/Create/index.js +6 -6
  168. package/v2Containers/WeChat/RichmediaTemplates/Create/messages.js +95 -43
  169. package/v2Containers/WeChat/RichmediaTemplates/Edit/messages.js +1 -1
  170. package/v2Containers/WeChat/RichmediaTemplates/View/messages.js +9 -1
  171. package/v2Containers/TemplatesV2/_templatesV2.scss +0 -5
@@ -2,6 +2,8 @@ import PropTypes from 'prop-types';
2
2
  import React from 'react';
3
3
  import { Form, Icon } from 'antd';
4
4
  import { CapInput, CapButton } from '@capillarytech/cap-ui-library';
5
+ import { injectIntl, intlShape } from 'react-intl';
6
+ import messages from './messages';
5
7
  const FormItem = Form.Item;
6
8
 
7
9
  class NormalLoginForm extends React.Component {
@@ -20,21 +22,21 @@ class NormalLoginForm extends React.Component {
20
22
  <Form onSubmit={this.handleSubmit} className="login-form">
21
23
  <FormItem className="login-form-item">
22
24
  {getFieldDecorator('username', {
23
- rules: [{ required: true, message: 'Please input your username!' }],
25
+ rules: [{ required: true, message: this.props.intl.formatMessage(messages.inputUsernameMandatory) }],
24
26
  })(
25
- <CapInput prefix={<Icon type="user" style={{ fontSize: 13 }} />} placeholder="Username" />
27
+ <CapInput prefix={<Icon type="user" style={{ fontSize: 13 }} />} placeholder={this.props.intl.formatMessage(messages.username)} />
26
28
  )}
27
29
  </FormItem>
28
30
  <FormItem className="login-form-item">
29
31
  {getFieldDecorator('password', {
30
- rules: [{ required: true, message: 'Please input your Password!' }],
32
+ rules: [{ required: true, message: this.props.intl.formatMessage(messages.inputPasswordMandatory) }],
31
33
  })(
32
- <CapInput prefix={<Icon type="lock" style={{ fontSize: 13 }} />} type="password" placeholder="Password" />
34
+ <CapInput prefix={<Icon type="lock" style={{ fontSize: 13 }} />} type="password" placeholder={this.props.intl.formatMessage(messages.password)} />
33
35
  )}
34
36
  </FormItem>
35
37
  {this.props.isError
36
38
  ? <FormItem>
37
- <span style={{color: "red"}}>{"Invalid or Incorrect credentials!"}</span>
39
+ <span style={{color: "red"}}>{this.props.intl.formatMessage(messages.invalidCredentials)}</span>
38
40
  </FormItem>
39
41
  : null
40
42
  }
@@ -53,7 +55,8 @@ NormalLoginForm.propTypes = {
53
55
  loginInProgress: PropTypes.bool,
54
56
  isError: PropTypes.bool,
55
57
  form: PropTypes.object,
58
+ intl: intlShape.isRequired,
56
59
  };
57
60
 
58
61
  const WrappedNormalLoginForm = Form.create()(NormalLoginForm);
59
- export default WrappedNormalLoginForm;
62
+ export default injectIntl(WrappedNormalLoginForm);
@@ -7,15 +7,27 @@ import { defineMessages } from 'react-intl';
7
7
 
8
8
  export default defineMessages({
9
9
  username: {
10
- id: 'reon.modules.Login.components.LoginForm.input.username',
10
+ id: 'reon.modules.Login.componentsv2.LoginForm.input.username',
11
11
  defaultMessage: 'Username or email',
12
12
  },
13
13
  password: {
14
- id: 'reon.modules.Login.components.LoginForm.input.password',
14
+ id: 'reon.modules.Login.componentsv2.LoginForm.input.password',
15
15
  defaultMessage: 'Password',
16
16
  },
17
17
  loginButton: {
18
- id: 'reon.modules.Login.components.LoginForm.input.loginButton',
18
+ id: 'reon.modules.Login.componentsv2.LoginForm.input.loginButton',
19
19
  defaultMessage: 'Login',
20
20
  },
21
+ invalidCredentials: {
22
+ id: 'reon.modules.Login.componentsv2.LoginForm.input.invalidCredentials',
23
+ defaultMessage: 'Invalid or Incorrect credentials!',
24
+ },
25
+ inputPasswordMandatory: {
26
+ id: 'reon.modules.Login.componentsv2.LoginForm.input.inputPasswordMandatory',
27
+ defaultMessage: 'Please input your Password!',
28
+ },
29
+ inputUsernameMandatory: {
30
+ id: 'reon.modules.Login.componentsv2.LoginForm.input.inputUsernameMandatory',
31
+ defaultMessage: 'Please input your username!',
32
+ },
21
33
  });
@@ -58,7 +58,7 @@ export class Login extends React.Component { // eslint-disable-line react/prefer
58
58
  <Helmet
59
59
  title={message}
60
60
  meta={[
61
- { name: 'description', content: 'Login Page' },
61
+ { name: 'description', content: <FormattedMessage {...messages.loginPage}/> },
62
62
  ]}
63
63
  />}
64
64
  </FormattedMessage>
@@ -7,15 +7,19 @@ import { defineMessages } from 'react-intl';
7
7
 
8
8
  export default defineMessages({
9
9
  pageTitle: {
10
- id: 'app.containers.Login.pageTitle',
10
+ id: 'creatives.containersV2.Login.pageTitle',
11
11
  defaultMessage: 'Login',
12
12
  },
13
13
  header: {
14
- id: 'app.containers.Login.header',
14
+ id: 'creatives.containersV2.Login.header',
15
15
  defaultMessage: 'This is login container change !',
16
16
  },
17
17
  invalidCredential: {
18
- id: 'app.containers.Login.invalidCredential',
18
+ id: 'creatives.containersV2.Login.invalidCredential',
19
19
  defaultMessage: 'Invalid username or password',
20
20
  },
21
+ loginPage: {
22
+ id: 'creatives.containersV2.Login.loginPage',
23
+ defaultMessage: 'Login Page',
24
+ },
21
25
  });
@@ -46,7 +46,7 @@ export class Create extends React.Component { // eslint-disable-line react/prefe
46
46
  eventsMap,
47
47
  errorData: {},
48
48
  displayProps: {},
49
- modalContent: {title: "Alert", body: "template not configured,", type: 'confirm'},
49
+ modalContent: {title: this.props.intl.formatMessage(messages.alertMessage), body: this.props.intl.formatMessage(messages.templateNotConfigured), type: 'confirm'},
50
50
  injectedTags: {},
51
51
  };
52
52
  }
@@ -219,12 +219,12 @@ export class Create extends React.Component { // eslint-disable-line react/prefe
219
219
 
220
220
  {
221
221
  id: inputId,
222
- placeholder: "Select DeepLink",
222
+ placeholder: this.props.intl.formatMessage(messages.selectDeeplink),
223
223
  type: "select", //Resembles component to be used
224
224
  options: deepLinkOptions,
225
225
  metaType: "text",
226
226
  datatype: "string",
227
- errorMessage: "Select a deeplink",
227
+ errorMessage: this.props.intl.formatMessage(messages.selectADeeplink),
228
228
  required: true,
229
229
  fluid: true,
230
230
  width: 18,
@@ -256,7 +256,7 @@ export class Create extends React.Component { // eslint-disable-line react/prefe
256
256
 
257
257
  {
258
258
  id: inputId,
259
- placeholder: "External Link",
259
+ placeholder: this.props.intl.formatMessage(messages.externalLink),
260
260
  type: "input", //Resembles component to be used
261
261
  metaType: "text",
262
262
  datatype: "string",
@@ -572,16 +572,16 @@ export class Create extends React.Component { // eslint-disable-line react/prefe
572
572
  setModalContent = (type) => {
573
573
  if (type === 'ios') {
574
574
  const modalContent = {
575
- title: "Alert",
576
- body: "Android template is not configured. Save without Android template",
575
+ title: this.props.intl.formatMessage(messages.alertMessage),
576
+ body: this.props.intl.formatMessage(messages.androidNotConfigured),
577
577
  type: 'confirm',
578
578
  id: 'ios',
579
579
  };
580
580
  this.setState({modalContent, showModal: true});
581
581
  } else if (type === 'android') {
582
582
  const modalContent = {
583
- title: "Alert",
584
- body: "IOS template is not configured, Save without IOS template",
583
+ title: this.props.intl.formatMessage(messages.alertMessage),
584
+ body: this.props.intl.formatMessage(messages.iosNotConfigured),
585
585
  type: 'confirm',
586
586
  id: 'android',
587
587
  };
@@ -643,8 +643,8 @@ export class Create extends React.Component { // eslint-disable-line react/prefe
643
643
 
644
644
  moveToTemplates = () => {
645
645
  const modalContent = {
646
- title: "Alert",
647
- body: this.props.intl.formatMessage(messages["Do you really want to go back? All your temporary changes will be lost!"]),
646
+ title: this.props.intl.formatMessage(messages.alertMessage),
647
+ body: this.props.intl.formatMessage(messages.goBackTemporaryChangesLost),
648
648
  type: 'confirm',
649
649
  id: 'template-back-confirm-modal',
650
650
  show: true,
@@ -1032,7 +1032,7 @@ export class Create extends React.Component { // eslint-disable-line react/prefe
1032
1032
  required: true,
1033
1033
  width: 18,
1034
1034
  offset: 1,
1035
- errorMessage: "Please select link type",
1035
+ errorMessage: this.props.intl.formatMessage(messages.selectLinkType),
1036
1036
  fluid: true,
1037
1037
 
1038
1038
  styling: "semantic",
@@ -1049,12 +1049,12 @@ export class Create extends React.Component { // eslint-disable-line react/prefe
1049
1049
 
1050
1050
  {
1051
1051
  id: `cta-deeplink-${inputId}-select2`,
1052
- placeholder: "Select DeepLink",
1052
+ placeholder: this.props.intl.formatMessage(messages.selectDeeplink),
1053
1053
  type: "select", //Resembles component to be used
1054
1054
  options: deepLinkOptions,
1055
1055
  metaType: "text",
1056
1056
  datatype: "string",
1057
- errorMessage: "Select a deeplink",
1057
+ errorMessage: this.props.intl.formatMessage(messages.selectADeeplink),
1058
1058
  required: true,
1059
1059
  fluid: true,
1060
1060
  width: 18,
@@ -1107,7 +1107,7 @@ export class Create extends React.Component { // eslint-disable-line react/prefe
1107
1107
  required: true,
1108
1108
  width: 18,
1109
1109
  offset: 1,
1110
- errorMessage: "Please select link type",
1110
+ errorMessage: this.props.intl.formatMessage(messages.selectLinkType),
1111
1111
  fluid: true,
1112
1112
  styling: "semantic",
1113
1113
  order: 1,
@@ -1124,13 +1124,13 @@ export class Create extends React.Component { // eslint-disable-line react/prefe
1124
1124
 
1125
1125
  {
1126
1126
  id: `cta-deeplink${this.state.currentTab > 1 ? this.state.currentTab : ''}-select`,
1127
- placeholder: "Select DeepLink",
1127
+ placeholder: this.props.intl.formatMessage(messages.selectDeeplink),
1128
1128
  type: "select", //Resembles component to be used
1129
1129
  options: deepLinkOptions,
1130
1130
  metaType: "text",
1131
1131
  datatype: "string",
1132
1132
  required: true,
1133
- errorMessage: "Select a deeplink",
1133
+ errorMessage: this.props.intl.formatMessage(messages.selectADeeplink),
1134
1134
  fluid: true,
1135
1135
  width: 18,
1136
1136
  offset: 1,
@@ -1188,12 +1188,12 @@ export class Create extends React.Component { // eslint-disable-line react/prefe
1188
1188
  required: true,
1189
1189
  width: 18,
1190
1190
  offset: 1,
1191
- placeholder: "Enter CTA Label here",
1191
+ placeholder: this.props.intl.formatMessage(messages.enterCTALabel),
1192
1192
  fluid: true,
1193
1193
  styling: "semantic",
1194
1194
  order: 1,
1195
1195
  customComponent: false,
1196
- errorMessage: "CTA label cannot be empty.",
1196
+ errorMessage: this.props.intl.formatMessage(messages.ctaLabelCantEmpty),
1197
1197
  },
1198
1198
 
1199
1199
  ],
@@ -1213,7 +1213,7 @@ export class Create extends React.Component { // eslint-disable-line react/prefe
1213
1213
  required: true,
1214
1214
  width: 18,
1215
1215
  offset: 1,
1216
- errorMessage: "Please select link type",
1216
+ errorMessage: this.props.intl.formatMessage(messages.selectLinkType),
1217
1217
  fluid: true,
1218
1218
  styling: "semantic",
1219
1219
  order: 1,
@@ -1231,10 +1231,10 @@ export class Create extends React.Component { // eslint-disable-line react/prefe
1231
1231
 
1232
1232
  {
1233
1233
  id: `cta-deeplink-${inputId}-select`,
1234
- placeholder: "Select DeepLink",
1234
+ placeholder: this.props.intl.formatMessage(messages.selectDeeplink),
1235
1235
  type: "select", //Resembles component to be used
1236
1236
  options: deepLinkOptions,
1237
- errorMessage: "Select a deeplink",
1237
+ errorMessage: this.props.intl.formatMessage(messages.selectADeeplink),
1238
1238
  metaType: "text",
1239
1239
  datatype: "string",
1240
1240
  required: true,
@@ -1292,7 +1292,7 @@ export class Create extends React.Component { // eslint-disable-line react/prefe
1292
1292
  formData[0]['message-editor'] = formData[1]['message-editor2'];
1293
1293
  this.setState({formData});
1294
1294
  } else {
1295
- this.openNotificationWithIcon('warning', "Cannot copy empty field values.");
1295
+ this.openNotificationWithIcon('warning', this.props.intl.formatMessage(messages.cantCopyEmptyFieldValues));
1296
1296
  }
1297
1297
  };
1298
1298
  copyAndroidContent = () => {
@@ -1302,7 +1302,7 @@ export class Create extends React.Component { // eslint-disable-line react/prefe
1302
1302
  formData[1]['message-editor2'] = formData[0]['message-editor'];
1303
1303
  this.setState({formData});
1304
1304
  } else {
1305
- this.openNotificationWithIcon('warning', "Cannot copy empty field values.");
1305
+ this.openNotificationWithIcon('warning', this.props.intl.formatMessage(messages.cantCopyEmptyFieldValues));
1306
1306
  }
1307
1307
  };
1308
1308
  uploadImage = (data) => {
@@ -1358,12 +1358,12 @@ export class Create extends React.Component { // eslint-disable-line react/prefe
1358
1358
  required: true,
1359
1359
  width: 18,
1360
1360
  offset: 1,
1361
- placeholder: `Please input ${key.replace('_', " ")} here .`,
1361
+ placeholder: `${this.props.intl.formatMessage(messages.pleaseInput)} ${key.replace('_', " ")} ${this.props.intl.formatMessage(messages.here)}`,
1362
1362
  fluid: true,
1363
1363
  styling: "semantic",
1364
1364
  order: 1,
1365
1365
  customComponent: false,
1366
- errorMessage: "value cannot be empty.",
1366
+ errorMessage: this.props.intl.formatMessage(messages.valueCantEmpty),
1367
1367
  },
1368
1368
  ],
1369
1369
  };
@@ -1464,7 +1464,7 @@ export class Create extends React.Component { // eslint-disable-line react/prefe
1464
1464
  {
1465
1465
  id: `${this.state.currentTab === 1 ? "add-pri-cta" : "add-pri-cta-ios"}`,
1466
1466
  metaType: "label",
1467
- value: "Add Primary CTA",
1467
+ value: this.props.intl.formatMessage(messages.addPrimaryCTA),
1468
1468
  primitive: true,
1469
1469
  dynamicTab: false,
1470
1470
  type: "div",
@@ -1504,7 +1504,7 @@ export class Create extends React.Component { // eslint-disable-line react/prefe
1504
1504
  if (id === "secondary-cta-0-delete") {
1505
1505
  const secCta2 = document.getElementById("secondary-cta-1-delete");
1506
1506
  if (secCta2) {
1507
- const modalContent = {title: "Alert", body: this.props.intl.formatMessage(messages["Please delete second Secondary cta First"]), type: 'info', show: true, onCancel: this.onModalCancel};
1507
+ const modalContent = {title: this.props.intl.formatMessage(messages.alertMessage), body: this.props.intl.formatMessage(messages.deleteSecondCTAFirst), type: 'info', show: true, onCancel: this.onModalCancel};
1508
1508
  this.setState({modalContent, showModal: true});
1509
1509
  return;
1510
1510
  }
@@ -1550,7 +1550,7 @@ export class Create extends React.Component { // eslint-disable-line react/prefe
1550
1550
  {
1551
1551
  id: "add-sec-cta-ios",
1552
1552
  metaType: "label",
1553
- value: "Add Secondary CTA",
1553
+ value: this.props.intl.formatMessage(messages.addSecondaryCTA),
1554
1554
  primitive: true,
1555
1555
  dynamicTab: false,
1556
1556
  type: "div",
@@ -1578,7 +1578,7 @@ export class Create extends React.Component { // eslint-disable-line react/prefe
1578
1578
  {
1579
1579
  id: "add-sec-cta",
1580
1580
  metaType: "label",
1581
- value: "Add Secondary CTA",
1581
+ value: this.props.intl.formatMessage(messages.addSecondaryCTA),
1582
1582
  primitive: true,
1583
1583
  dynamicTab: false,
1584
1584
  type: "div",
@@ -1612,7 +1612,7 @@ export class Create extends React.Component { // eslint-disable-line react/prefe
1612
1612
  {
1613
1613
  id: "add-sec-cta",
1614
1614
  metaType: "label",
1615
- value: "Add Another CTA",
1615
+ value: this.props.intl.formatMessage(messages.addAnotherCTA),
1616
1616
  primitive: true,
1617
1617
  dynamicTab: false,
1618
1618
  type: "div",
@@ -1728,7 +1728,7 @@ export class Create extends React.Component { // eslint-disable-line react/prefe
1728
1728
  }}
1729
1729
  dataSource={this.props.iosCtasData} columns={[
1730
1730
  {
1731
- title: "Name and Description",
1731
+ title: this.props.intl.formatMessage(messages.nameAndDescription),
1732
1732
  dataIndex: "name",
1733
1733
  key: "name",
1734
1734
  width: 200,
@@ -1739,7 +1739,7 @@ export class Create extends React.Component { // eslint-disable-line react/prefe
1739
1739
  </div>),
1740
1740
  },
1741
1741
  {
1742
- title: "Button 1",
1742
+ title: this.props.intl.formatMessage(messages.button1),
1743
1743
  dataIndex: "description",
1744
1744
  key: "button1",
1745
1745
  width: 100,
@@ -1749,7 +1749,7 @@ export class Create extends React.Component { // eslint-disable-line react/prefe
1749
1749
  </div>),
1750
1750
  },
1751
1751
  {
1752
- title: "Button 2",
1752
+ title: this.props.intl.formatMessage(messages.button2),
1753
1753
  dataIndex: "description",
1754
1754
  key: "button2",
1755
1755
  width: 100,