@capillarytech/creatives-library 3.0.35 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/noImage.png +0 -0
- package/components/BreadCrumbs/messages.js +1 -1
- package/components/CapTagList/index.js +3 -3
- package/components/CapTagList/messages.js +4 -16
- package/components/Ckeditor/messages.js +1 -1
- package/components/CustomPopOver/index.js +4 -3
- package/components/CustomPopOver/messages.js +1 -5
- package/components/DateFilter/index.js +12 -12
- package/components/DateFilter/messages.js +0 -40
- package/components/DateRange/index.js +4 -5
- package/components/DateRange/messages.js +1 -13
- package/components/Edmeditor/messages.js +1 -1
- package/components/EmailPreview/index.js +4 -4
- package/components/EmailPreview/messages.js +2 -18
- package/components/Footer/messages.js +1 -1
- package/components/FormBuilder/index.js +19 -15
- package/components/FormBuilder/messages.js +1 -33
- package/components/Header/messages.js +4 -4
- package/components/ImagePreview/index.js +1 -1
- package/components/ImagePreview/messages.js +1 -5
- package/components/PageHeader/messages.js +1 -1
- package/components/PreviewSideBar/index.js +2 -2
- package/components/PreviewSideBar/messages.js +6 -14
- package/components/Sidebar/messages.js +3 -3
- package/components/SmsTest/index.js +4 -6
- package/components/SmsTest/messages.js +1 -9
- package/components/TemplatePreview/WechatRichmediaTemplatePreview/messages.js +3 -3
- package/components/TemplatePreview/index.js +10 -11
- package/components/TemplatePreview/messages.js +7 -23
- package/components/Toastr/messages.js +1 -1
- package/components/ToastrMessage/index.js +1 -4
- package/components/ToastrMessage/messages.js +1 -5
- package/components/TopBar/messages.js +1 -1
- package/config/app.js +0 -2
- package/containers/Assets/Gallery/messages.js +20 -20
- package/containers/Cap/index.js +5 -5
- 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 +16 -20
- package/containers/Email/index.js +24 -24
- package/containers/Email/messages.js +59 -107
- package/containers/Line/Create/index.js +7 -7
- package/containers/Line/Create/messages.js +42 -58
- package/containers/Line/Edit/index.js +14 -14
- package/containers/Line/Edit/messages.js +38 -58
- package/containers/Login/components/LoginForm/index.js +7 -10
- package/containers/Login/components/LoginForm/messages.js +3 -15
- package/containers/Login/index.js +1 -1
- package/containers/Login/messages.js +3 -7
- package/containers/MobilePush/Create/index.js +45 -45
- package/containers/MobilePush/Create/messages.js +75 -111
- package/containers/MobilePush/Edit/index.js +45 -45
- package/containers/MobilePush/Edit/messages.js +83 -100
- package/containers/NotFoundPage/messages.js +1 -1
- package/containers/Sms/Create/index.js +8 -7
- package/containers/Sms/Create/messages.js +19 -43
- package/containers/Sms/Edit/index.js +4 -4
- package/containers/Sms/Edit/messages.js +20 -36
- package/containers/TagList/messages.js +1 -1
- package/containers/Templates/index.js +19 -20
- package/containers/Templates/messages.js +64 -136
- package/containers/TestPage/messages.js +1 -1
- package/containers/Testv2/index.js +2 -2
- package/containers/Testv2/messages.js +1 -9
- package/containers/WeChat/MapTemplates/index.js +10 -10
- package/containers/WeChat/MapTemplates/messages.js +17 -49
- 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 +1 -9
- package/index.js +20 -8
- package/package.json +4 -1
- package/routes.js +16 -2
- package/services/api.js +2 -17
- package/services/getSchema.js +4 -1
- package/translations/en.json +360 -1396
- package/translations/zh.json +381 -1417
- package/utils/smsCharCountV2.js +10 -26
- package/v2Components/BreadCrumbs/messages.js +1 -1
- package/v2Components/CallTaskPreview/messages.js +1 -1
- package/v2Components/CapTagList/index.js +5 -6
- package/v2Components/CapTagList/messages.js +4 -24
- package/v2Components/Ckeditor/index.js +0 -1
- package/v2Components/Ckeditor/messages.js +1 -1
- package/v2Components/CmsTemplatesComponent/messages.js +2 -2
- package/v2Components/CustomPopOver/index.js +2 -4
- package/v2Components/CustomPopOver/messages.js +1 -5
- package/v2Components/DateFilter/index.js +349 -0
- package/v2Components/DateFilter/messages.js +17 -0
- package/v2Components/DateFilter/tests/index.test.js +15 -0
- package/v2Components/DateRange/index.js +113 -0
- package/v2Components/DateRange/messages.js +13 -0
- package/v2Components/DateRange/tests/index.test.js +10 -0
- package/v2Components/Edmeditor/messages.js +1 -1
- package/v2Components/EmailPreview/index.js +2 -2
- package/v2Components/EmailPreview/messages.js +3 -11
- package/v2Components/EmailPreviewV2/index.js +1 -1
- package/v2Components/EmailPreviewV2/messages.js +9 -13
- package/v2Components/Footer/messages.js +1 -1
- package/v2Components/FormBuilder/_formBuilder.scss +19 -0
- package/v2Components/FormBuilder/index.js +58 -27
- package/v2Components/FormBuilder/messages.js +1 -49
- package/v2Components/Header/index.js +2 -2
- package/v2Components/Header/messages.js +4 -4
- package/v2Components/ImagePreview/index.js +2 -3
- package/v2Components/ImagePreview/messages.js +1 -5
- package/v2Components/MobilePushPreviewV2/index.js +5 -2
- package/v2Components/MobilePushPreviewV2/messages.js +1 -9
- package/v2Components/NavigationBar/messages.js +1 -1
- package/v2Components/NewCallTask/messages.js +5 -5
- package/v2Components/PageHeader/_pageHeader.scss +22 -0
- package/v2Components/PageHeader/index.js +37 -0
- package/v2Components/PageHeader/messages.js +13 -0
- package/v2Components/PageHeader/tests/index.test.js +10 -0
- package/v2Components/PreviewSideBar/messages.js +6 -6
- package/v2Components/Sidebar/_sidebar.scss +115 -0
- package/v2Components/Sidebar/index.js +208 -0
- package/v2Components/Sidebar/messages.js +21 -0
- package/v2Components/Sidebar/tests/index.test.js +10 -0
- package/v2Components/SmsEditor/index.js +55 -0
- package/v2Components/SmsEditor/tests/index.test.js +10 -0
- package/v2Components/SmsTest/index.js +4 -6
- package/v2Components/SmsTest/messages.js +1 -9
- package/v2Components/TemplatePreview/WechatRichmediaTemplatePreview/_wechatRichmediaTemplatePrev.scss +2 -0
- package/v2Components/TemplatePreview/WechatRichmediaTemplatePreview/index.js +18 -28
- package/v2Components/TemplatePreview/WechatRichmediaTemplatePreview/messages.js +3 -3
- package/v2Components/TemplatePreview/_templatePreview.scss +0 -9
- package/v2Components/TemplatePreview/index.js +16 -35
- package/v2Components/TemplatePreview/messages.js +7 -23
- package/v2Components/Toastr/messages.js +1 -1
- package/v2Components/ToastrMessage/index.js +2 -3
- package/v2Components/ToastrMessage/messages.js +1 -5
- package/v2Components/TopBar/_topbar.scss +46 -0
- package/v2Components/TopBar/messages.js +7 -7
- package/v2Containers/App/constants.js +0 -11
- package/v2Containers/Assets/Gallery/messages.js +24 -24
- package/v2Containers/CallTask/messages.js +6 -6
- package/v2Containers/Cap/actions.js +0 -1
- package/v2Containers/Cap/index.js +9 -6
- package/v2Containers/Cap/messsages.js +15 -19
- package/v2Containers/Cap/sagas.js +8 -1
- package/v2Containers/ChannelTemplates/messages.js +1 -1
- package/v2Containers/CreativesContainer/SlideBoxContent.js +39 -1
- package/v2Containers/CreativesContainer/SlideBoxFooter.js +7 -1
- package/v2Containers/CreativesContainer/SlideBoxHeader.js +21 -3
- package/v2Containers/CreativesContainer/index.js +95 -50
- package/v2Containers/CreativesContainer/index.scss +15 -0
- package/v2Containers/CreativesContainer/messages.js +12 -16
- package/v2Containers/Dashboard/index.js +1 -2
- package/v2Containers/Dashboard/messages.js +1 -1
- package/v2Containers/Ebill/index.js +1 -1
- package/v2Containers/Ebill/messages.js +16 -20
- package/v2Containers/Email/index.js +20 -20
- package/v2Containers/Email/messages.js +61 -101
- package/v2Containers/EmailWrapper/index.js +44 -64
- package/v2Containers/EmailWrapper/messages.js +12 -12
- package/v2Containers/Line/Create/index.js +3 -3
- package/v2Containers/Line/Create/messages.js +41 -53
- package/v2Containers/Line/Edit/index.js +10 -10
- package/v2Containers/Line/Edit/messages.js +39 -55
- package/v2Containers/Login/components/LoginForm/index.js +6 -9
- package/v2Containers/Login/components/LoginForm/messages.js +3 -15
- package/v2Containers/Login/index.js +1 -1
- package/v2Containers/Login/messages.js +3 -7
- package/v2Containers/MobilePush/Create/_mobilePushCreate.scss +3 -0
- package/v2Containers/MobilePush/Create/index.js +33 -33
- package/v2Containers/MobilePush/Create/messages.js +81 -109
- package/v2Containers/MobilePush/Edit/_mobilePushCreate.scss +3 -0
- package/v2Containers/MobilePush/Edit/index.js +22 -22
- package/v2Containers/MobilePush/Edit/messages.js +79 -95
- package/v2Containers/MobilePush/initialSchema.js +1 -2
- package/v2Containers/MobilepushWrapper/messages.js +5 -5
- package/v2Containers/NotFoundPage/messages.js +1 -1
- package/v2Containers/Sms/Create/index.js +6 -6
- package/v2Containers/Sms/Create/messages.js +21 -41
- package/v2Containers/Sms/Edit/index.js +6 -6
- package/v2Containers/Sms/Edit/messages.js +20 -36
- package/v2Containers/TagList/messages.js +1 -1
- package/v2Containers/Templates/_templates.scss +31 -5
- package/v2Containers/Templates/index.js +243 -248
- package/v2Containers/Templates/messages.js +7 -15
- package/v2Containers/Templates/sagas.js +0 -1
- package/v2Containers/TemplatesV2/_templatesV2.scss +5 -0
- package/v2Containers/TemplatesV2/index.js +4 -1
- package/v2Containers/TemplatesV2/messages.js +5 -29
- package/v2Containers/TestPage/messages.js +1 -1
- package/v2Containers/Testv2/index.js +2 -2
- package/v2Containers/Testv2/messages.js +1 -9
- package/v2Containers/WeChat/MapTemplates/_mapTemplates.scss +16 -0
- package/v2Containers/WeChat/MapTemplates/actions.js +4 -2
- package/v2Containers/WeChat/MapTemplates/index.js +800 -872
- package/v2Containers/WeChat/MapTemplates/initialSchema.js +184 -0
- package/v2Containers/WeChat/MapTemplates/messages.js +19 -43
- package/v2Containers/WeChat/MapTemplates/sagas.js +6 -2
- package/v2Containers/WeChat/MapTemplates/selectors.js +1 -1
- package/v2Containers/WeChat/RichmediaTemplates/Create/_createRichmedia.scss +118 -28
- package/v2Containers/WeChat/RichmediaTemplates/Create/actions.js +3 -1
- package/v2Containers/WeChat/RichmediaTemplates/Create/index.js +262 -306
- package/v2Containers/WeChat/RichmediaTemplates/Create/messages.js +43 -95
- package/v2Containers/WeChat/RichmediaTemplates/Create/reducer.js +2 -1
- package/v2Containers/WeChat/RichmediaTemplates/Create/richmediaschema.js +113 -246
- package/v2Containers/WeChat/RichmediaTemplates/Create/sagas.js +5 -2
- package/v2Containers/WeChat/RichmediaTemplates/Create/selectors.js +1 -1
- package/v2Containers/WeChat/RichmediaTemplates/Edit/actions.js +2 -2
- package/v2Containers/WeChat/RichmediaTemplates/Edit/index.js +11 -10
- package/v2Containers/WeChat/RichmediaTemplates/Edit/messages.js +1 -1
- package/v2Containers/WeChat/RichmediaTemplates/Edit/reducer.js +1 -0
- package/v2Containers/WeChat/RichmediaTemplates/Edit/sagas.js +4 -2
- package/v2Containers/WeChat/RichmediaTemplates/Edit/selectors.js +1 -1
- package/v2Containers/WeChat/RichmediaTemplates/View/messages.js +1 -9
- package/v2Containers/WeChat/Wrapper/_wrapper.scss +0 -0
- package/v2Containers/WeChat/Wrapper/constants.js +5 -0
- package/v2Containers/WeChat/Wrapper/index.js +194 -0
- package/v2Containers/WeChat/Wrapper/messages.js +21 -0
- package/v2Containers/WeChat/helper.js +12 -0
- package/containers/Cap/messages.js +0 -75
- package/v2Containers/Cap/messages.js +0 -75
|
@@ -7,99 +7,83 @@ import { defineMessages } from 'react-intl';
|
|
|
7
7
|
|
|
8
8
|
export default defineMessages({
|
|
9
9
|
"saveTemplateLoader": {
|
|
10
|
-
id: '
|
|
10
|
+
id: 'app.containers.Edit.saveTemplateLoader',
|
|
11
11
|
defaultMessage: 'Saving template...',
|
|
12
12
|
},
|
|
13
13
|
"getTemplateDetailsLoader": {
|
|
14
|
-
id: '
|
|
14
|
+
id: 'app.containers.Edit.getTemplateDetailsLoader',
|
|
15
15
|
defaultMessage: 'Getting template details...',
|
|
16
16
|
},
|
|
17
17
|
"Message": {
|
|
18
|
-
id: '
|
|
18
|
+
id: 'app.containers.Edit.messageLabel',
|
|
19
19
|
defaultMessage: 'Message',
|
|
20
20
|
},
|
|
21
21
|
"Template name cannot be empty.": {
|
|
22
|
-
id: '
|
|
22
|
+
id: 'app.containers.Edit.emptyTemplateErrorMessage',
|
|
23
23
|
defaultMessage: "Please provide a template name",
|
|
24
24
|
},
|
|
25
25
|
"Enter template name": {
|
|
26
|
-
id: '
|
|
26
|
+
id: 'app.containers.Edit.templateNamePlaceHolder',
|
|
27
27
|
defaultMessage: "Enter template name",
|
|
28
28
|
},
|
|
29
29
|
"Discard changes": {
|
|
30
|
-
id: '
|
|
30
|
+
id: 'app.containers.Edit.discardChangesButton',
|
|
31
31
|
defaultMessage: "Discard changes",
|
|
32
32
|
},
|
|
33
33
|
"Cancel": {
|
|
34
|
-
id: '
|
|
34
|
+
id: 'app.containers.Edit.cancelButton',
|
|
35
35
|
defaultMessage: "Cancel",
|
|
36
36
|
},
|
|
37
37
|
"Save": {
|
|
38
|
-
id: '
|
|
38
|
+
id: 'app.containers.Edit.saveButton',
|
|
39
39
|
defaultMessage: "Save",
|
|
40
40
|
},
|
|
41
41
|
"Version": {
|
|
42
|
-
id: '
|
|
42
|
+
id: 'app.containers.Edit.versionLabel',
|
|
43
43
|
defaultMessage: "Version",
|
|
44
44
|
},
|
|
45
45
|
"Mark as Final": {
|
|
46
|
-
id: '
|
|
46
|
+
id: 'app.containers.Edit.markFinalVersionLabel',
|
|
47
47
|
defaultMessage: "Mark as final",
|
|
48
48
|
},
|
|
49
49
|
"Duplicate": {
|
|
50
|
-
id: '
|
|
50
|
+
id: 'app.containers.Edit.duplicateLabel',
|
|
51
51
|
defaultMessage: "Duplicate",
|
|
52
52
|
},
|
|
53
53
|
"Rename": {
|
|
54
|
-
id: '
|
|
54
|
+
id: 'app.containers.Edit.renameLabel',
|
|
55
55
|
defaultMessage: "Rename",
|
|
56
56
|
},
|
|
57
57
|
"Delete": {
|
|
58
|
-
id: '
|
|
58
|
+
id: 'app.containers.Edit.deleteLabel',
|
|
59
59
|
defaultMessage: "Delete",
|
|
60
60
|
},
|
|
61
61
|
"Please check if you intend to use unicode characters.": {
|
|
62
|
-
id: '
|
|
62
|
+
id: 'app.containers.Edit.unicodeErrorMessage',
|
|
63
63
|
defaultMessage: "Please check this if you want to use Unicode characters",
|
|
64
64
|
},
|
|
65
65
|
"Allow Unicode characters": {
|
|
66
|
-
id: '
|
|
66
|
+
id: 'app.containers.Edit.unicodeLabel',
|
|
67
67
|
defaultMessage: "Allow unicode characters",
|
|
68
68
|
},
|
|
69
69
|
"Tags": {
|
|
70
|
-
id: '
|
|
70
|
+
id: 'app.containers.Edit.tagsLabel',
|
|
71
71
|
defaultMessage: "Tags",
|
|
72
72
|
},
|
|
73
73
|
"New Version": {
|
|
74
|
-
id: '
|
|
74
|
+
id: 'app.containers.Edit.newVersionLabel',
|
|
75
75
|
defaultMessage: "New version",
|
|
76
76
|
},
|
|
77
77
|
"Template content has unsupported/missing tags!": {
|
|
78
|
-
id: '
|
|
78
|
+
id: 'app.containers.Edit.tagsErrorMessage',
|
|
79
79
|
defaultMessage: "Please check the message content for unsupported/missing tags",
|
|
80
80
|
},
|
|
81
81
|
"Please input sms template content.": {
|
|
82
|
-
id: '
|
|
82
|
+
id: 'app.containers.Edit.smsEditorPlaceholder',
|
|
83
83
|
defaultMessage: "Please enter the message content",
|
|
84
84
|
},
|
|
85
85
|
"somethingWentWrong": {
|
|
86
|
-
id: '
|
|
86
|
+
id: 'app.containers.Edit.somethingWentWrong',
|
|
87
87
|
defaultMessage: "Something went wrong!!",
|
|
88
88
|
},
|
|
89
|
-
"goBackConfirmation": {
|
|
90
|
-
id: 'creatives.containers.Edit.goBackConfirmation',
|
|
91
|
-
defaultMessage: "Going back will discard all the changes you've made. Continue?",
|
|
92
|
-
},
|
|
93
|
-
"alertMessage": {
|
|
94
|
-
id: 'creatives.containers.Edit.alertMessage',
|
|
95
|
-
defaultMessage: "Alert",
|
|
96
|
-
},
|
|
97
|
-
"deleteVersion": {
|
|
98
|
-
id: 'creatives.containers.Edit.deleteVersion',
|
|
99
|
-
defaultMessage: "Do you really want to delete this version?",
|
|
100
|
-
},
|
|
101
|
-
"templateMarkedFinal": {
|
|
102
|
-
id: 'creatives.containers.Edit.templateMarkedFinal',
|
|
103
|
-
defaultMessage: "Template Marked as Final Successfully",
|
|
104
|
-
},
|
|
105
89
|
});
|
|
@@ -44,7 +44,6 @@ import SlideBox from '../../components/SlideBox';
|
|
|
44
44
|
import Pagination from '../../components/Pagination';
|
|
45
45
|
import EmailPreview from '../../components/EmailPreview';
|
|
46
46
|
import WechatRichmediaTemplatePreview from '../../components/TemplatePreview/WechatRichmediaTemplatePreview';
|
|
47
|
-
|
|
48
47
|
const MenuItem = Menu.Item;
|
|
49
48
|
const Option = Select.Option;
|
|
50
49
|
const BreadcrumbItem = Breadcrumb.Item;
|
|
@@ -1029,8 +1028,8 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
1029
1028
|
content = (<div className="sms-template-content">
|
|
1030
1029
|
<div style={{textAlign: 'center', lineHeight: '260px'}} className="sms-text">
|
|
1031
1030
|
<div>
|
|
1032
|
-
<button type="button" className="ant-btn cap-button edit-button ant-btn-ghost" onClick={() => this.handleBlankTemplateAction('uploadFile')}><span>
|
|
1033
|
-
<button type="button" className="ant-btn cap-button preview-button ant-btn-danger" onClick={() => this.handleBlankTemplateAction('editor')}><span>
|
|
1031
|
+
<button type="button" className="ant-btn cap-button edit-button ant-btn-ghost" onClick={() => this.handleBlankTemplateAction('uploadFile')}><span>Upload File</span></button>
|
|
1032
|
+
<button type="button" className="ant-btn cap-button preview-button ant-btn-danger" onClick={() => this.handleBlankTemplateAction('editor')}><span>Use Editor</span></button>
|
|
1034
1033
|
</div>
|
|
1035
1034
|
</div>
|
|
1036
1035
|
</div>);
|
|
@@ -1327,14 +1326,14 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
1327
1326
|
const typeOptions = [
|
|
1328
1327
|
{
|
|
1329
1328
|
value: "All",
|
|
1330
|
-
label:
|
|
1329
|
+
label: "All",
|
|
1331
1330
|
},
|
|
1332
1331
|
{
|
|
1333
|
-
label:
|
|
1332
|
+
label: "Text",
|
|
1334
1333
|
value: 'Text',
|
|
1335
1334
|
},
|
|
1336
1335
|
{
|
|
1337
|
-
label:
|
|
1336
|
+
label: "Image",
|
|
1338
1337
|
value: "Image",
|
|
1339
1338
|
},
|
|
1340
1339
|
];
|
|
@@ -1344,7 +1343,7 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
1344
1343
|
className="search-text"
|
|
1345
1344
|
style={{width: '210px'}}
|
|
1346
1345
|
placeholder={this.props.intl.formatMessage(messages.searchText)}
|
|
1347
|
-
prefix={<i className="material-icons" style={{ margin: '0', fontSize: '16px'}}>
|
|
1346
|
+
prefix={<i className="material-icons" style={{ margin: '0', fontSize: '16px'}}>search</i>}
|
|
1348
1347
|
value={this.state.searchText}
|
|
1349
1348
|
onChange={(e) => this.searchTemplate(e.target.value)}
|
|
1350
1349
|
/>
|
|
@@ -1356,7 +1355,7 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
1356
1355
|
</div>
|
|
1357
1356
|
{ (this.state.channel.toLowerCase() === 'mobilepush' || this.state.channel.toLowerCase() === 'line') &&
|
|
1358
1357
|
<div style={{display: "flex", justifyContent: "space-between", alignItems: 'center', marginLeft: '16px'}}>
|
|
1359
|
-
<div className="select-font">
|
|
1358
|
+
<div className="select-font">Type</div>
|
|
1360
1359
|
<CapSelect key={"select-type"} style={{width: '120px', marginLeft: '16px', minWidth: 'initial'}} defaultValue="All" onChange={this.handleType} options={typeOptions}>
|
|
1361
1360
|
</CapSelect>
|
|
1362
1361
|
</div>
|
|
@@ -1390,17 +1389,17 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
1390
1389
|
|
|
1391
1390
|
let titleText = this.state.channel.toUpperCase() === 'SMS' ? this.props.intl.formatMessage(messages.smsChannelTemplatesHeader) : this.props.intl.formatMessage(messages.wechatChannelTemplatesHeader);
|
|
1392
1391
|
if (this.state.channel.toUpperCase() === "MOBILEPUSH") {
|
|
1393
|
-
templateText =
|
|
1394
|
-
titleText =
|
|
1392
|
+
templateText = "Select Mobile Push Template";
|
|
1393
|
+
titleText = "Mobile push";
|
|
1395
1394
|
} else if (this.state.channel.toUpperCase() === "EMAIL") {
|
|
1396
|
-
templateText =
|
|
1397
|
-
titleText =
|
|
1395
|
+
templateText = "Select Email Template";
|
|
1396
|
+
titleText = "Email";
|
|
1398
1397
|
} else if (this.state.channel.toUpperCase() === "EBILL") {
|
|
1399
|
-
templateText =
|
|
1400
|
-
titleText =
|
|
1398
|
+
templateText = "Select Ebill Template";
|
|
1399
|
+
titleText = "Ebill";
|
|
1401
1400
|
} else if (this.state.channel.toUpperCase() === "LINE") {
|
|
1402
|
-
templateText =
|
|
1403
|
-
titleText =
|
|
1401
|
+
templateText = "Select Line Template";
|
|
1402
|
+
titleText = "Line";
|
|
1404
1403
|
}
|
|
1405
1404
|
const pageHeader = (
|
|
1406
1405
|
<div>
|
|
@@ -1478,7 +1477,7 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
1478
1477
|
actionButton = (<Dropdown disabled={_.isEmpty(this.props.Templates.selectedWeChatAccount)} overlay={createPushMenu} trigger={['click']}>
|
|
1479
1478
|
<CapButton style={{paddingLeft: '24px', paddingRight: '4px'}}>
|
|
1480
1479
|
<div style={{display: 'inline-flex'}}>
|
|
1481
|
-
<p style={{ lineHeight: '28px'}}>
|
|
1480
|
+
<p style={{ lineHeight: '28px'}}>New Template</p>
|
|
1482
1481
|
<p style={{ height: '28px'}}>
|
|
1483
1482
|
<i style={{ color: '#fff', paddingTop: '2px', margin: '0', paddingRight: '8px'}} className="material-icons">arrow_drop_down</i>
|
|
1484
1483
|
</p>
|
|
@@ -1499,7 +1498,7 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
1499
1498
|
actionButton = (<Dropdown overlay={lineMenu} trigger={['click']}>
|
|
1500
1499
|
<CapButton style={{paddingLeft: '24px', paddingRight: '4px'}}>
|
|
1501
1500
|
<div style={{display: 'inline-flex'}}>
|
|
1502
|
-
<p style={{ lineHeight: '28px'}}>
|
|
1501
|
+
<p style={{ lineHeight: '28px'}}>New Template</p>
|
|
1503
1502
|
<p style={{ height: '28px'}}>
|
|
1504
1503
|
<i style={{ color: '#fff', paddingTop: '2px', margin: '0', paddingRight: '8px'}} className="material-icons">arrow_drop_down</i>
|
|
1505
1504
|
</p>
|
|
@@ -1568,7 +1567,7 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
1568
1567
|
<Helmet
|
|
1569
1568
|
title={titleText}
|
|
1570
1569
|
meta={[
|
|
1571
|
-
{ name: 'description', content:
|
|
1570
|
+
{ name: 'description', content: 'Description of Templates' },
|
|
1572
1571
|
]}
|
|
1573
1572
|
/>
|
|
1574
1573
|
{((templateList && templateList.length > 0) || isSearch) && <Pagination onPageChange={() => { console.log('getting all templates pagination'); this.getAllTemplates({getNextPage: true}); }} paginationSelector="pagination-container">
|
|
@@ -1634,7 +1633,7 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
1634
1633
|
content={cmsTemplateSelectionContent}
|
|
1635
1634
|
show={this.state.showEdmEmailTemplates}
|
|
1636
1635
|
handleClose={this.toggleEdmEmailTemplateSelection}
|
|
1637
|
-
loadingText={
|
|
1636
|
+
loadingText={"Loading EDM Templates"}
|
|
1638
1637
|
isLoading={this.props.Templates.getCmsTemplatesInProgress}
|
|
1639
1638
|
/>
|
|
1640
1639
|
{this.renderDeleteConfirmationModal()}
|
|
@@ -7,307 +7,235 @@ import { defineMessages } from 'react-intl';
|
|
|
7
7
|
|
|
8
8
|
export default defineMessages({
|
|
9
9
|
"header": {
|
|
10
|
-
id: '
|
|
10
|
+
id: 'app.containers.Templates.header',
|
|
11
11
|
defaultMessage: 'This is Templates container !',
|
|
12
12
|
},
|
|
13
13
|
"uploadedAt": {
|
|
14
|
-
id: '
|
|
14
|
+
id: 'app.containers.Templates.uploadedAt',
|
|
15
15
|
defaultMessage: 'Modified',
|
|
16
16
|
},
|
|
17
17
|
"uploadedBy": {
|
|
18
|
-
id: '
|
|
18
|
+
id: 'app.containers.Templates.uploadedBy',
|
|
19
19
|
defaultMessage: 'Uploaded by',
|
|
20
20
|
},
|
|
21
21
|
"mapTemplate": {
|
|
22
|
-
id: '
|
|
22
|
+
id: 'app.containers.Templates.mapTemplate',
|
|
23
23
|
defaultMessage: 'Map template',
|
|
24
24
|
},
|
|
25
25
|
"weChatRichmediaTemplate": {
|
|
26
|
-
id: '
|
|
26
|
+
id: 'app.containers.Templates.weChatRichmediaTemplate',
|
|
27
27
|
defaultMessage: 'Richmedia template',
|
|
28
28
|
},
|
|
29
29
|
"somethingWentWrong": {
|
|
30
|
-
id: '
|
|
30
|
+
id: 'app.containers.Templates.somethingWentWrong',
|
|
31
31
|
defaultMessage: 'Something went wrong!!',
|
|
32
32
|
},
|
|
33
33
|
"wechatHeader": {
|
|
34
|
-
id: '
|
|
34
|
+
id: 'app.containers.Templates.wechatHeader',
|
|
35
35
|
defaultMessage: 'WECHAT',
|
|
36
36
|
},
|
|
37
37
|
"smsHeader": {
|
|
38
|
-
id: '
|
|
38
|
+
id: 'app.containers.Templates.smsHeader',
|
|
39
39
|
defaultMessage: 'SMS',
|
|
40
40
|
},
|
|
41
41
|
"emailHeader": {
|
|
42
|
-
id: '
|
|
42
|
+
id: 'app.containers.Templates.emailHeader',
|
|
43
43
|
defaultMessage: 'Email',
|
|
44
44
|
},
|
|
45
45
|
"mobilepushHeader": {
|
|
46
|
-
id: '
|
|
46
|
+
id: 'app.containers.Templates.mobilepushHeader',
|
|
47
47
|
defaultMessage: 'Mobile Push',
|
|
48
48
|
},
|
|
49
49
|
"ebillHeader": {
|
|
50
|
-
id: '
|
|
50
|
+
id: 'app.containers.Templates.ebillHeader',
|
|
51
51
|
defaultMessage: 'Ebill',
|
|
52
52
|
},
|
|
53
53
|
"lineHeader": {
|
|
54
|
-
id: '
|
|
54
|
+
id: 'app.containers.Templates.lineHeader',
|
|
55
55
|
defaultMessage: 'Line',
|
|
56
56
|
},
|
|
57
57
|
"selectWechatHeader": {
|
|
58
|
-
id: '
|
|
58
|
+
id: 'app.containers.Templates.selectWechatHeader',
|
|
59
59
|
defaultMessage: 'Select WECHAT template',
|
|
60
60
|
},
|
|
61
61
|
"selectSmsHeader": {
|
|
62
|
-
id: '
|
|
62
|
+
id: 'app.containers.Templates.selectSmsHeader',
|
|
63
63
|
defaultMessage: 'Select SMS template',
|
|
64
64
|
},
|
|
65
65
|
"selectAccount": {
|
|
66
|
-
id: '
|
|
66
|
+
id: 'app.containers.Templates.selectAccount',
|
|
67
67
|
defaultMessage: "Select account",
|
|
68
68
|
},
|
|
69
69
|
"gettingAllTemplates": {
|
|
70
|
-
id: '
|
|
70
|
+
id: 'app.containers.Templates.gettingAllTemplates',
|
|
71
71
|
defaultMessage: "Getting all templates...",
|
|
72
72
|
},
|
|
73
73
|
"smsChannelTemplatesHeader": {
|
|
74
|
-
id: '
|
|
74
|
+
id: 'app.containers.Templates.smsChannelTemplatesHeader',
|
|
75
75
|
defaultMessage: "SMS templates",
|
|
76
76
|
},
|
|
77
|
-
"mobilePushChannel": {
|
|
78
|
-
id: 'creatives.containers.Templates.mobilePushChannel',
|
|
79
|
-
defaultMessage: "Mobile push",
|
|
80
|
-
},
|
|
81
|
-
"mobilePushChannelTemplatesHeader": {
|
|
82
|
-
id: 'creatives.containers.Templates.mobilePushChannelTemplatesHeader',
|
|
83
|
-
defaultMessage: "Select Mobile push Template",
|
|
84
|
-
},
|
|
85
|
-
"emailChannel": {
|
|
86
|
-
id: 'creatives.containers.Templates.emailChannel',
|
|
87
|
-
defaultMessage: "Email",
|
|
88
|
-
},
|
|
89
|
-
"emailChannelTemplatesHeader": {
|
|
90
|
-
id: 'creatives.containers.Templates.emailChannelTemplatesHeader',
|
|
91
|
-
defaultMessage: "Select Email Template",
|
|
92
|
-
},
|
|
93
|
-
"ebillChannel": {
|
|
94
|
-
id: 'creatives.containers.Templates.ebillChannel',
|
|
95
|
-
defaultMessage: "Ebill",
|
|
96
|
-
},
|
|
97
|
-
"ebillChannelTemplatesHeader": {
|
|
98
|
-
id: 'creatives.containers.Templates.ebillChannelTemplatesHeader',
|
|
99
|
-
defaultMessage: "Select Ebill Template",
|
|
100
|
-
},
|
|
101
|
-
"lineChannel": {
|
|
102
|
-
id: 'creatives.containers.Templates.lineChannel',
|
|
103
|
-
defaultMessage: "Line",
|
|
104
|
-
},
|
|
105
|
-
"lineChannelTemplatesHeader": {
|
|
106
|
-
id: 'creatives.containers.Templates.lineChannelTemplatesHeader',
|
|
107
|
-
defaultMessage: "Select Line Template",
|
|
108
|
-
},
|
|
109
77
|
"wechatChannelTemplatesHeader": {
|
|
110
|
-
id: '
|
|
78
|
+
id: 'app.containers.Templates.wechatChannelTemplatesHeader',
|
|
111
79
|
defaultMessage: "WECHAT templates",
|
|
112
80
|
},
|
|
113
|
-
"uploadFile": {
|
|
114
|
-
id: 'creatives.containers.Templates.uploadFile',
|
|
115
|
-
defaultMessage: "Upload File",
|
|
116
|
-
},
|
|
117
|
-
"useEditor": {
|
|
118
|
-
id: 'creatives.containers.Templates.useEditor',
|
|
119
|
-
defaultMessage: "Use Editor",
|
|
120
|
-
},
|
|
121
|
-
"search": {
|
|
122
|
-
id: 'creatives.containers.Templates.search',
|
|
123
|
-
defaultMessage: "Search",
|
|
124
|
-
},
|
|
125
81
|
"blankTemplate": {
|
|
126
|
-
id: '
|
|
82
|
+
id: 'app.containers.Templates.blankTemplate',
|
|
127
83
|
defaultMessage: "Blank template",
|
|
128
84
|
},
|
|
129
85
|
"selectButton": {
|
|
130
|
-
id: '
|
|
86
|
+
id: 'app.containers.Templates.selectButton',
|
|
131
87
|
defaultMessage: "Select",
|
|
132
88
|
},
|
|
133
89
|
"previewButton": {
|
|
134
|
-
id: '
|
|
90
|
+
id: 'app.containers.Templates.previewButton',
|
|
135
91
|
defaultMessage: "Preview",
|
|
136
92
|
},
|
|
137
93
|
"editButton": {
|
|
138
|
-
id: '
|
|
94
|
+
id: 'app.containers.Templates.editButton',
|
|
139
95
|
defaultMessage: "Edit",
|
|
140
96
|
},
|
|
141
97
|
"duplicateButton": {
|
|
142
|
-
id: '
|
|
98
|
+
id: 'app.containers.Templates.duplicateButton',
|
|
143
99
|
defaultMessage: "Duplicate",
|
|
144
100
|
},
|
|
145
101
|
"deleteButton": {
|
|
146
|
-
id: '
|
|
102
|
+
id: 'app.containers.Templates.deleteButton',
|
|
147
103
|
defaultMessage: "Delete",
|
|
148
104
|
},
|
|
149
105
|
"mostRecentOption": {
|
|
150
|
-
id: '
|
|
106
|
+
id: 'app.containers.Templates.mostRecentOption',
|
|
151
107
|
defaultMessage: "Most recent",
|
|
152
108
|
},
|
|
153
109
|
"alphabeticallyOption": {
|
|
154
|
-
id: '
|
|
110
|
+
id: 'app.containers.Templates.alphabeticallyOption',
|
|
155
111
|
defaultMessage: "Alphabetically",
|
|
156
112
|
},
|
|
157
113
|
"searchText": {
|
|
158
|
-
id: '
|
|
114
|
+
id: 'app.containers.Templates.searchText',
|
|
159
115
|
defaultMessage: "Search",
|
|
160
116
|
},
|
|
161
117
|
"noAccountMessage": {
|
|
162
|
-
id: '
|
|
118
|
+
id: 'app.containers.Templates.noAccountMessage',
|
|
163
119
|
defaultMessage: "Please select an account to proceed",
|
|
164
120
|
},
|
|
165
121
|
"noTemplatesMessage": {
|
|
166
|
-
id: '
|
|
122
|
+
id: 'app.containers.Templates.noTemplatesMessage',
|
|
167
123
|
defaultMessage: "No templates available",
|
|
168
124
|
},
|
|
169
125
|
"createSmsActionButton": {
|
|
170
|
-
id: '
|
|
126
|
+
id: 'app.containers.Templates.createSmsActionButton',
|
|
171
127
|
defaultMessage: "Create SMS",
|
|
172
128
|
},
|
|
173
129
|
"createEmailActionButton": {
|
|
174
|
-
id: '
|
|
130
|
+
id: 'app.containers.Templates.createEmailActionButton',
|
|
175
131
|
defaultMessage: "Create email",
|
|
176
132
|
},
|
|
177
133
|
"sortBy": {
|
|
178
|
-
id: '
|
|
134
|
+
id: 'app.containers.Templates.sortBy',
|
|
179
135
|
defaultMessage: "Sort by",
|
|
180
136
|
},
|
|
181
137
|
"unMapButton": {
|
|
182
|
-
id: '
|
|
138
|
+
id: 'app.containers.Templates.unMapButton',
|
|
183
139
|
defaultMessage: "Unmap",
|
|
184
140
|
},
|
|
185
141
|
"templateDuplicateSuccess": {
|
|
186
|
-
id: '
|
|
142
|
+
id: 'app.containers.Templates.templateDuplicateSuccess',
|
|
187
143
|
defaultMessage: "Template duplicated successfully",
|
|
188
144
|
},
|
|
189
145
|
"templateDeleteSuccess": {
|
|
190
|
-
id: '
|
|
146
|
+
id: 'app.containers.Templates.templateDeleteSuccess',
|
|
191
147
|
defaultMessage: "SMS template deleted successfully",
|
|
192
148
|
},
|
|
149
|
+
"uploadFile": {
|
|
150
|
+
id: 'app.containers.Templates.uploadFile',
|
|
151
|
+
defaultMessage: "Upload file",
|
|
152
|
+
},
|
|
153
|
+
"useEditor": {
|
|
154
|
+
id: 'app.containers.Templates.useEditor',
|
|
155
|
+
defaultMessage: "Use editor",
|
|
156
|
+
},
|
|
193
157
|
"newTemplate": {
|
|
194
|
-
id: '
|
|
158
|
+
id: 'app.containers.Templates.newTemplate',
|
|
195
159
|
defaultMessage: "New template",
|
|
196
160
|
},
|
|
197
161
|
"uploadingFile": {
|
|
198
|
-
id: '
|
|
162
|
+
id: 'app.containers.Templates.uploadingFile',
|
|
199
163
|
defaultMessage: "Uploading file",
|
|
200
164
|
},
|
|
201
165
|
"zipUploadFailed": {
|
|
202
|
-
id: '
|
|
166
|
+
id: 'app.containers.Templates.zipUploadFailed',
|
|
203
167
|
defaultMessage: 'Failed to upload zip file',
|
|
204
168
|
},
|
|
205
169
|
"campaigns": {
|
|
206
|
-
id: '
|
|
170
|
+
id: 'app.containers.Templates.campaigns',
|
|
207
171
|
defaultMessage: 'Campaigns',
|
|
208
172
|
},
|
|
209
173
|
"creatives": {
|
|
210
|
-
id: '
|
|
174
|
+
id: 'app.containers.Templates.creatives',
|
|
211
175
|
defaultMessage: 'Creatives',
|
|
212
176
|
},
|
|
213
177
|
"ebillPreview": {
|
|
214
|
-
id: '
|
|
178
|
+
id: 'app.containers.Templates.ebillPreview',
|
|
215
179
|
defaultMessage: 'Ebill preview',
|
|
216
180
|
},
|
|
217
181
|
"emailPreview": {
|
|
218
|
-
id: '
|
|
182
|
+
id: 'app.containers.Templates.emailPreview',
|
|
219
183
|
defaultMessage: 'Email preview',
|
|
220
184
|
},
|
|
221
185
|
"Template deleted successfully": {
|
|
222
|
-
id: '
|
|
186
|
+
id: 'app.containers.Templates.deletedSuccssfully',
|
|
223
187
|
defaultMessage: 'Template deleted successfully',
|
|
224
188
|
},
|
|
225
189
|
"Template deletion failed": {
|
|
226
|
-
id: '
|
|
190
|
+
id: 'app.containers.Templates.deletionFailed',
|
|
227
191
|
defaultMessage: 'Template deletion failed',
|
|
228
192
|
},
|
|
229
193
|
"preview": {
|
|
230
|
-
id: '
|
|
194
|
+
id: 'app.containers.Templates.preview',
|
|
231
195
|
defaultMessage: 'Preview',
|
|
232
196
|
},
|
|
233
197
|
"invalidUploadFileError": {
|
|
234
|
-
id: '
|
|
198
|
+
id: 'app.containers.Templates.invalidUploadFileError',
|
|
235
199
|
defaultMessage: 'File cannot be uploaded. Please select another file with valid file format.',
|
|
236
200
|
},
|
|
237
201
|
"templateDeleteConfirm": {
|
|
238
|
-
id: '
|
|
202
|
+
id: 'app.containers.Templates.templateDeleteConfirm',
|
|
239
203
|
defaultMessage: 'Are you sure you want to delete this template?',
|
|
240
204
|
},
|
|
241
205
|
"cancelText": {
|
|
242
|
-
id: '
|
|
206
|
+
id: 'app.containers.Templates.cancelText',
|
|
243
207
|
defaultMessage: 'Cancel',
|
|
244
208
|
},
|
|
245
209
|
"yesText": {
|
|
246
|
-
id: '
|
|
210
|
+
id: 'app.containers.Templates.yesText',
|
|
247
211
|
defaultMessage: 'Yes',
|
|
248
212
|
},
|
|
249
213
|
"templateSelection": {
|
|
250
|
-
id: '
|
|
214
|
+
id: 'app.containers.Templates.templateSelection',
|
|
251
215
|
defaultMessage: 'Template selection',
|
|
252
216
|
},
|
|
253
217
|
"layoutSelection": {
|
|
254
|
-
id: '
|
|
218
|
+
id: 'app.containers.Templates.layoutSelection',
|
|
255
219
|
defaultMessage: 'Select layout',
|
|
256
220
|
},
|
|
257
221
|
"textTemplate": {
|
|
258
|
-
id: '
|
|
222
|
+
id: 'app.containers.Templates.textTemplate',
|
|
259
223
|
defaultMessage: 'Text',
|
|
260
224
|
},
|
|
261
225
|
"imageTemplate": {
|
|
262
|
-
id: '
|
|
226
|
+
id: 'app.containers.Templates.imageTemplate',
|
|
263
227
|
defaultMessage: 'Image',
|
|
264
228
|
},
|
|
265
229
|
"selectDefaultButton": {
|
|
266
|
-
id: '
|
|
230
|
+
id: 'app.containers.Templates.selectDefaultButton',
|
|
267
231
|
defaultMessage: 'Select',
|
|
268
232
|
},
|
|
269
233
|
"previewGenerateText": {
|
|
270
|
-
id: '
|
|
234
|
+
id: 'app.containers.Templates.previewGenerateText',
|
|
271
235
|
defaultMessage: 'Preview is being generated...',
|
|
272
236
|
},
|
|
273
237
|
"wechatAccountNotConfigured": {
|
|
274
|
-
id: '
|
|
238
|
+
id: 'app.containers.Templates.wechatAccountNotConfigured',
|
|
275
239
|
defaultMessage: 'Selected wechat account is not configured to create wechat templates',
|
|
276
240
|
},
|
|
277
|
-
"smsChannel": {
|
|
278
|
-
id: 'creatives.containers.Templates.smsChannel',
|
|
279
|
-
defaultMessage: 'Sms',
|
|
280
|
-
},
|
|
281
|
-
"MobilePush": {
|
|
282
|
-
id: 'creatives.containers.Templates.MobilePush',
|
|
283
|
-
defaultMessage: 'MobilePush',
|
|
284
|
-
},
|
|
285
|
-
"wechat": {
|
|
286
|
-
id: 'creatives.containers.Templates.wechat',
|
|
287
|
-
defaultMessage: 'wechat',
|
|
288
|
-
},
|
|
289
|
-
"all": {
|
|
290
|
-
id: 'creatives.containers.Templates.all',
|
|
291
|
-
defaultMessage: 'All',
|
|
292
|
-
},
|
|
293
|
-
"text": {
|
|
294
|
-
id: 'creatives.containers.Templates.text',
|
|
295
|
-
defaultMessage: 'Text',
|
|
296
|
-
},
|
|
297
|
-
"image": {
|
|
298
|
-
id: 'creatives.containers.Templates.image',
|
|
299
|
-
defaultMessage: 'Image',
|
|
300
|
-
},
|
|
301
|
-
"type": {
|
|
302
|
-
id: 'creatives.containers.Templates.type',
|
|
303
|
-
defaultMessage: 'Type',
|
|
304
|
-
},
|
|
305
|
-
"loadingEDMTemplates": {
|
|
306
|
-
id: 'creatives.containers.Templates.loadingEDMTemplates',
|
|
307
|
-
defaultMessage: 'Loading EDM Templates',
|
|
308
|
-
},
|
|
309
|
-
"descriptionTemplates": {
|
|
310
|
-
id: 'creatives.containers.Templates.descriptionTemplates',
|
|
311
|
-
defaultMessage: 'Description of templates',
|
|
312
|
-
},
|
|
313
241
|
});
|
|
@@ -19,9 +19,9 @@ export class Testv2 extends React.Component { // eslint-disable-line react/prefe
|
|
|
19
19
|
return (
|
|
20
20
|
<div>
|
|
21
21
|
<Helmet
|
|
22
|
-
title=
|
|
22
|
+
title="Testv2"
|
|
23
23
|
meta={[
|
|
24
|
-
{ name: 'description', content:
|
|
24
|
+
{ name: 'description', content: 'Description of Testv2' },
|
|
25
25
|
]}
|
|
26
26
|
/>
|
|
27
27
|
<FormattedMessage {...messages.header} />
|
|
@@ -7,15 +7,7 @@ import { defineMessages } from 'react-intl';
|
|
|
7
7
|
|
|
8
8
|
export default defineMessages({
|
|
9
9
|
header: {
|
|
10
|
-
id: '
|
|
10
|
+
id: 'app.containers.Testv2.header',
|
|
11
11
|
defaultMessage: 'This is Testv2 container !',
|
|
12
12
|
},
|
|
13
|
-
testv2: {
|
|
14
|
-
id: 'creatives.containers.Testv2.testv2',
|
|
15
|
-
defaultMessage: 'Testv2',
|
|
16
|
-
},
|
|
17
|
-
descriptionTestv2: {
|
|
18
|
-
id: 'creatives.containers.Testv2.descriptionTestv2',
|
|
19
|
-
defaultMessage: 'Description of Testv2',
|
|
20
|
-
},
|
|
21
13
|
});
|