@capillarytech/creatives-library 3.1.1 → 3.1.2
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/package.json +1 -1
- package/v2Components/FormBuilder/index.js +10 -8
- package/v2Components/FormBuilder/messages.js +48 -0
- package/v2Containers/Cap/messages.js +67 -0
- package/v2Containers/CreativesContainer/SlideBoxHeader.js +2 -2
- package/v2Containers/CreativesContainer/messages.js +8 -0
- package/v2Containers/Line/Edit/_lineEdit.scss +21 -19
- package/v2Containers/Line/Edit/index.js +1 -1
- package/v2Containers/Templates/index.js +10 -4
- package/v2Containers/Templates/messages.js +12 -0
- package/v2Containers/TemplatesV2/index.js +6 -6
- package/v2Containers/TemplatesV2/messages.js +24 -0
- package/v2Containers/WeChat/MapTemplates/index.js +5 -5
- package/v2Containers/WeChat/MapTemplates/messages.js +24 -0
- package/v2Containers/WeChat/RichmediaTemplates/Create/index.js +6 -0
- package/v2Containers/WeChat/RichmediaTemplates/Create/messages.js +65 -13
package/package.json
CHANGED
|
@@ -13,6 +13,7 @@ import _ from 'lodash';
|
|
|
13
13
|
import { Tabs, Table, Modal} from 'antd';
|
|
14
14
|
import { CapButton, CapInput, CapPopover, CapCheckbox, CapRadio, CapSelect, CapTable, CapRow, CapColumn, CapNotification, CapUploader, CapHeading, CapIcon} from '@capillarytech/cap-ui-library';
|
|
15
15
|
import LabelHOC from '@capillarytech/cap-ui-library/assets/HOCs/ComponentWithLabelHOC';
|
|
16
|
+
import { FormattedMessage } from 'react-intl';
|
|
16
17
|
import TemplatePreview from '../TemplatePreview';
|
|
17
18
|
import TagList from '../../v2Containers/TagList';
|
|
18
19
|
import SlideBox from '../SlideBox';
|
|
@@ -20,6 +21,7 @@ import CardGrid from '../CardGrid';
|
|
|
20
21
|
import CKEditor from "../Ckeditor/";
|
|
21
22
|
import EDMEditor from "../Edmeditor";
|
|
22
23
|
import CustomPopOver from '../CustomPopOver';
|
|
24
|
+
import messages from './messages';
|
|
23
25
|
import './_formBuilder.scss';
|
|
24
26
|
import {updateCharCount, checkUnicode} from "../../utils/smsCharCountV2";
|
|
25
27
|
import {SMS} from '../../v2Containers/CreativesContainer/constants';
|
|
@@ -29,8 +31,6 @@ const {TextArea} = CapInput;
|
|
|
29
31
|
const {CapRadioGroup} = CapRadio;
|
|
30
32
|
// import styled from 'styled-components';
|
|
31
33
|
|
|
32
|
-
// import { FormattedMessage } from 'react-intl';
|
|
33
|
-
// import messages from './messages';
|
|
34
34
|
const isUrl = (str) => {
|
|
35
35
|
// eslint-disable-next-line no-useless-escape
|
|
36
36
|
const res = str.match(/(http(s)?:\/\/.)(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/g);
|
|
@@ -2742,15 +2742,13 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
|
|
|
2742
2742
|
</CapColumn>
|
|
2743
2743
|
);
|
|
2744
2744
|
break;
|
|
2745
|
-
|
|
2746
2745
|
case 'capUpload':
|
|
2747
2746
|
columns.push(
|
|
2748
2747
|
<CapUploader
|
|
2749
2748
|
customRequest={(data) => this.capUploaderCustomRequest(data, val)}
|
|
2750
2749
|
>
|
|
2751
2750
|
<CapButton>
|
|
2752
|
-
{
|
|
2753
|
-
{' '}
|
|
2751
|
+
<FormattedMessage {...messages.upload} />
|
|
2754
2752
|
</CapButton>
|
|
2755
2753
|
</CapUploader>
|
|
2756
2754
|
);
|
|
@@ -2763,10 +2761,14 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
|
|
|
2763
2761
|
{...val.componentProps}
|
|
2764
2762
|
className="form-builder-dragger"
|
|
2765
2763
|
>
|
|
2766
|
-
<CapHeading className="dragger-title" type="h7">
|
|
2767
|
-
|
|
2764
|
+
<CapHeading className="dragger-title" type="h7">
|
|
2765
|
+
<FormattedMessage {...messages.dragAndDrop} />
|
|
2766
|
+
</CapHeading>
|
|
2767
|
+
<CapHeading className="dragger-or" type="label6">
|
|
2768
|
+
<FormattedMessage {...messages.or} />
|
|
2769
|
+
</CapHeading>
|
|
2768
2770
|
<CapButton className="dragger-button" type="secondary">
|
|
2769
|
-
|
|
2771
|
+
<FormattedMessage {...messages.selectAFile} />
|
|
2770
2772
|
</CapButton>
|
|
2771
2773
|
</CapUploader.CapDragger>
|
|
2772
2774
|
);
|
|
@@ -10,4 +10,52 @@ export default defineMessages({
|
|
|
10
10
|
id: 'app.components.FormBuilder.header',
|
|
11
11
|
defaultMessage: 'This is the FormBuilder component !',
|
|
12
12
|
},
|
|
13
|
+
cancel: {
|
|
14
|
+
id: 'app.componentsv2.FormBuilder.cancel',
|
|
15
|
+
defaultMessage: 'Cancel',
|
|
16
|
+
},
|
|
17
|
+
yes: {
|
|
18
|
+
id: 'app.componentsv2.FormBuilder.header',
|
|
19
|
+
defaultMessage: 'Yes',
|
|
20
|
+
},
|
|
21
|
+
ok: {
|
|
22
|
+
id: 'app.componentsv2.FormBuilder.ok',
|
|
23
|
+
defaultMessage: 'Ok',
|
|
24
|
+
},
|
|
25
|
+
contentNotValidLanguage: {
|
|
26
|
+
id: 'app.componentsv2.FormBuilder.contentNotValidLanguage',
|
|
27
|
+
defaultMessage: 'Content is not valid for language:',
|
|
28
|
+
},
|
|
29
|
+
missingTags: {
|
|
30
|
+
id: 'app.componentsv2.FormBuilder.missingTags',
|
|
31
|
+
defaultMessage: 'Missing tags are:',
|
|
32
|
+
},
|
|
33
|
+
unsupportedTags: {
|
|
34
|
+
id: 'app.componentsv2.FormBuilder.unsupportedTags',
|
|
35
|
+
defaultMessage: 'Unsupported tags are:',
|
|
36
|
+
},
|
|
37
|
+
upload: {
|
|
38
|
+
id: 'app.componentsv2.FormBuilder.upload',
|
|
39
|
+
defaultMessage: 'Upload',
|
|
40
|
+
},
|
|
41
|
+
dragAndDrop: {
|
|
42
|
+
id: 'app.componentsv2.FormBuilder.dragAndDrop',
|
|
43
|
+
defaultMessage: 'Drag and drop image here',
|
|
44
|
+
},
|
|
45
|
+
or: {
|
|
46
|
+
id: 'app.componentsv2.FormBuilder.or',
|
|
47
|
+
defaultMessage: 'OR',
|
|
48
|
+
},
|
|
49
|
+
selectAFile: {
|
|
50
|
+
id: 'app.componentsv2.FormBuilder.selectAFile',
|
|
51
|
+
defaultMessage: 'Select a file from your computer',
|
|
52
|
+
},
|
|
53
|
+
layoutSelection: {
|
|
54
|
+
id: 'app.componentsv2.FormBuilder.layoutSelection',
|
|
55
|
+
defaultMessage: 'Layout Selection',
|
|
56
|
+
},
|
|
57
|
+
loadingEDMTemplates: {
|
|
58
|
+
id: 'app.componentsv2.FormBuilder.loadingEDMTemplates',
|
|
59
|
+
defaultMessage: 'Loading EDM Templates',
|
|
60
|
+
},
|
|
13
61
|
});
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { defineMessages } from 'react-intl';
|
|
2
|
+
export default defineMessages({
|
|
3
|
+
"sms": {
|
|
4
|
+
id: 'reon.componentsv2.Cap.sms',
|
|
5
|
+
defaultMessage: 'SMS',
|
|
6
|
+
},
|
|
7
|
+
"wechat": {
|
|
8
|
+
id: 'reon.componentsv2.Cap.wechat',
|
|
9
|
+
defaultMessage: 'WeChat',
|
|
10
|
+
},
|
|
11
|
+
"gallery": {
|
|
12
|
+
id: 'reon.componentsv2.Cap.gallery',
|
|
13
|
+
defaultMessage: 'Gallery',
|
|
14
|
+
},
|
|
15
|
+
"creativesDashboard": {
|
|
16
|
+
id: 'reon.componentsv2.Cap.creativesDashboard',
|
|
17
|
+
defaultMessage: 'Creatives',
|
|
18
|
+
},
|
|
19
|
+
"creatives": {
|
|
20
|
+
id: 'reon.componentsv2.Cap.creatives',
|
|
21
|
+
defaultMessage: 'Creatives',
|
|
22
|
+
},
|
|
23
|
+
"campaigns": {
|
|
24
|
+
id: 'reon.componentsv2.Cap.campaigns',
|
|
25
|
+
defaultMessage: 'Campaigns',
|
|
26
|
+
},
|
|
27
|
+
"loyalty": {
|
|
28
|
+
id: 'reon.componentsv2.Cap.loyalty',
|
|
29
|
+
defaultMessage: 'Loyalty',
|
|
30
|
+
},
|
|
31
|
+
"member care": {
|
|
32
|
+
id: 'reon.componentsv2.Cap.memberCare',
|
|
33
|
+
defaultMessage: 'Member Care',
|
|
34
|
+
},
|
|
35
|
+
"workbench": {
|
|
36
|
+
id: 'reon.componentsv2.Cap.Workbench',
|
|
37
|
+
defaultMessage: 'WorkBench',
|
|
38
|
+
},
|
|
39
|
+
"store care": {
|
|
40
|
+
id: 'reon.componentsv2.Cap.storeCare',
|
|
41
|
+
defaultMessage: 'Store Care',
|
|
42
|
+
},
|
|
43
|
+
"store performance": {
|
|
44
|
+
id: 'reon.componentsv2.Cap.storePerformance',
|
|
45
|
+
defaultMessage: 'Store Performance',
|
|
46
|
+
},
|
|
47
|
+
"email": {
|
|
48
|
+
id: 'reon.componentsv2.Cap.email',
|
|
49
|
+
defaultMessage: 'Email',
|
|
50
|
+
},
|
|
51
|
+
"ebill": {
|
|
52
|
+
id: 'reon.componentsv2.Cap.ebill',
|
|
53
|
+
defaultMessage: 'Ebill',
|
|
54
|
+
},
|
|
55
|
+
"campaignsDashboard": {
|
|
56
|
+
id: 'reon.componentsv2.campaignsDashboard',
|
|
57
|
+
defaultMessage: 'Campaigns',
|
|
58
|
+
},
|
|
59
|
+
"campaignsHome": {
|
|
60
|
+
id: 'reon.componentsv2.campaignsHome',
|
|
61
|
+
defaultMessage: "Campaigns Home",
|
|
62
|
+
},
|
|
63
|
+
"appName": {
|
|
64
|
+
id: 'reon.componentsv2.appName',
|
|
65
|
+
defaultMessage: "App Name",
|
|
66
|
+
},
|
|
67
|
+
});
|
|
@@ -73,10 +73,10 @@ function SlideBoxHeader(props) {
|
|
|
73
73
|
className="wechat-steps"
|
|
74
74
|
>
|
|
75
75
|
<CapSteps.CapStep
|
|
76
|
-
title={<CapLabel type="label8"
|
|
76
|
+
title={<CapLabel type="label8"><FormattedMessage {...messages.selectTemplate} /></CapLabel>}
|
|
77
77
|
/>
|
|
78
78
|
<CapSteps.CapStep
|
|
79
|
-
title={<CapLabel type="label8"
|
|
79
|
+
title={<CapLabel type="label8"><FormattedMessage {...messages.addContent} /></CapLabel>}
|
|
80
80
|
disabled
|
|
81
81
|
/>
|
|
82
82
|
</CapSteps>
|
|
@@ -294,4 +294,12 @@ export default defineMessages({
|
|
|
294
294
|
id: `${scope}.wechatAccountNotConfigured`,
|
|
295
295
|
defaultMessage: 'Selected wechat account is not configured to create wechat templates',
|
|
296
296
|
},
|
|
297
|
+
"selectTemplate": {
|
|
298
|
+
id: `${scope}.selectTemplate`,
|
|
299
|
+
defaultMessage: 'Select template',
|
|
300
|
+
},
|
|
301
|
+
"addContent": {
|
|
302
|
+
id: `${scope}.addContent`,
|
|
303
|
+
defaultMessage: 'Add content',
|
|
304
|
+
},
|
|
297
305
|
});
|
|
@@ -1,21 +1,23 @@
|
|
|
1
|
-
.
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
.line-edit {
|
|
2
|
+
.mobile-push-row{
|
|
3
|
+
margin-bottom: 16px;
|
|
4
|
+
}
|
|
5
|
+
.image-container{
|
|
6
|
+
border: solid 1px #C2C2C2;
|
|
7
|
+
border-radius: 5px;
|
|
8
|
+
.image-placeholder{
|
|
9
|
+
line-height: 150px;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
.ant-tabs-bar{
|
|
13
|
+
margin-bottom: 0 !important;
|
|
14
|
+
display: flex;
|
|
15
|
+
align-items: center;
|
|
16
|
+
flex-direction: row-reverse;
|
|
17
|
+
justify-content: flex-end;
|
|
18
|
+
}
|
|
19
|
+
.ant-tabs-tabpane{
|
|
20
|
+
padding: 16px 16px 16px 0;
|
|
21
|
+
border: solid 1px #D6D6D6;
|
|
9
22
|
}
|
|
10
|
-
}
|
|
11
|
-
.ant-tabs-bar{
|
|
12
|
-
margin-bottom: 0 !important;
|
|
13
|
-
display: flex;
|
|
14
|
-
align-items: center;
|
|
15
|
-
flex-direction: row-reverse;
|
|
16
|
-
justify-content: flex-end;
|
|
17
|
-
}
|
|
18
|
-
.ant-tabs-tabpane{
|
|
19
|
-
padding: 16px 16px 16px 0;
|
|
20
|
-
border: solid 1px #D6D6D6;
|
|
21
23
|
}
|
|
@@ -961,7 +961,7 @@ export class Edit extends React.Component { // eslint-disable-line react/prefer-
|
|
|
961
961
|
tags = this.props.supportedTags;
|
|
962
962
|
}
|
|
963
963
|
return (
|
|
964
|
-
<div>
|
|
964
|
+
<div className="line-edit">
|
|
965
965
|
<Spin spinning={spinning}>
|
|
966
966
|
{<Row style={{marginBottom: '16px', marginLeft: '-40px'}}>
|
|
967
967
|
<Col offset={1}>
|
|
@@ -1650,10 +1650,16 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
1650
1650
|
/>}
|
|
1651
1651
|
{
|
|
1652
1652
|
channel.toUpperCase() === WECHAT && <CapRadio.CapRadioGroup className="wechat-filters" defaultValue={wechatFilter} onChange={this.setWechatFilter}>
|
|
1653
|
-
|
|
1654
|
-
<
|
|
1655
|
-
|
|
1656
|
-
|
|
1653
|
+
<CapRadio.Button value={WECHAT_FILTERS.ALL}><CapLabel type="label2">
|
|
1654
|
+
<FormattedMessage {...messages.all} />
|
|
1655
|
+
</CapLabel></CapRadio.Button>
|
|
1656
|
+
<CapRadio.Button value={WECHAT_FILTERS.MAPTEMPLATES}><CapLabel type="label2">
|
|
1657
|
+
<FormattedMessage {...messages.mapTemplates} />
|
|
1658
|
+
</CapLabel></CapRadio.Button>
|
|
1659
|
+
<CapRadio.Button value={WECHAT_FILTERS.RICHMEDIA}><CapLabel type="label2">
|
|
1660
|
+
<FormattedMessage {...messages.richMediaTemplates} />
|
|
1661
|
+
</CapLabel></CapRadio.Button>
|
|
1662
|
+
</CapRadio.CapRadioGroup>
|
|
1657
1663
|
}
|
|
1658
1664
|
<div style={{display: "flex", justifyContent: "space-between", alignItems: 'center'}}>
|
|
1659
1665
|
{isfilterContentVisisble && <CapButton
|
|
@@ -326,4 +326,16 @@ export default defineMessages({
|
|
|
326
326
|
id: `${scope}.mobilepushAccount`,
|
|
327
327
|
defaultMessage: 'Mobilepush account',
|
|
328
328
|
},
|
|
329
|
+
"all": {
|
|
330
|
+
id: `${scope}.all`,
|
|
331
|
+
defaultMessage: 'All',
|
|
332
|
+
},
|
|
333
|
+
"mapTemplates": {
|
|
334
|
+
id: `${scope}.mapTemplates`,
|
|
335
|
+
defaultMessage: 'Map templates',
|
|
336
|
+
},
|
|
337
|
+
"richMediaTemplates": {
|
|
338
|
+
id: `${scope}.richMediaTemplates`,
|
|
339
|
+
defaultMessage: 'Rich media templates',
|
|
340
|
+
},
|
|
329
341
|
});
|
|
@@ -33,11 +33,11 @@ export class TemplatesV2 extends React.Component { // eslint-disable-line react/
|
|
|
33
33
|
super(props);
|
|
34
34
|
const defaultChannel = get(this, 'props.channel') || get(this, 'props.params.channel') || 'sms';
|
|
35
35
|
const defaultPanes = {
|
|
36
|
-
sms: {content: <div></div>, tab:
|
|
37
|
-
email: {content: <div></div>, tab:
|
|
38
|
-
weChat: {content: <div></div>, tab:
|
|
36
|
+
sms: {content: <div></div>, tab: props.intl.formatMessage(messages.sms), key: 'sms'},
|
|
37
|
+
email: {content: <div></div>, tab: props.intl.formatMessage(messages.email), key: 'email'},
|
|
38
|
+
weChat: {content: <div></div>, tab: props.intl.formatMessage(messages.wechat), key: 'wechat'},
|
|
39
39
|
//'wechat': {content: this.getTemplatesComponent('wechat'), tab: 'Wechat', key: 'wechat'},
|
|
40
|
-
mPush: {content: <div></div>, tab:
|
|
40
|
+
mPush: {content: <div></div>, tab: props.intl.formatMessage(messages.pushNotification), key: 'mobilepush'},
|
|
41
41
|
};
|
|
42
42
|
const channelsToHide = this.props.channelsToHide || [];
|
|
43
43
|
|
|
@@ -48,9 +48,9 @@ export class TemplatesV2 extends React.Component { // eslint-disable-line react/
|
|
|
48
48
|
}, []);
|
|
49
49
|
|
|
50
50
|
if (props.isFullMode ) {
|
|
51
|
-
filteredPanes.push({content: <div></div>, tab:
|
|
51
|
+
filteredPanes.push({content: <div></div>, tab: props.intl.formatMessage(messages.gallery), key: 'assets'});
|
|
52
52
|
} else if (!channelsToHide.includes('callTask')) {
|
|
53
|
-
filteredPanes.push({content: <div></div>, tab:
|
|
53
|
+
filteredPanes.push({content: <div></div>, tab: props.intl.formatMessage(messages.callTask), key: 'call_task'});
|
|
54
54
|
}
|
|
55
55
|
|
|
56
56
|
const panes = this.setChannelContent(defaultChannel, filteredPanes);
|
|
@@ -26,4 +26,28 @@ export default defineMessages({
|
|
|
26
26
|
id: 'app.containers.TemplatesV2.creativesDesc',
|
|
27
27
|
defaultMessage: 'These are pre-built templates which you could use to customize your message content.',
|
|
28
28
|
},
|
|
29
|
+
sms: {
|
|
30
|
+
id: 'app.containersv2.TemplatesV2.sms',
|
|
31
|
+
defaultMessage: 'SMS',
|
|
32
|
+
},
|
|
33
|
+
email: {
|
|
34
|
+
id: 'app.containersv2.TemplatesV2.email',
|
|
35
|
+
defaultMessage: 'Email',
|
|
36
|
+
},
|
|
37
|
+
pushNotification: {
|
|
38
|
+
id: 'app.containersv2.TemplatesV2.pushNotification',
|
|
39
|
+
defaultMessage: 'Push notification',
|
|
40
|
+
},
|
|
41
|
+
callTask: {
|
|
42
|
+
id: 'app.containersv2.TemplatesV2.callTask',
|
|
43
|
+
defaultMessage: 'Call Task',
|
|
44
|
+
},
|
|
45
|
+
gallery: {
|
|
46
|
+
id: 'app.containersv2.TemplatesV2.gallery',
|
|
47
|
+
defaultMessage: 'Gallery',
|
|
48
|
+
},
|
|
49
|
+
wechat: {
|
|
50
|
+
id: 'app.containersv2.TemplatesV2.wechat',
|
|
51
|
+
defaultMessage: 'Wechat',
|
|
52
|
+
},
|
|
29
53
|
});
|
|
@@ -553,7 +553,7 @@ export class MapTemplates extends React.Component { // eslint-disable-line react
|
|
|
553
553
|
cols: [{
|
|
554
554
|
width: 23,
|
|
555
555
|
id: `tagList-${title}`,
|
|
556
|
-
label:
|
|
556
|
+
label: this.props.intl.formatMessage(messages.Tags),
|
|
557
557
|
type: "tag-list", //Resembles component to be used
|
|
558
558
|
metaType: "List",
|
|
559
559
|
datatype: "select",
|
|
@@ -589,7 +589,7 @@ export class MapTemplates extends React.Component { // eslint-disable-line react
|
|
|
589
589
|
type: "input", //Resembles component to be used
|
|
590
590
|
metaType: "text",
|
|
591
591
|
datatype: "string",
|
|
592
|
-
errorMessage: `${title}
|
|
592
|
+
errorMessage: `${title} ${this.props.intl.formatMessage(messages.hasInvalidContent)}`,
|
|
593
593
|
required: true,
|
|
594
594
|
fluid: true,
|
|
595
595
|
disabled: (this.props.location.query.type === 'embedded' && this.state.isEdit),
|
|
@@ -626,11 +626,11 @@ export class MapTemplates extends React.Component { // eslint-disable-line react
|
|
|
626
626
|
{
|
|
627
627
|
id: 'template-link',
|
|
628
628
|
placeholder: this.props.intl.formatMessage(messages.Link),
|
|
629
|
-
label:
|
|
629
|
+
label: this.props.intl.formatMessage(messages.Link),
|
|
630
630
|
type: "input", //Resembles component to be used
|
|
631
631
|
metaType: "text",
|
|
632
632
|
datatype: "string",
|
|
633
|
-
errorMessage:
|
|
633
|
+
errorMessage: this.props.intl.formatMessage(messages.linkErrorMessage),
|
|
634
634
|
required: true,
|
|
635
635
|
fluid: true,
|
|
636
636
|
disabled: (this.props.location.query.type === 'embedded' && this.state.isEdit),
|
|
@@ -655,7 +655,7 @@ export class MapTemplates extends React.Component { // eslint-disable-line react
|
|
|
655
655
|
cols: [
|
|
656
656
|
{
|
|
657
657
|
id: "is-internal-url",
|
|
658
|
-
label:
|
|
658
|
+
label: this.props.intl.formatMessage(messages.isInternalUrl),
|
|
659
659
|
standalone: true,
|
|
660
660
|
labelStyle: {
|
|
661
661
|
backgroundColor: "white",
|
|
@@ -70,6 +70,22 @@ export default defineMessages({
|
|
|
70
70
|
id: 'app.containers.WeChat.somethingWentWrong',
|
|
71
71
|
defaultMessage: "Something went wrong!!",
|
|
72
72
|
},
|
|
73
|
+
"alertMessage": {
|
|
74
|
+
id: 'app.containersv2.WeChat.alertMessage',
|
|
75
|
+
defaultMessage: "Alert",
|
|
76
|
+
},
|
|
77
|
+
"goBackTemporaryChangesLost": {
|
|
78
|
+
id: 'app.containersv2.WeChat.goBackTemporaryChangesLost',
|
|
79
|
+
defaultMessage: "Do you really want to go back? All your temporary changes will be lost!",
|
|
80
|
+
},
|
|
81
|
+
"hasValidContent": {
|
|
82
|
+
id: 'app.containersv2.WeChat.hasValidContent',
|
|
83
|
+
defaultMessage: "has valid content.",
|
|
84
|
+
},
|
|
85
|
+
"linkCantEmpty": {
|
|
86
|
+
id: 'app.containersv2.WeChat.linkCantEmpty',
|
|
87
|
+
defaultMessage: "has valid content.",
|
|
88
|
+
},
|
|
73
89
|
"select": {
|
|
74
90
|
id: 'app.containers.WeChat.select',
|
|
75
91
|
defaultMessage: 'Select',
|
|
@@ -78,4 +94,12 @@ export default defineMessages({
|
|
|
78
94
|
id: 'app.containers.WeChat.newWechat',
|
|
79
95
|
defaultMessage: 'New wechat',
|
|
80
96
|
},
|
|
97
|
+
"linkErrorMessage": {
|
|
98
|
+
id: 'app.containers.WeChat.linkErrorMessage',
|
|
99
|
+
defaultMessage: 'Link cannot be empty.',
|
|
100
|
+
},
|
|
101
|
+
"hasInvalidContent": {
|
|
102
|
+
id: 'app.containers.WeChat.hasInvalidContent',
|
|
103
|
+
defaultMessage: 'has invalid content.',
|
|
104
|
+
},
|
|
81
105
|
});
|
|
@@ -278,6 +278,12 @@ export class Create extends React.Component { // eslint-disable-line react/prefe
|
|
|
278
278
|
if (temp.placeholder && messages[temp.placeholder]) {
|
|
279
279
|
temp.placeholder = this.props.intl.formatMessage(messages[temp.placeholder]);
|
|
280
280
|
}
|
|
281
|
+
// if (temp.value && messages[temp.value] && temp.metaType === 'label') {
|
|
282
|
+
// temp.value = this.props.intl.formatMessage(messages[temp.value]);
|
|
283
|
+
// }
|
|
284
|
+
// if (temp.inductiveText && messages[temp.inductiveText]) {
|
|
285
|
+
// temp.inductiveText = this.props.intl.formatMessage(messages[temp.inductiveText]);
|
|
286
|
+
// }
|
|
281
287
|
if (temp.options) {
|
|
282
288
|
forEach(temp.options, (option, id) => {
|
|
283
289
|
if (messages[option]) {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/*
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
* Create Messages
|
|
3
|
+
*
|
|
4
|
+
* This contains all the text for the Create component.
|
|
5
|
+
*/
|
|
6
6
|
import { defineMessages } from 'react-intl';
|
|
7
7
|
|
|
8
8
|
export default defineMessages({
|
|
@@ -82,9 +82,9 @@ export default defineMessages({
|
|
|
82
82
|
id: 'app.containers.Create.addNewRichmedia',
|
|
83
83
|
defaultMessage: 'Add richmedia content',
|
|
84
84
|
},
|
|
85
|
-
'Title
|
|
86
|
-
id: 'app.
|
|
87
|
-
defaultMessage: 'Title
|
|
85
|
+
'Title': {
|
|
86
|
+
id: 'app.containersv2.Create.Title',
|
|
87
|
+
defaultMessage: 'Title',
|
|
88
88
|
},
|
|
89
89
|
'Please input title': {
|
|
90
90
|
id: 'app.containers.Create.Please_input_title',
|
|
@@ -98,9 +98,9 @@ export default defineMessages({
|
|
|
98
98
|
id: 'app.containers.Create.Please_input_author',
|
|
99
99
|
defaultMessage: 'Please input author',
|
|
100
100
|
},
|
|
101
|
-
'Cover image
|
|
102
|
-
id: 'app.
|
|
103
|
-
defaultMessage: 'Cover image
|
|
101
|
+
'Cover image': {
|
|
102
|
+
id: 'app.containersv2.Create.Cover_image',
|
|
103
|
+
defaultMessage: 'Cover image',
|
|
104
104
|
},
|
|
105
105
|
'Cover abstract': {
|
|
106
106
|
id: 'app.containers.Create.Cover_abstract',
|
|
@@ -110,9 +110,9 @@ export default defineMessages({
|
|
|
110
110
|
id: 'app.containers.Create.Please_input_cover_abstract',
|
|
111
111
|
defaultMessage: 'Please input cover abstract',
|
|
112
112
|
},
|
|
113
|
-
'Content
|
|
114
|
-
id: 'app.
|
|
115
|
-
defaultMessage: 'Content
|
|
113
|
+
'Content': {
|
|
114
|
+
id: 'app.containersv2.Create.Content',
|
|
115
|
+
defaultMessage: 'Content',
|
|
116
116
|
},
|
|
117
117
|
'Please input content': {
|
|
118
118
|
id: 'app.containers.Create.Please_input_content',
|
|
@@ -138,4 +138,56 @@ export default defineMessages({
|
|
|
138
138
|
id: 'app.containers.Create.Only_followers',
|
|
139
139
|
defaultMessage: 'Only followers',
|
|
140
140
|
},
|
|
141
|
+
'visibility': {
|
|
142
|
+
id: 'app.containersv2.Create.visibility',
|
|
143
|
+
defaultMessage: 'visibility',
|
|
144
|
+
},
|
|
145
|
+
'delete': {
|
|
146
|
+
id: 'app.containersv2.Create.delete',
|
|
147
|
+
defaultMessage: 'delete',
|
|
148
|
+
},
|
|
149
|
+
'This field is required!': {
|
|
150
|
+
id: 'app.containersv2.Create.requiredField',
|
|
151
|
+
defaultMessage: 'This field is required!',
|
|
152
|
+
},
|
|
153
|
+
"Write a brief headline to draw customer's attention": {
|
|
154
|
+
id: 'app.containersv2.Create.titleInductiveText',
|
|
155
|
+
defaultMessage: "Write a brief headline to draw customer's attention",
|
|
156
|
+
},
|
|
157
|
+
"Brand/name that your customer will recognise": {
|
|
158
|
+
id: 'app.containersv2.Create.authorInductiveText',
|
|
159
|
+
defaultMessage: "Brand/name that your customer will recognise",
|
|
160
|
+
},
|
|
161
|
+
'Resolution 360 x 200': {
|
|
162
|
+
id: 'app.containersv2.Create.resolutionText',
|
|
163
|
+
defaultMessage: 'Resolution 360 x 200',
|
|
164
|
+
},
|
|
165
|
+
'The relevant image that complements title.': {
|
|
166
|
+
id: 'app.containersv2.Create.coverImageTitle',
|
|
167
|
+
defaultMessage: 'The relevant image that complements title.',
|
|
168
|
+
},
|
|
169
|
+
'Upload Image': {
|
|
170
|
+
id: 'app.containersv2.Create.uploadImage',
|
|
171
|
+
defaultMessage: 'Upload Image',
|
|
172
|
+
},
|
|
173
|
+
'A short description help customers learn more': {
|
|
174
|
+
id: 'app.containersv2.Create.coverAbstractInductive',
|
|
175
|
+
defaultMessage: 'A short description help customers learn more',
|
|
176
|
+
},
|
|
177
|
+
'Article content': {
|
|
178
|
+
id: 'app.containersv2.Create.articleContent',
|
|
179
|
+
defaultMessage: 'Article content',
|
|
180
|
+
},
|
|
181
|
+
'Insert Image': {
|
|
182
|
+
id: 'app.containersv2.Create.insertImage',
|
|
183
|
+
defaultMessage: 'Insert Image',
|
|
184
|
+
},
|
|
185
|
+
'Read more link': {
|
|
186
|
+
id: 'app.containersv2.Create.readMoreLink',
|
|
187
|
+
defaultMessage: 'Read more link',
|
|
188
|
+
},
|
|
189
|
+
'Link to help customers discover more about the brand.': {
|
|
190
|
+
id: 'app.containersv2.Create.linkInductiveText',
|
|
191
|
+
defaultMessage: 'Link to help customers discover more about the brand.',
|
|
192
|
+
},
|
|
141
193
|
});
|