@capillarytech/creatives-library 3.1.2 → 3.1.4

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 (156) hide show
  1. package/components/BreadCrumbs/messages.js +1 -1
  2. package/components/CapTagList/index.js +3 -3
  3. package/components/CapTagList/messages.js +16 -4
  4. package/components/Ckeditor/messages.js +1 -1
  5. package/components/CustomPopOver/index.js +3 -4
  6. package/components/CustomPopOver/messages.js +5 -1
  7. package/components/DateFilter/index.js +12 -12
  8. package/components/DateFilter/messages.js +40 -0
  9. package/components/DateRange/index.js +5 -4
  10. package/components/DateRange/messages.js +13 -1
  11. package/components/Edmeditor/messages.js +1 -1
  12. package/components/EmailPreview/index.js +4 -4
  13. package/components/EmailPreview/messages.js +18 -2
  14. package/components/Footer/messages.js +1 -1
  15. package/components/FormBuilder/index.js +15 -19
  16. package/components/FormBuilder/messages.js +33 -1
  17. package/components/Header/messages.js +4 -4
  18. package/components/ImagePreview/index.js +1 -1
  19. package/components/ImagePreview/messages.js +5 -1
  20. package/components/PageHeader/messages.js +1 -1
  21. package/components/PreviewSideBar/index.js +2 -2
  22. package/components/PreviewSideBar/messages.js +14 -6
  23. package/components/Sidebar/messages.js +3 -3
  24. package/components/SmsTest/index.js +6 -4
  25. package/components/SmsTest/messages.js +9 -1
  26. package/components/TemplatePreview/WechatRichmediaTemplatePreview/messages.js +3 -3
  27. package/components/TemplatePreview/index.js +7 -7
  28. package/components/TemplatePreview/messages.js +17 -5
  29. package/components/Toastr/messages.js +1 -1
  30. package/components/ToastrMessage/index.js +4 -1
  31. package/components/ToastrMessage/messages.js +5 -1
  32. package/components/TopBar/messages.js +1 -1
  33. package/containers/Assets/Gallery/messages.js +20 -20
  34. package/containers/Cap/index.js +5 -5
  35. package/containers/Cap/messages.js +75 -0
  36. package/containers/Dashboard/index.js +2 -2
  37. package/containers/Dashboard/messages.js +1 -1
  38. package/containers/Ebill/index.js +1 -1
  39. package/containers/Ebill/messages.js +20 -16
  40. package/containers/Email/index.js +24 -24
  41. package/containers/Email/messages.js +107 -59
  42. package/containers/Line/Create/index.js +7 -7
  43. package/containers/Line/Create/messages.js +58 -42
  44. package/containers/Line/Edit/index.js +14 -14
  45. package/containers/Line/Edit/messages.js +58 -38
  46. package/containers/Login/components/LoginForm/index.js +10 -7
  47. package/containers/Login/components/LoginForm/messages.js +15 -3
  48. package/containers/Login/index.js +1 -1
  49. package/containers/Login/messages.js +7 -3
  50. package/containers/MobilePush/Create/index.js +45 -45
  51. package/containers/MobilePush/Create/messages.js +111 -75
  52. package/containers/MobilePush/Edit/index.js +45 -45
  53. package/containers/MobilePush/Edit/messages.js +100 -83
  54. package/containers/NotFoundPage/messages.js +1 -1
  55. package/containers/Sms/Create/index.js +5 -5
  56. package/containers/Sms/Create/messages.js +43 -19
  57. package/containers/Sms/Edit/index.js +4 -4
  58. package/containers/Sms/Edit/messages.js +36 -20
  59. package/containers/TagList/messages.js +1 -1
  60. package/containers/Templates/index.js +20 -19
  61. package/containers/Templates/messages.js +136 -64
  62. package/containers/TestPage/messages.js +1 -1
  63. package/containers/Testv2/index.js +2 -2
  64. package/containers/Testv2/messages.js +9 -1
  65. package/containers/WeChat/MapTemplates/index.js +10 -10
  66. package/containers/WeChat/MapTemplates/messages.js +49 -17
  67. package/containers/WeChat/RichmediaTemplates/Create/messages.js +33 -33
  68. package/containers/WeChat/RichmediaTemplates/Edit/messages.js +1 -1
  69. package/containers/WeChat/RichmediaTemplates/View/index.js +2 -2
  70. package/containers/WeChat/RichmediaTemplates/View/messages.js +9 -1
  71. package/package.json +1 -1
  72. package/services/api.js +10 -2
  73. package/translations/en.json +973 -360
  74. package/translations/zh.json +994 -381
  75. package/v2Components/BreadCrumbs/messages.js +1 -1
  76. package/v2Components/CallTaskPreview/messages.js +1 -1
  77. package/v2Components/CapTagList/index.js +6 -5
  78. package/v2Components/CapTagList/messages.js +24 -4
  79. package/v2Components/Ckeditor/messages.js +1 -1
  80. package/v2Components/CmsTemplatesComponent/messages.js +2 -2
  81. package/v2Components/CustomPopOver/index.js +4 -2
  82. package/v2Components/CustomPopOver/messages.js +5 -1
  83. package/v2Components/Edmeditor/messages.js +1 -1
  84. package/v2Components/EmailPreview/index.js +2 -2
  85. package/v2Components/EmailPreview/messages.js +11 -3
  86. package/v2Components/EmailPreviewV2/index.js +1 -1
  87. package/v2Components/EmailPreviewV2/messages.js +13 -9
  88. package/v2Components/Footer/messages.js +1 -1
  89. package/v2Components/FormBuilder/index.js +11 -10
  90. package/v2Components/FormBuilder/messages.js +13 -13
  91. package/v2Components/Header/messages.js +4 -4
  92. package/v2Components/ImagePreview/index.js +3 -2
  93. package/v2Components/ImagePreview/messages.js +5 -1
  94. package/v2Components/MobilePushPreviewV2/index.js +2 -5
  95. package/v2Components/MobilePushPreviewV2/messages.js +9 -1
  96. package/v2Components/NavigationBar/messages.js +1 -1
  97. package/v2Components/NewCallTask/messages.js +5 -5
  98. package/v2Components/PreviewSideBar/messages.js +6 -6
  99. package/v2Components/SmsTest/index.js +6 -4
  100. package/v2Components/SmsTest/messages.js +9 -1
  101. package/v2Components/TemplatePreview/WechatRichmediaTemplatePreview/messages.js +3 -3
  102. package/v2Components/TemplatePreview/index.js +8 -7
  103. package/v2Components/TemplatePreview/messages.js +19 -7
  104. package/v2Components/Toastr/messages.js +1 -1
  105. package/v2Components/ToastrMessage/index.js +3 -2
  106. package/v2Components/ToastrMessage/messages.js +5 -1
  107. package/v2Components/TopBar/messages.js +7 -7
  108. package/v2Containers/Assets/Gallery/messages.js +24 -24
  109. package/v2Containers/CallTask/messages.js +6 -6
  110. package/v2Containers/Cap/index.js +5 -4
  111. package/v2Containers/Cap/messages.js +16 -16
  112. package/v2Containers/Cap/messsages.js +19 -15
  113. package/v2Containers/ChannelTemplates/messages.js +1 -1
  114. package/v2Containers/CreativesContainer/SlideBoxContent.js +1 -1
  115. package/v2Containers/CreativesContainer/index.js +65 -46
  116. package/v2Containers/CreativesContainer/messages.js +5 -5
  117. package/v2Containers/Dashboard/index.js +2 -1
  118. package/v2Containers/Dashboard/messages.js +1 -1
  119. package/v2Containers/Ebill/index.js +1 -1
  120. package/v2Containers/Ebill/messages.js +20 -16
  121. package/v2Containers/Email/index.js +20 -20
  122. package/v2Containers/Email/messages.js +97 -61
  123. package/v2Containers/EmailWrapper/index.js +1 -1
  124. package/v2Containers/EmailWrapper/messages.js +12 -12
  125. package/v2Containers/Line/Create/index.js +3 -3
  126. package/v2Containers/Line/Create/messages.js +53 -41
  127. package/v2Containers/Line/Edit/index.js +10 -10
  128. package/v2Containers/Line/Edit/messages.js +55 -39
  129. package/v2Containers/Login/components/LoginForm/index.js +9 -6
  130. package/v2Containers/Login/components/LoginForm/messages.js +15 -3
  131. package/v2Containers/Login/index.js +1 -1
  132. package/v2Containers/Login/messages.js +7 -3
  133. package/v2Containers/MobilePush/Create/index.js +33 -33
  134. package/v2Containers/MobilePush/Create/messages.js +109 -81
  135. package/v2Containers/MobilePush/Edit/index.js +22 -22
  136. package/v2Containers/MobilePush/Edit/messages.js +95 -79
  137. package/v2Containers/MobilepushWrapper/messages.js +5 -5
  138. package/v2Containers/NotFoundPage/messages.js +1 -1
  139. package/v2Containers/Sms/Create/index.js +5 -5
  140. package/v2Containers/Sms/Create/messages.js +41 -21
  141. package/v2Containers/Sms/Edit/index.js +5 -5
  142. package/v2Containers/Sms/Edit/messages.js +36 -20
  143. package/v2Containers/TagList/messages.js +1 -1
  144. package/v2Containers/Templates/index.js +9 -1
  145. package/v2Containers/Templates/messages.js +1 -1
  146. package/v2Containers/TemplatesV2/messages.js +11 -11
  147. package/v2Containers/TestPage/messages.js +1 -1
  148. package/v2Containers/Testv2/index.js +2 -2
  149. package/v2Containers/Testv2/messages.js +9 -1
  150. package/v2Containers/WeChat/MapTemplates/index.js +2 -2
  151. package/v2Containers/WeChat/MapTemplates/messages.js +25 -25
  152. package/v2Containers/WeChat/RichmediaTemplates/Create/index.js +4 -14
  153. package/v2Containers/WeChat/RichmediaTemplates/Create/messages.js +46 -46
  154. package/v2Containers/WeChat/RichmediaTemplates/Edit/index.js +1 -11
  155. package/v2Containers/WeChat/RichmediaTemplates/Edit/messages.js +1 -1
  156. package/v2Containers/WeChat/RichmediaTemplates/View/messages.js +9 -1
@@ -81,7 +81,7 @@ export class Edit extends React.Component { // eslint-disable-line react/prefer-
81
81
  injectedTags: {},
82
82
  showModal: false,
83
83
  eventsMap: map,
84
- modalContent: {title: "Alert", body: this.props.intl.formatMessage(messages['template not configured,']), type: 'confirm'},
84
+ modalContent: {title: this.props.intl.formatMessage(messages.alertMessage), body: this.props.intl.formatMessage(messages.templateNotConfigured), type: 'confirm'},
85
85
  };
86
86
  }
87
87
  componentWillMount() {
@@ -655,16 +655,16 @@ export class Edit extends React.Component { // eslint-disable-line react/prefer-
655
655
  setModalContent = (type) => {
656
656
  if (type === 'ios') {
657
657
  const modalContent = {
658
- title: "Alert",
659
- body: "Android template is not configured. Save without Android template",
658
+ title: this.props.intl.formatMessage(messages.alertMessage),
659
+ body: this.props.intl.formatMessage(messages.androidNotConfigured),
660
660
  type: 'confirm',
661
661
  id: 'ios',
662
662
  };
663
663
  this.setState({modalContent, showModal: true});
664
664
  } else if (type === 'android') {
665
665
  const modalContent = {
666
- title: "Alert",
667
- body: "IOS template is not configured, Save without IOS template",
666
+ title: this.props.intl.formatMessage(messages.alertMessage),
667
+ body: this.props.intl.formatMessage(messages.iosNotConfigured),
668
668
  type: 'confirm',
669
669
  id: 'android',
670
670
  };
@@ -761,8 +761,8 @@ export class Edit extends React.Component { // eslint-disable-line react/prefer-
761
761
  moveToTemplates = () => {
762
762
  console.log('in move to Templates');
763
763
  const modalContent = {
764
- title: "Alert",
765
- body: "Do you really want to go back? All your temporary changes will be lost!",
764
+ title: this.props.intl.formatMessage(messages.alertMessage),
765
+ body: this.props.intl.formatMessage(messages.goBackTemporaryChangesLost),
766
766
  type: 'confirm',
767
767
  id: 'template-back-confirm-modal',
768
768
  show: true,
@@ -967,9 +967,9 @@ export class Edit extends React.Component { // eslint-disable-line react/prefer-
967
967
  <Col offset={1}>
968
968
  {this.props.location.query.type !== "embedded" &&
969
969
  <Breadcrumb>
970
- <BreadcrumbItem>Campaigns</BreadcrumbItem>
971
- <BreadcrumbItem>Creatives</BreadcrumbItem>
972
- <BreadcrumbItem>Mobile Push</BreadcrumbItem>
970
+ <BreadcrumbItem>{this.props.intl.formatMessage(messages.Campaigns)}</BreadcrumbItem>
971
+ <BreadcrumbItem>{this.props.intl.formatMessage(messages.Creatives)}</BreadcrumbItem>
972
+ <BreadcrumbItem>{this.props.intl.formatMessage(messages.mobilePush)}</BreadcrumbItem>
973
973
  </Breadcrumb>
974
974
  }
975
975
  </Col>
@@ -7,151 +7,167 @@ import { defineMessages } from 'react-intl';
7
7
 
8
8
  export default defineMessages({
9
9
  "imageUploadLabel": {
10
- id: 'app.containers.Line.Edit.ImageUploadLabel',
10
+ id: 'creatives.containersV2.Line.Edit.ImageUploadLabel',
11
11
  defaultMessage: 'Upload image',
12
12
  },
13
13
  "Enter template name*": {
14
- id: 'app.containers.Line.Edit.enterTemplateNameImportant',
14
+ id: 'creatives.containersV2.Line.Edit.enterTemplateNameImportant',
15
15
  defaultMessage: 'Enter template name*',
16
16
  },
17
17
  "Enter template name": {
18
- id: 'app.containers.Line.Edit.enterTemplateName',
18
+ id: 'creatives.containersV2.Line.Edit.enterTemplateName',
19
19
  defaultMessage: 'Enter template name',
20
20
  },
21
21
  "Template name cannot be empty": {
22
- id: 'app.containers.Line.Edit.templateCantEmpty',
22
+ id: 'creatives.containersV2.Line.Edit.templateCantEmpty',
23
23
  defaultMessage: 'Template name cannot be empty',
24
24
  },
25
25
  "Discard Changes": {
26
- id: 'app.containers.Line.Edit.discardChanges',
26
+ id: 'creatives.containersV2.Line.Edit.discardChanges',
27
27
  defaultMessage: 'Discard changes',
28
28
  },
29
29
  "Cancel": {
30
- id: 'app.containers.Line.Edit.cancel',
30
+ id: 'creatives.containersV2.Line.Edit.cancel',
31
31
  defaultMessage: 'Cancel',
32
32
  },
33
33
  "Save": {
34
- id: 'app.containers.Line.Edit.save',
34
+ id: 'creatives.containersV2.Line.Edit.save',
35
35
  defaultMessage: 'Save',
36
36
  },
37
37
  "Select Line Template": {
38
- id: 'app.containers.Line.Edit.selectLineTemplate',
38
+ id: 'creatives.containersV2.Line.Edit.selectLineTemplate',
39
39
  defaultMessage: 'Select line template',
40
40
  },
41
41
  "Template": {
42
- id: 'app.containers.Line.Edit.template',
42
+ id: 'creatives.containersV2.Line.Edit.template',
43
43
  defaultMessage: 'Template',
44
44
  },
45
45
  "Title*": {
46
- id: 'app.containers.Line.Edit.titleLabel',
46
+ id: 'creatives.containersV2.Line.Edit.titleLabel',
47
47
  defaultMessage: 'Title*',
48
48
  },
49
49
  "Title": {
50
- id: 'app.containers.Line.Edit.title',
50
+ id: 'creatives.containersV2.Line.Edit.title',
51
51
  defaultMessage: 'Title',
52
52
  },
53
53
  "Please input message title name.": {
54
- id: 'app.containers.Line.Edit.titleNameInvalid',
54
+ id: 'creatives.containersV2.Line.Edit.titleNameInvalid',
55
55
  defaultMessage: 'Please enter the message title',
56
56
  },
57
57
  "Template message has unsupported/missing tags!": {
58
- id: 'app.containers.Line.Edit.messageHasUnsupportedTag',
58
+ id: 'creatives.containersV2.Line.Edit.messageHasUnsupportedTag',
59
59
  defaultMessage: 'Please check the message content for unsupported/missing tags',
60
60
  },
61
61
  "Tags": {
62
- id: 'app.containers.Line.Edit.Tags',
62
+ id: 'creatives.containersV2.Line.Edit.Tags',
63
63
  defaultMessage: 'Tags',
64
64
  },
65
65
  "Message*": {
66
- id: 'app.containers.Line.Edit.messageLabel',
66
+ id: 'creatives.containersV2.Line.Edit.messageLabel',
67
67
  defaultMessage: 'Message*',
68
68
  },
69
69
  "Message": {
70
- id: 'app.containers.Line.Edit.message',
70
+ id: 'creatives.containersV2.Line.Edit.message',
71
71
  defaultMessage: 'Message',
72
72
  },
73
73
  "Please input mobile push template content.": {
74
- id: 'app.containers.Line.Edit.inputLineTemplateContent',
74
+ id: 'creatives.containersV2.Line.Edit.inputLineTemplateContent',
75
75
  defaultMessage: 'Please enter the message content',
76
76
  },
77
77
  "Template title has unsupported/missing tags.": {
78
- id: 'app.containers.Line.Edit.titleHasUnsupportedTag',
78
+ id: 'creatives.containersV2.Line.Edit.titleHasUnsupportedTag',
79
79
  defaultMessage: 'Please check the message content for unsupported/missing tags',
80
80
  },
81
81
  "Template name cannot be empty.": {
82
- id: 'app.containers.Line.Edit.templateNameNotEmpty',
82
+ id: 'creatives.containersV2.Line.Edit.templateNameNotEmpty',
83
83
  defaultMessage: 'Please provide a template name ',
84
84
  },
85
85
  "Message title has unsupported/missing tags!": {
86
- id: 'app.containers.Line.Edit.messageTitleWithUnsupportedTag',
86
+ id: 'creatives.containersV2.Line.Edit.messageTitleWithUnsupportedTag',
87
87
  defaultMessage: 'Please check the message content for unsupported/missing tags',
88
88
  },
89
89
  "Image": {
90
- id: 'app.containers.Line.Edit.Image',
90
+ id: 'creatives.containersV2.Line.Edit.Image',
91
91
  defaultMessage: 'Image',
92
92
  },
93
93
  "Max file size acceptable is 5mb": {
94
- id: 'app.containers.Line.Edit.maxUploadFileSize',
94
+ id: 'creatives.containersV2.Line.Edit.maxUploadFileSize',
95
95
  defaultMessage: 'Max file size acceptable is 5mb',
96
96
  },
97
97
  "Please upload Image": {
98
- id: 'app.containers.Line.Edit.pleaseUploadImage',
98
+ id: 'creatives.containersV2.Line.Edit.pleaseUploadImage',
99
99
  defaultMessage: 'Please upload image',
100
100
  },
101
101
  "Upload Image": {
102
- id: 'app.containers.Line.Edit.uploadImage',
102
+ id: 'creatives.containersV2.Line.Edit.uploadImage',
103
103
  defaultMessage: 'Upload image',
104
104
  },
105
105
  "Line Template Edited Successfully": {
106
- id: 'app.containers.Line.Edit.templateEditedSuccessfully',
106
+ id: 'creatives.containersV2.Line.Edit.templateEditedSuccessfully',
107
107
  defaultMessage: 'Line template edited successfully',
108
108
  },
109
109
  "somethingWentWrong": {
110
- id: 'app.containers.Line.Edit.somethingWentWrong',
110
+ id: 'creatives.containersV2.Line.Edit.somethingWentWrong',
111
111
  defaultMessage: 'Something went wrong!!',
112
112
  },
113
113
  "Do you really want to go back? All your temporary changes will be lost!": {
114
- id: 'app.containers.Line.Edit.goBackConfirmation',
114
+ id: 'creatives.containersV2.Line.Edit.goBackConfirmation',
115
115
  defaultMessage: "Going back will discard all the changes you've made. Continue?",
116
116
  },
117
117
  "Name and Description": {
118
- id: 'app.containers.Line.Edit.nameAndDescription',
118
+ id: 'creatives.containersV2.Line.Edit.nameAndDescription',
119
119
  defaultMessage: 'Name and description',
120
120
  },
121
121
  "Button 1": {
122
- id: 'app.containers.Line.Edit.button1',
122
+ id: 'creatives.containersV2.Line.Edit.button1',
123
123
  defaultMessage: 'Button 1',
124
124
  },
125
125
  "Button 2": {
126
- id: 'app.containers.Line.Edit.button2',
126
+ id: 'creatives.containersV2.Line.Edit.button2',
127
127
  defaultMessage: 'Button 2',
128
128
  },
129
129
  "File size cannot be more than 5mb": {
130
- id: 'app.containers.Line.Edit.uploadFileSizeError',
130
+ id: 'creatives.containersV2.Line.Edit.uploadFileSizeError',
131
131
  defaultMessage: 'File size cannot be more than 5mb',
132
132
  },
133
133
  "value cannot be empty.": {
134
- id: 'app.containers.Line.Edit.valueCantEmpty',
134
+ id: 'creatives.containersV2.Line.Edit.valueCantEmpty',
135
135
  defaultMessage: 'value cannot be empty.',
136
136
  },
137
137
  "Uploading Image...": {
138
- id: 'app.containers.Line.Edit.uploadingImage',
138
+ id: 'creatives.containersV2.Line.Edit.uploadingImage',
139
139
  defaultMessage: 'Uploading image...',
140
140
  },
141
141
  "Campaigns": {
142
- id: 'app.containers.Line.Edit.Campaigns',
142
+ id: 'creatives.containersV2.Line.Edit.Campaigns',
143
143
  defaultMessage: 'Campaigns',
144
144
  },
145
145
  "Creatives": {
146
- id: 'app.containers.Line.Edit.Creatives',
146
+ id: 'creatives.containersV2.Line.Edit.Creatives',
147
147
  defaultMessage: 'Creatives',
148
148
  },
149
- "Line": {
150
- id: 'app.containers.Line.Edit.mobilePush',
149
+ "mobilePush": {
150
+ id: 'creatives.containersV2.Line.Edit.mobilePush',
151
151
  defaultMessage: 'Mobile Push',
152
152
  },
153
- "template not configured,": {
154
- id: 'app.containers.Line.Edit.templateNotConfigured',
153
+ "templateNotConfigured": {
154
+ id: 'creatives.containersV2.Line.Edit.templateNotConfigured',
155
155
  defaultMessage: 'template not configured,',
156
156
  },
157
+ "alertMessage": {
158
+ id: 'creatives.containersV2.Line.Edit.alertMessage',
159
+ defaultMessage: 'Alert',
160
+ },
161
+ "androidNotConfigured": {
162
+ id: 'creatives.containersV2.Line.Edit.androidNotConfigured',
163
+ defaultMessage: 'Android template is not configured. Save without Android template',
164
+ },
165
+ "iosNotConfigured": {
166
+ id: 'creatives.containersV2.Line.Edit.iosNotConfigured',
167
+ defaultMessage: 'IOS template is not configured, Save without IOS template',
168
+ },
169
+ "goBackTemporaryChangesLost": {
170
+ id: 'creatives.containersV2.Line.Edit.goBackTemporaryChangesLost',
171
+ defaultMessage: 'Do you really want to go back? All your temporary changes will be lost!',
172
+ },
157
173
  });
@@ -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,