@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.
- package/components/BreadCrumbs/messages.js +1 -1
- package/components/CapTagList/index.js +3 -3
- package/components/CapTagList/messages.js +16 -4
- package/components/Ckeditor/messages.js +1 -1
- package/components/CustomPopOver/index.js +3 -4
- package/components/CustomPopOver/messages.js +5 -1
- package/components/DateFilter/index.js +12 -12
- package/components/DateFilter/messages.js +40 -0
- package/components/DateRange/index.js +5 -4
- package/components/DateRange/messages.js +13 -1
- package/components/Edmeditor/messages.js +1 -1
- package/components/EmailPreview/index.js +4 -4
- package/components/EmailPreview/messages.js +18 -2
- package/components/Footer/messages.js +1 -1
- package/components/FormBuilder/index.js +15 -19
- package/components/FormBuilder/messages.js +33 -1
- package/components/Header/messages.js +4 -4
- package/components/ImagePreview/index.js +1 -1
- package/components/ImagePreview/messages.js +5 -1
- package/components/PageHeader/messages.js +1 -1
- package/components/PreviewSideBar/index.js +2 -2
- package/components/PreviewSideBar/messages.js +14 -6
- package/components/Sidebar/messages.js +3 -3
- package/components/SmsTest/index.js +6 -4
- package/components/SmsTest/messages.js +9 -1
- package/components/TemplatePreview/WechatRichmediaTemplatePreview/messages.js +3 -3
- package/components/TemplatePreview/index.js +7 -7
- package/components/TemplatePreview/messages.js +17 -5
- package/components/Toastr/messages.js +1 -1
- package/components/ToastrMessage/index.js +4 -1
- package/components/ToastrMessage/messages.js +5 -1
- package/components/TopBar/messages.js +1 -1
- package/containers/Assets/Gallery/messages.js +20 -20
- package/containers/Cap/index.js +5 -5
- package/containers/Cap/messages.js +75 -0
- package/containers/Dashboard/index.js +2 -2
- package/containers/Dashboard/messages.js +1 -1
- package/containers/Ebill/index.js +1 -1
- package/containers/Ebill/messages.js +20 -16
- package/containers/Email/index.js +24 -24
- package/containers/Email/messages.js +107 -59
- package/containers/Line/Create/index.js +7 -7
- package/containers/Line/Create/messages.js +58 -42
- package/containers/Line/Edit/index.js +14 -14
- package/containers/Line/Edit/messages.js +58 -38
- package/containers/Login/components/LoginForm/index.js +10 -7
- package/containers/Login/components/LoginForm/messages.js +15 -3
- package/containers/Login/index.js +1 -1
- package/containers/Login/messages.js +7 -3
- package/containers/MobilePush/Create/index.js +45 -45
- package/containers/MobilePush/Create/messages.js +111 -75
- package/containers/MobilePush/Edit/index.js +45 -45
- package/containers/MobilePush/Edit/messages.js +100 -83
- package/containers/NotFoundPage/messages.js +1 -1
- package/containers/Sms/Create/index.js +5 -5
- package/containers/Sms/Create/messages.js +43 -19
- package/containers/Sms/Edit/index.js +4 -4
- package/containers/Sms/Edit/messages.js +36 -20
- package/containers/TagList/messages.js +1 -1
- package/containers/Templates/index.js +20 -19
- package/containers/Templates/messages.js +136 -64
- package/containers/TestPage/messages.js +1 -1
- package/containers/Testv2/index.js +2 -2
- package/containers/Testv2/messages.js +9 -1
- package/containers/WeChat/MapTemplates/index.js +10 -10
- package/containers/WeChat/MapTemplates/messages.js +49 -17
- package/containers/WeChat/RichmediaTemplates/Create/messages.js +33 -33
- package/containers/WeChat/RichmediaTemplates/Edit/messages.js +1 -1
- package/containers/WeChat/RichmediaTemplates/View/index.js +2 -2
- package/containers/WeChat/RichmediaTemplates/View/messages.js +9 -1
- package/package.json +1 -1
- package/services/api.js +10 -2
- package/translations/en.json +973 -360
- package/translations/zh.json +994 -381
- package/v2Components/BreadCrumbs/messages.js +1 -1
- package/v2Components/CallTaskPreview/messages.js +1 -1
- package/v2Components/CapTagList/index.js +6 -5
- package/v2Components/CapTagList/messages.js +24 -4
- package/v2Components/Ckeditor/messages.js +1 -1
- package/v2Components/CmsTemplatesComponent/messages.js +2 -2
- package/v2Components/CustomPopOver/index.js +4 -2
- package/v2Components/CustomPopOver/messages.js +5 -1
- package/v2Components/Edmeditor/messages.js +1 -1
- package/v2Components/EmailPreview/index.js +2 -2
- package/v2Components/EmailPreview/messages.js +11 -3
- package/v2Components/EmailPreviewV2/index.js +1 -1
- package/v2Components/EmailPreviewV2/messages.js +13 -9
- package/v2Components/Footer/messages.js +1 -1
- package/v2Components/FormBuilder/index.js +11 -10
- package/v2Components/FormBuilder/messages.js +13 -13
- package/v2Components/Header/messages.js +4 -4
- package/v2Components/ImagePreview/index.js +3 -2
- package/v2Components/ImagePreview/messages.js +5 -1
- package/v2Components/MobilePushPreviewV2/index.js +2 -5
- package/v2Components/MobilePushPreviewV2/messages.js +9 -1
- package/v2Components/NavigationBar/messages.js +1 -1
- package/v2Components/NewCallTask/messages.js +5 -5
- package/v2Components/PreviewSideBar/messages.js +6 -6
- package/v2Components/SmsTest/index.js +6 -4
- package/v2Components/SmsTest/messages.js +9 -1
- package/v2Components/TemplatePreview/WechatRichmediaTemplatePreview/messages.js +3 -3
- package/v2Components/TemplatePreview/index.js +8 -7
- package/v2Components/TemplatePreview/messages.js +19 -7
- package/v2Components/Toastr/messages.js +1 -1
- package/v2Components/ToastrMessage/index.js +3 -2
- package/v2Components/ToastrMessage/messages.js +5 -1
- package/v2Components/TopBar/messages.js +7 -7
- package/v2Containers/Assets/Gallery/messages.js +24 -24
- package/v2Containers/CallTask/messages.js +6 -6
- package/v2Containers/Cap/index.js +5 -4
- package/v2Containers/Cap/messages.js +16 -16
- package/v2Containers/Cap/messsages.js +19 -15
- package/v2Containers/ChannelTemplates/messages.js +1 -1
- package/v2Containers/CreativesContainer/SlideBoxContent.js +1 -1
- package/v2Containers/CreativesContainer/index.js +65 -46
- package/v2Containers/CreativesContainer/messages.js +5 -5
- package/v2Containers/Dashboard/index.js +2 -1
- package/v2Containers/Dashboard/messages.js +1 -1
- package/v2Containers/Ebill/index.js +1 -1
- package/v2Containers/Ebill/messages.js +20 -16
- package/v2Containers/Email/index.js +20 -20
- package/v2Containers/Email/messages.js +97 -61
- package/v2Containers/EmailWrapper/index.js +1 -1
- package/v2Containers/EmailWrapper/messages.js +12 -12
- package/v2Containers/Line/Create/index.js +3 -3
- package/v2Containers/Line/Create/messages.js +53 -41
- package/v2Containers/Line/Edit/index.js +10 -10
- package/v2Containers/Line/Edit/messages.js +55 -39
- package/v2Containers/Login/components/LoginForm/index.js +9 -6
- package/v2Containers/Login/components/LoginForm/messages.js +15 -3
- package/v2Containers/Login/index.js +1 -1
- package/v2Containers/Login/messages.js +7 -3
- package/v2Containers/MobilePush/Create/index.js +33 -33
- package/v2Containers/MobilePush/Create/messages.js +109 -81
- package/v2Containers/MobilePush/Edit/index.js +22 -22
- package/v2Containers/MobilePush/Edit/messages.js +95 -79
- package/v2Containers/MobilepushWrapper/messages.js +5 -5
- package/v2Containers/NotFoundPage/messages.js +1 -1
- package/v2Containers/Sms/Create/index.js +5 -5
- package/v2Containers/Sms/Create/messages.js +41 -21
- package/v2Containers/Sms/Edit/index.js +5 -5
- package/v2Containers/Sms/Edit/messages.js +36 -20
- package/v2Containers/TagList/messages.js +1 -1
- package/v2Containers/Templates/index.js +9 -1
- package/v2Containers/Templates/messages.js +1 -1
- package/v2Containers/TemplatesV2/messages.js +11 -11
- package/v2Containers/TestPage/messages.js +1 -1
- package/v2Containers/Testv2/index.js +2 -2
- package/v2Containers/Testv2/messages.js +9 -1
- package/v2Containers/WeChat/MapTemplates/index.js +2 -2
- package/v2Containers/WeChat/MapTemplates/messages.js +25 -25
- package/v2Containers/WeChat/RichmediaTemplates/Create/index.js +4 -14
- package/v2Containers/WeChat/RichmediaTemplates/Create/messages.js +46 -46
- package/v2Containers/WeChat/RichmediaTemplates/Edit/index.js +1 -11
- package/v2Containers/WeChat/RichmediaTemplates/Edit/messages.js +1 -1
- 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:
|
|
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:
|
|
659
|
-
body:
|
|
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:
|
|
667
|
-
body:
|
|
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:
|
|
765
|
-
body:
|
|
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>
|
|
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: '
|
|
10
|
+
id: 'creatives.containersV2.Line.Edit.ImageUploadLabel',
|
|
11
11
|
defaultMessage: 'Upload image',
|
|
12
12
|
},
|
|
13
13
|
"Enter template name*": {
|
|
14
|
-
id: '
|
|
14
|
+
id: 'creatives.containersV2.Line.Edit.enterTemplateNameImportant',
|
|
15
15
|
defaultMessage: 'Enter template name*',
|
|
16
16
|
},
|
|
17
17
|
"Enter template name": {
|
|
18
|
-
id: '
|
|
18
|
+
id: 'creatives.containersV2.Line.Edit.enterTemplateName',
|
|
19
19
|
defaultMessage: 'Enter template name',
|
|
20
20
|
},
|
|
21
21
|
"Template name cannot be empty": {
|
|
22
|
-
id: '
|
|
22
|
+
id: 'creatives.containersV2.Line.Edit.templateCantEmpty',
|
|
23
23
|
defaultMessage: 'Template name cannot be empty',
|
|
24
24
|
},
|
|
25
25
|
"Discard Changes": {
|
|
26
|
-
id: '
|
|
26
|
+
id: 'creatives.containersV2.Line.Edit.discardChanges',
|
|
27
27
|
defaultMessage: 'Discard changes',
|
|
28
28
|
},
|
|
29
29
|
"Cancel": {
|
|
30
|
-
id: '
|
|
30
|
+
id: 'creatives.containersV2.Line.Edit.cancel',
|
|
31
31
|
defaultMessage: 'Cancel',
|
|
32
32
|
},
|
|
33
33
|
"Save": {
|
|
34
|
-
id: '
|
|
34
|
+
id: 'creatives.containersV2.Line.Edit.save',
|
|
35
35
|
defaultMessage: 'Save',
|
|
36
36
|
},
|
|
37
37
|
"Select Line Template": {
|
|
38
|
-
id: '
|
|
38
|
+
id: 'creatives.containersV2.Line.Edit.selectLineTemplate',
|
|
39
39
|
defaultMessage: 'Select line template',
|
|
40
40
|
},
|
|
41
41
|
"Template": {
|
|
42
|
-
id: '
|
|
42
|
+
id: 'creatives.containersV2.Line.Edit.template',
|
|
43
43
|
defaultMessage: 'Template',
|
|
44
44
|
},
|
|
45
45
|
"Title*": {
|
|
46
|
-
id: '
|
|
46
|
+
id: 'creatives.containersV2.Line.Edit.titleLabel',
|
|
47
47
|
defaultMessage: 'Title*',
|
|
48
48
|
},
|
|
49
49
|
"Title": {
|
|
50
|
-
id: '
|
|
50
|
+
id: 'creatives.containersV2.Line.Edit.title',
|
|
51
51
|
defaultMessage: 'Title',
|
|
52
52
|
},
|
|
53
53
|
"Please input message title name.": {
|
|
54
|
-
id: '
|
|
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: '
|
|
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: '
|
|
62
|
+
id: 'creatives.containersV2.Line.Edit.Tags',
|
|
63
63
|
defaultMessage: 'Tags',
|
|
64
64
|
},
|
|
65
65
|
"Message*": {
|
|
66
|
-
id: '
|
|
66
|
+
id: 'creatives.containersV2.Line.Edit.messageLabel',
|
|
67
67
|
defaultMessage: 'Message*',
|
|
68
68
|
},
|
|
69
69
|
"Message": {
|
|
70
|
-
id: '
|
|
70
|
+
id: 'creatives.containersV2.Line.Edit.message',
|
|
71
71
|
defaultMessage: 'Message',
|
|
72
72
|
},
|
|
73
73
|
"Please input mobile push template content.": {
|
|
74
|
-
id: '
|
|
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: '
|
|
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: '
|
|
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: '
|
|
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: '
|
|
90
|
+
id: 'creatives.containersV2.Line.Edit.Image',
|
|
91
91
|
defaultMessage: 'Image',
|
|
92
92
|
},
|
|
93
93
|
"Max file size acceptable is 5mb": {
|
|
94
|
-
id: '
|
|
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: '
|
|
98
|
+
id: 'creatives.containersV2.Line.Edit.pleaseUploadImage',
|
|
99
99
|
defaultMessage: 'Please upload image',
|
|
100
100
|
},
|
|
101
101
|
"Upload Image": {
|
|
102
|
-
id: '
|
|
102
|
+
id: 'creatives.containersV2.Line.Edit.uploadImage',
|
|
103
103
|
defaultMessage: 'Upload image',
|
|
104
104
|
},
|
|
105
105
|
"Line Template Edited Successfully": {
|
|
106
|
-
id: '
|
|
106
|
+
id: 'creatives.containersV2.Line.Edit.templateEditedSuccessfully',
|
|
107
107
|
defaultMessage: 'Line template edited successfully',
|
|
108
108
|
},
|
|
109
109
|
"somethingWentWrong": {
|
|
110
|
-
id: '
|
|
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: '
|
|
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: '
|
|
118
|
+
id: 'creatives.containersV2.Line.Edit.nameAndDescription',
|
|
119
119
|
defaultMessage: 'Name and description',
|
|
120
120
|
},
|
|
121
121
|
"Button 1": {
|
|
122
|
-
id: '
|
|
122
|
+
id: 'creatives.containersV2.Line.Edit.button1',
|
|
123
123
|
defaultMessage: 'Button 1',
|
|
124
124
|
},
|
|
125
125
|
"Button 2": {
|
|
126
|
-
id: '
|
|
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: '
|
|
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: '
|
|
134
|
+
id: 'creatives.containersV2.Line.Edit.valueCantEmpty',
|
|
135
135
|
defaultMessage: 'value cannot be empty.',
|
|
136
136
|
},
|
|
137
137
|
"Uploading Image...": {
|
|
138
|
-
id: '
|
|
138
|
+
id: 'creatives.containersV2.Line.Edit.uploadingImage',
|
|
139
139
|
defaultMessage: 'Uploading image...',
|
|
140
140
|
},
|
|
141
141
|
"Campaigns": {
|
|
142
|
-
id: '
|
|
142
|
+
id: 'creatives.containersV2.Line.Edit.Campaigns',
|
|
143
143
|
defaultMessage: 'Campaigns',
|
|
144
144
|
},
|
|
145
145
|
"Creatives": {
|
|
146
|
-
id: '
|
|
146
|
+
id: 'creatives.containersV2.Line.Edit.Creatives',
|
|
147
147
|
defaultMessage: 'Creatives',
|
|
148
148
|
},
|
|
149
|
-
"
|
|
150
|
-
id: '
|
|
149
|
+
"mobilePush": {
|
|
150
|
+
id: 'creatives.containersV2.Line.Edit.mobilePush',
|
|
151
151
|
defaultMessage: 'Mobile Push',
|
|
152
152
|
},
|
|
153
|
-
"
|
|
154
|
-
id: '
|
|
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:
|
|
25
|
+
rules: [{ required: true, message: this.props.intl.formatMessage(messages.inputUsernameMandatory) }],
|
|
24
26
|
})(
|
|
25
|
-
<CapInput prefix={<Icon type="user" style={{ fontSize: 13 }} />} placeholder=
|
|
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:
|
|
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=
|
|
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"}}>{
|
|
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.
|
|
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.
|
|
14
|
+
id: 'reon.modules.Login.componentsv2.LoginForm.input.password',
|
|
15
15
|
defaultMessage: 'Password',
|
|
16
16
|
},
|
|
17
17
|
loginButton: {
|
|
18
|
-
id: 'reon.modules.Login.
|
|
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:
|
|
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: '
|
|
10
|
+
id: 'creatives.containersV2.Login.pageTitle',
|
|
11
11
|
defaultMessage: 'Login',
|
|
12
12
|
},
|
|
13
13
|
header: {
|
|
14
|
-
id: '
|
|
14
|
+
id: 'creatives.containersV2.Login.header',
|
|
15
15
|
defaultMessage: 'This is login container change !',
|
|
16
16
|
},
|
|
17
17
|
invalidCredential: {
|
|
18
|
-
id: '
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
576
|
-
body:
|
|
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:
|
|
584
|
-
body:
|
|
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:
|
|
647
|
-
body: this.props.intl.formatMessage(messages
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
1234
|
+
placeholder: this.props.intl.formatMessage(messages.selectDeeplink),
|
|
1235
1235
|
type: "select", //Resembles component to be used
|
|
1236
1236
|
options: deepLinkOptions,
|
|
1237
|
-
errorMessage:
|
|
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',
|
|
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',
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
1752
|
+
title: this.props.intl.formatMessage(messages.button2),
|
|
1753
1753
|
dataIndex: "description",
|
|
1754
1754
|
key: "button2",
|
|
1755
1755
|
width: 100,
|