@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
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* eslint-disable no-undef */
|
|
1
2
|
/**
|
|
2
3
|
*
|
|
3
4
|
* WechatRichmediaTemplatePreview
|
|
@@ -9,7 +10,6 @@ import PropTypes from 'prop-types';
|
|
|
9
10
|
import { CapRow, CapColumn, CapButton } from '@capillarytech/cap-ui-library/';
|
|
10
11
|
import { FormattedMessage } from 'react-intl';
|
|
11
12
|
import _ from 'lodash';
|
|
12
|
-
import SlideBox from '../../SlideBox';
|
|
13
13
|
import './_wechatRichmediaTemplatePrev.scss';
|
|
14
14
|
import messages from './messages';
|
|
15
15
|
const wechatBody = require('./../assets/images/WECHAT_5x.png');
|
|
@@ -90,43 +90,33 @@ class WechatRichmediaTemplatePreview extends React.PureComponent { // eslint-dis
|
|
|
90
90
|
}
|
|
91
91
|
render() {
|
|
92
92
|
return (
|
|
93
|
-
this.props.
|
|
94
|
-
<
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
<div className={`preview-container ${this.props.type === 'embedded' ? 'embedded-preview' : ''}`}>
|
|
101
|
-
<div className="shell align-center" id="sms-preview">
|
|
102
|
-
<img className="preview-image" src={wechatBody} alt="Preview is being generated"/>
|
|
103
|
-
<div className={this.props.type === 'embedded' ? "wechatMsgContainerOutbound" : "wechatMsgContainer"}>
|
|
104
|
-
<div className={this.props.type === 'embedded' ? "overflow-handle-preview-outbound" : "overflow-handle-preview"}>{this.preparePreviewData(this.props.content)}
|
|
105
|
-
</div>
|
|
106
|
-
</div>
|
|
93
|
+
this.props.contentForSlideBox ?
|
|
94
|
+
<div className={`preview-container ${this.props.type === 'embedded' ? 'embedded-preview' : ''}`}>
|
|
95
|
+
<div className="shell align-center" id="sms-preview">
|
|
96
|
+
<img className="preview-image" src={wechatBody} alt="Preview is being generated"/>
|
|
97
|
+
<div className={this.props.type === 'embedded' ? "wechatMsgContainerOutbound" : "wechatMsgContainer"}>
|
|
98
|
+
<div className={this.props.type === 'embedded' ? "overflow-handle-preview-outbound" : "overflow-handle-preview"}>
|
|
99
|
+
{this.preparePreviewData(this.props.content)}
|
|
107
100
|
</div>
|
|
108
|
-
{this.props.showEdit ? <CapButton onClick={(e) => this.goToEdit(e, this.props.path)} className="preview-buttons" type="primary">{this.props.type === 'embedded' ? <FormattedMessage {...messages.select} /> : <FormattedMessage {...messages.edit} /> }</CapButton> : ""}
|
|
109
101
|
</div>
|
|
110
|
-
|
|
111
|
-
|
|
102
|
+
</div>
|
|
103
|
+
{this.props.showEdit ? <CapButton onClick={(e) => this.goToEdit(e, this.props.path)} className="preview-buttons" type="primary">{this.props.type === 'embedded' ? <FormattedMessage {...messages.select} /> : <FormattedMessage {...messages.edit} /> }</CapButton> : ""}
|
|
104
|
+
</div>
|
|
112
105
|
:
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
</div>
|
|
118
|
-
</div>
|
|
106
|
+
<div className={`preview-container ${this.props.type === 'embedded' ? 'embedded-preview' : ''}`}>
|
|
107
|
+
<div className="shell align-center" id="sms-preview">
|
|
108
|
+
<div className="wechatMsgContainerCardLayout">
|
|
109
|
+
<div>{this.prepareCardLayoutPreviewData(this.props.content)}
|
|
119
110
|
</div>
|
|
120
111
|
</div>
|
|
112
|
+
</div>
|
|
113
|
+
</div>
|
|
121
114
|
);
|
|
122
115
|
}
|
|
123
116
|
}
|
|
124
117
|
|
|
125
118
|
WechatRichmediaTemplatePreview.propTypes = {
|
|
126
|
-
|
|
127
|
-
show: PropTypes.bool,
|
|
128
|
-
closeSlideBox: PropTypes.function,
|
|
129
|
-
templateName: PropTypes.string,
|
|
119
|
+
contentForSlideBox: PropTypes.bool,
|
|
130
120
|
type: PropTypes.string,
|
|
131
121
|
content: PropTypes.array,
|
|
132
122
|
onEditClick: PropTypes.func,
|
|
@@ -7,15 +7,15 @@ import { defineMessages } from 'react-intl';
|
|
|
7
7
|
|
|
8
8
|
export default defineMessages({
|
|
9
9
|
header: {
|
|
10
|
-
id: '
|
|
10
|
+
id: 'app.components.WechatRichmediaTemplatePreview.header',
|
|
11
11
|
defaultMessage: 'This is the WechatRichmediaTemplatePreview component !',
|
|
12
12
|
},
|
|
13
13
|
select: {
|
|
14
|
-
id: '
|
|
14
|
+
id: 'app.components.WechatRichmediaTemplatePreview.select',
|
|
15
15
|
defaultMessage: 'Select',
|
|
16
16
|
},
|
|
17
17
|
edit: {
|
|
18
|
-
id: '
|
|
18
|
+
id: 'app.components.WechatRichmediaTemplatePreview.edit',
|
|
19
19
|
defaultMessage: 'Edit',
|
|
20
20
|
},
|
|
21
21
|
});
|
|
@@ -8,7 +8,7 @@ import PropTypes from 'prop-types';
|
|
|
8
8
|
|
|
9
9
|
import React from 'react';
|
|
10
10
|
import _ from 'lodash';
|
|
11
|
-
import { injectIntl, FormattedMessage
|
|
11
|
+
import { injectIntl, FormattedMessage} from 'react-intl';
|
|
12
12
|
// import styled from 'styled-components';
|
|
13
13
|
import {CapColumn, CapRow, CapHeading} from '@capillarytech/cap-ui-library';
|
|
14
14
|
import './_templatePreview.scss';
|
|
@@ -59,47 +59,29 @@ class TemplatePreview extends React.Component { // eslint-disable-line react/pre
|
|
|
59
59
|
<FormattedMessage {...messages.smsFormatType}/>
|
|
60
60
|
}
|
|
61
61
|
</CapHeading>}
|
|
62
|
-
{smsDetails.optoutUrlPresent && <CapHeading type="h6">
|
|
63
|
-
<FormattedMessage {...messages.optoutCharactersTotal} values={{optoutUrlLength: smsDetails.optouturlLength}} />
|
|
64
|
-
</CapHeading>}
|
|
65
62
|
</CapColumn>}
|
|
66
63
|
<CapColumn span={this.props.showCount ? 8 : 24}>
|
|
67
64
|
<div className={`preview-container ${type === 'embedded' ? 'embedded-preview' : ''}`}>
|
|
68
65
|
{ channel && channel.toLowerCase() === 'sms' &&
|
|
69
|
-
<div>
|
|
70
|
-
<
|
|
71
|
-
|
|
72
|
-
<
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
{content
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
}
|
|
80
|
-
</div>
|
|
66
|
+
<div className="shell align-center" id="sms-preview">
|
|
67
|
+
<img className="preview-image sms" src={smsBody} alt="Preview is being generated"/>
|
|
68
|
+
<div className="msgContainer sms">
|
|
69
|
+
<img className="sms-icon" src={smsIcon} alt="Sms icon" />
|
|
70
|
+
<div className={"message-pop sms"}>
|
|
71
|
+
{content && content.length && content.map((msg, index) =>
|
|
72
|
+
<CapColumn key={`"message-pop-content-${index}`} className="message-pop-item align-left" style={{ background: '#3F51B5', color: '#ffffff'}}>
|
|
73
|
+
{msg}
|
|
74
|
+
</CapColumn>)
|
|
75
|
+
}
|
|
81
76
|
</div>
|
|
82
77
|
</div>
|
|
83
|
-
{!this.props.showCount && <div>
|
|
84
|
-
<CapColumn className="character-count-col" span={22}>
|
|
85
|
-
{channel && channel.toLowerCase() === 'sms' && <CapHeading type="h3">
|
|
86
|
-
<FormattedMessage {...messages.charactersTotal} values={{smsCount: smsDetails.parts, charCount: smsDetails.chars_used}}/>
|
|
87
|
-
{smsDetails.unicode &&
|
|
88
|
-
<FormattedMessage {...messages.smsFormatType}/>
|
|
89
|
-
}
|
|
90
|
-
</CapHeading>}
|
|
91
|
-
{smsDetails.optoutUrlPresent && <CapHeading type="h6" className="optout-tag-heading">
|
|
92
|
-
<FormattedMessage {...messages.optoutCharactersTotal} values={{optoutUrlLength: smsDetails.optouturlLength}} />
|
|
93
|
-
</CapHeading>}
|
|
94
|
-
</CapColumn>
|
|
95
|
-
</div>}
|
|
96
78
|
</div>
|
|
97
|
-
|
|
79
|
+
}
|
|
98
80
|
{channel && channel.toLowerCase() === 'wechat' ?
|
|
99
81
|
( <div className="shell align-center" id="sms-preview">
|
|
100
82
|
<img className="preview-image" src={channel.toLowerCase() === 'wechat' ? wechatBody : smsBody} alt="Preview is being generated"/>
|
|
101
83
|
<div className="msgContainer">
|
|
102
|
-
{this.props.channel.toLowerCase() === 'wechat' ? <div className="sms-icon" style={{ width: '25px', height: '25px', background: '#2E89DF' }}></div> : <img className="sms-icon" src={smsIcon} alt=
|
|
84
|
+
{this.props.channel.toLowerCase() === 'wechat' ? <div className="sms-icon" style={{ width: '25px', height: '25px', background: '#2E89DF' }}></div> : <img className="sms-icon" src={smsIcon} alt="Sms icon" />}
|
|
103
85
|
<div className="message-pop align-left" style={{ background: `${this.props.channel.toLowerCase() === 'wechat' ? '#ffffff' : '#3F51B5'}`, color: `${this.props.channel.toLowerCase() === 'wechat' ? '#333333' : '#ffffff'}`}}>{content}
|
|
104
86
|
</div>
|
|
105
87
|
</div>
|
|
@@ -108,7 +90,7 @@ class TemplatePreview extends React.Component { // eslint-disable-line react/pre
|
|
|
108
90
|
}
|
|
109
91
|
{ channel && (channel.toLowerCase() === 'mobilepush') &&
|
|
110
92
|
(<div className="shell align-center" id="mobilepush-preview">
|
|
111
|
-
<img className="preview-image" src={this.props.device === "android" ? androidPushMessagePhone : iPhonePushMessagePhone} alt=
|
|
93
|
+
<img className="preview-image" src={this.props.device === "android" ? androidPushMessagePhone : iPhonePushMessagePhone} alt="Preview is being generated"/>
|
|
112
94
|
{(!!content.header || !!content.bodyText || !!content.bodyImage) &&
|
|
113
95
|
<div className={`${this.props.device}-push-message-Container`}>
|
|
114
96
|
{this.props.device === "android" ?
|
|
@@ -135,7 +117,7 @@ class TemplatePreview extends React.Component { // eslint-disable-line react/pre
|
|
|
135
117
|
:
|
|
136
118
|
<div className="message-pop align-left">
|
|
137
119
|
<div className="app-name">
|
|
138
|
-
<span className="app-icon"></span>{content.appName ? content.appName : "App name"} <i className="material-icons">
|
|
120
|
+
<span className="app-icon"></span>{content.appName ? content.appName : "App name"} <i className="material-icons">close</i>
|
|
139
121
|
</div>
|
|
140
122
|
{content.bodyImage && <div className="body-image">
|
|
141
123
|
<img src={content.bodyImage} alt=""/>
|
|
@@ -157,7 +139,7 @@ class TemplatePreview extends React.Component { // eslint-disable-line react/pre
|
|
|
157
139
|
{
|
|
158
140
|
channel && channel.toLowerCase() === 'line' ? (
|
|
159
141
|
<div className="shell align-center" id="sms-preview">
|
|
160
|
-
<img className="preview-image" src={wechatBody} alt=
|
|
142
|
+
<img className="preview-image" src={wechatBody} alt="Preview is being generated"/>
|
|
161
143
|
<div className="msgContainer">
|
|
162
144
|
<div className="sms-icon" style={{ width: '25px', height: '25px', background: '#2E89DF' }}></div>
|
|
163
145
|
<div className="message-pop align-left" style={{ background: '#ffffff', color: '#333333' }}>
|
|
@@ -188,7 +170,6 @@ TemplatePreview.propTypes = {
|
|
|
188
170
|
device: PropTypes.string,
|
|
189
171
|
unicodeEnabled: PropTypes.bool,
|
|
190
172
|
showCount: PropTypes.bool,
|
|
191
|
-
intl: intlShape.isRequired,
|
|
192
173
|
};
|
|
193
174
|
|
|
194
175
|
export default (injectIntl(TemplatePreview));
|
|
@@ -7,47 +7,31 @@ import { defineMessages } from 'react-intl';
|
|
|
7
7
|
|
|
8
8
|
export default defineMessages({
|
|
9
9
|
previewGenerationMessage: {
|
|
10
|
-
id: '
|
|
10
|
+
id: 'app.components.TemplatePreview.previewGenerationMessage',
|
|
11
11
|
defaultMessage: "Preview is being generated",
|
|
12
12
|
},
|
|
13
13
|
sms: {
|
|
14
|
-
id: '
|
|
14
|
+
id: 'app.components.TemplatePreview.sms',
|
|
15
15
|
defaultMessage: "SMS",
|
|
16
16
|
},
|
|
17
17
|
charactersPerSms: {
|
|
18
|
-
id: '
|
|
18
|
+
id: 'app.components.TemplatePreview.charactersPerSms',
|
|
19
19
|
defaultMessage: "SMS chars",
|
|
20
20
|
},
|
|
21
21
|
charactersTotal: {
|
|
22
|
-
id: '
|
|
22
|
+
id: 'app.components.TemplatePreview.charactersTotal',
|
|
23
23
|
defaultMessage: "{smsCount} SMS ({charCount} characters)",
|
|
24
24
|
},
|
|
25
|
-
optoutCharactersTotal: {
|
|
26
|
-
id: 'app.components.TemplatePreview.optoutCharactersTotal',
|
|
27
|
-
defaultMessage: "Includes Optout tag ({optoutUrlLength} characters)",
|
|
28
|
-
},
|
|
29
25
|
smsFormatType: {
|
|
30
|
-
id: '
|
|
26
|
+
id: 'app.components.TemplatePreview.smsFormatType',
|
|
31
27
|
defaultMessage: 'Message has unicode characters',
|
|
32
28
|
},
|
|
33
29
|
lastModified: {
|
|
34
|
-
id: '
|
|
30
|
+
id: 'app.components.PreviewSideBar.lastModified',
|
|
35
31
|
defaultMessage: 'Last modified on',
|
|
36
32
|
},
|
|
37
33
|
uploadedBy: {
|
|
38
|
-
id: '
|
|
34
|
+
id: 'app.components.PreviewSideBar.uploadedBy',
|
|
39
35
|
defaultMessage: 'Last modified by',
|
|
40
36
|
},
|
|
41
|
-
previewGenerated: {
|
|
42
|
-
id: 'creatives.componentsV2.TemplatePreview.previewGenerated',
|
|
43
|
-
defaultMessage: 'Preview is being generated',
|
|
44
|
-
},
|
|
45
|
-
close: {
|
|
46
|
-
id: 'creatives.componentsV2.TemplatePreview.close',
|
|
47
|
-
defaultMessage: 'close',
|
|
48
|
-
},
|
|
49
|
-
smsIcon: {
|
|
50
|
-
id: 'creatives.componentsV2.TemplatePreview.smsIcon',
|
|
51
|
-
defaultMessage: 'Sms Icon',
|
|
52
|
-
},
|
|
53
37
|
});
|
|
@@ -7,10 +7,8 @@
|
|
|
7
7
|
import PropTypes from 'prop-types';
|
|
8
8
|
|
|
9
9
|
import React from 'react';
|
|
10
|
-
import { FormattedMessage } from 'react-intl';
|
|
11
10
|
import styled from 'styled-components';
|
|
12
11
|
import { messageTypeConfig } from '../../config/toastr';
|
|
13
|
-
import messages from './messages';
|
|
14
12
|
|
|
15
13
|
const StyledMessageWrapper = styled.div`
|
|
16
14
|
background: #f9f9fa;
|
|
@@ -86,7 +84,7 @@ class ToastrMessage extends React.Component { // eslint-disable-line react/prefe
|
|
|
86
84
|
<div style={{ padding: `${16}px` }}>
|
|
87
85
|
<MessageHeader>
|
|
88
86
|
{ this.props.title ? <span style={{ fontSize: `${20}px` }}>{this.props.title}</span> : '' }
|
|
89
|
-
<StyleIcon className="material-icons" onClick={() => this.closeMessagePopup(this.props.messageId)}
|
|
87
|
+
<StyleIcon className="material-icons" onClick={() => this.closeMessagePopup(this.props.messageId)}>close</StyleIcon>
|
|
90
88
|
</MessageHeader>
|
|
91
89
|
<MessageContent>
|
|
92
90
|
{this.props.text}
|
|
@@ -104,6 +102,7 @@ ToastrMessage.propTypes = {
|
|
|
104
102
|
text: PropTypes.string,
|
|
105
103
|
type: PropTypes.string,
|
|
106
104
|
handleMessageClose: PropTypes.func,
|
|
105
|
+
hideProgressBar: PropTypes.bool,
|
|
107
106
|
};
|
|
108
107
|
|
|
109
108
|
export default ToastrMessage;
|
|
@@ -7,11 +7,7 @@ import { defineMessages } from 'react-intl';
|
|
|
7
7
|
|
|
8
8
|
export default defineMessages({
|
|
9
9
|
header: {
|
|
10
|
-
id: '
|
|
11
|
-
defaultMessage: 'This is the ToastrMessage component !',
|
|
12
|
-
},
|
|
13
|
-
close: {
|
|
14
|
-
id: 'creatives.componentsV2.ToastrMessage.close',
|
|
10
|
+
id: 'app.components.ToastrMessage.header',
|
|
15
11
|
defaultMessage: 'This is the ToastrMessage component !',
|
|
16
12
|
},
|
|
17
13
|
});
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
.ui.navbar.menu {
|
|
2
|
+
height: 40px !important;
|
|
3
|
+
}
|
|
4
|
+
.ui.menu.navbar .item>img.logo{
|
|
5
|
+
height: 27px !important;
|
|
6
|
+
padding-left: 0!important;
|
|
7
|
+
margin: 0 auto;
|
|
8
|
+
max-width: 200px;
|
|
9
|
+
}
|
|
10
|
+
.ui.menu.navbar .ui.selection.dropdown{
|
|
11
|
+
height: 40px !important;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.ui.menu .ui.dropdown .menu>.selected.item {
|
|
15
|
+
background: #151821;
|
|
16
|
+
}
|
|
17
|
+
.org-list-drp-dwn .menu > .item{
|
|
18
|
+
height: 40px !important;
|
|
19
|
+
}
|
|
20
|
+
.ui.menu.navbar .ui.dropdown .menu>.item{
|
|
21
|
+
height: 40px !important;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.ui.search.selection.dropdown>input.search{
|
|
25
|
+
padding-left: 12px !important;
|
|
26
|
+
padding-top: 8px !important;
|
|
27
|
+
padding-bottom: 8px !important;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.ui.menu:not(.vertical) .right.item, .ui.menu:not(.vertical) .right.menu {
|
|
31
|
+
padding-right: 4px;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.ui.menu .item {
|
|
35
|
+
padding-left: 12px !important;
|
|
36
|
+
padding-right: 12px !important;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.ui.secondary.vertical.menu>.item {
|
|
40
|
+
margin-bottom: 0 !important;
|
|
41
|
+
padding: 8px 16px !important;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.ui.menu.navbar .item.dropdownItem {
|
|
45
|
+
padding: 0px !important;
|
|
46
|
+
}
|
|
@@ -7,31 +7,31 @@ import { defineMessages } from 'react-intl';
|
|
|
7
7
|
|
|
8
8
|
export default defineMessages({
|
|
9
9
|
profile: {
|
|
10
|
-
id: '
|
|
10
|
+
id: 'reon.components.TopBar.profile',
|
|
11
11
|
defaultMessage: 'Profile',
|
|
12
12
|
},
|
|
13
13
|
settings: {
|
|
14
|
-
id: '
|
|
14
|
+
id: 'reon.components.TopBar.settings',
|
|
15
15
|
defaultMessage: 'Settings',
|
|
16
16
|
},
|
|
17
17
|
logout: {
|
|
18
|
-
id: '
|
|
18
|
+
id: 'reon.components.TopBar.logout',
|
|
19
19
|
defaultMessage: 'Logout',
|
|
20
20
|
},
|
|
21
21
|
dropdownMessage: {
|
|
22
|
-
id: '
|
|
22
|
+
id: 'reon.components.TopBar.brand.dropdown',
|
|
23
23
|
defaultMessage: 'Select brand',
|
|
24
24
|
},
|
|
25
25
|
hi: {
|
|
26
|
-
id: '
|
|
26
|
+
id: 'app.components.TopBar.brand.dropdown',
|
|
27
27
|
defaultMessage: 'Hi',
|
|
28
28
|
},
|
|
29
29
|
selectOrganization: {
|
|
30
|
-
id: '
|
|
30
|
+
id: 'app.components.TopBar.brand.selectOrganization',
|
|
31
31
|
defaultMessage: 'Select organization',
|
|
32
32
|
},
|
|
33
33
|
selectProduct: {
|
|
34
|
-
id: '
|
|
34
|
+
id: 'app.components.TopBar.brand.selectProduct',
|
|
35
35
|
defaultMessage: 'Select product',
|
|
36
36
|
},
|
|
37
37
|
});
|
|
@@ -1,14 +1,3 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { FormattedMessage } from 'react-intl';
|
|
3
|
-
import globalMessages from '../Cap/messages';
|
|
4
|
-
|
|
5
1
|
export const GET_SIDEBAR_REQUEST = 'app/App/GET_SIDEBAR_REQUEST';
|
|
6
2
|
export const GET_SIDEBAR_SUCCESS = 'app/App/GET_SIDEBAR_SUCCESS';
|
|
7
3
|
export const GET_SIDEBAR_FAILURE = 'app/App/GET_SIDEBAR_FAILURE';
|
|
8
|
-
|
|
9
|
-
export const getTopbarMenuDataValue = () => ([
|
|
10
|
-
{ label: <FormattedMessage {...globalMessages.campaigns} />, link: '/campaigns/ui/list', key: 'campaigns' },
|
|
11
|
-
{ label: <FormattedMessage {...globalMessages.audience} />, link: '/audience-manager/list', key: 'audience' },
|
|
12
|
-
{ label: <FormattedMessage {...globalMessages.incentive} />, link: '/coupons/ui/', key: 'incentive' },
|
|
13
|
-
{ label: <FormattedMessage {...globalMessages.creatives} />, link: '/creatives/ui/v2', key: 'creatives' },
|
|
14
|
-
]);
|
|
@@ -7,99 +7,99 @@ import { defineMessages } from 'react-intl';
|
|
|
7
7
|
|
|
8
8
|
export default defineMessages({
|
|
9
9
|
uploadedAt: {
|
|
10
|
-
id: '
|
|
10
|
+
id: 'app.containers.Assets.Gallery.uploadedAt',
|
|
11
11
|
defaultMessage: 'Uploaded at ',
|
|
12
12
|
},
|
|
13
13
|
uploadedOn: {
|
|
14
|
-
id: '
|
|
14
|
+
id: 'app.containers.Assets.Gallery.uploadedOn',
|
|
15
15
|
defaultMessage: 'Uploaded on ',
|
|
16
16
|
},
|
|
17
17
|
uploadedBy: {
|
|
18
|
-
id: '
|
|
18
|
+
id: 'app.containers.Assets.Gallery.uploadedBy',
|
|
19
19
|
defaultMessage: 'Uploaded by ',
|
|
20
20
|
},
|
|
21
21
|
upload: {
|
|
22
|
-
id: '
|
|
22
|
+
id: 'app.containers.Assets.Gallery.upload',
|
|
23
23
|
defaultMessage: 'Upload image',
|
|
24
24
|
},
|
|
25
25
|
addImages: {
|
|
26
|
-
id: `
|
|
26
|
+
id: `app.containers.Assets.Gallery.addImages`,
|
|
27
27
|
defaultMessage: 'Add images',
|
|
28
28
|
},
|
|
29
29
|
imagePreview: {
|
|
30
|
-
id: '
|
|
30
|
+
id: 'app.containers.Assets.Gallery.imagePreview',
|
|
31
31
|
defaultMessage: 'Image preview',
|
|
32
32
|
},
|
|
33
33
|
size: {
|
|
34
|
-
id: '
|
|
34
|
+
id: 'app.containers.Assets.Gallery.size',
|
|
35
35
|
defaultMessage: 'Size',
|
|
36
36
|
},
|
|
37
37
|
dimensions: {
|
|
38
|
-
id: '
|
|
38
|
+
id: 'app.containers.Assets.Gallery.dimensions',
|
|
39
39
|
defaultMessage: 'Dimensions',
|
|
40
40
|
},
|
|
41
41
|
gallery: {
|
|
42
|
-
id: '
|
|
42
|
+
id: 'app.containers.Assets.Gallery.gallery',
|
|
43
43
|
defaultMessage: 'Gallery',
|
|
44
44
|
},
|
|
45
45
|
backToGallery: {
|
|
46
|
-
id: '
|
|
46
|
+
id: 'app.containers.Assets.Gallery.backToGallery',
|
|
47
47
|
defaultMessage: 'Back to image gallery',
|
|
48
48
|
},
|
|
49
49
|
mostRecent: {
|
|
50
|
-
id: '
|
|
50
|
+
id: 'app.containers.Assets.Gallery.mostRecent',
|
|
51
51
|
defaultMessage: 'Most recent',
|
|
52
52
|
},
|
|
53
53
|
alphabetically: {
|
|
54
|
-
id: '
|
|
54
|
+
id: 'app.containers.Assets.Gallery.alphabetically',
|
|
55
55
|
defaultMessage: 'Alphabetically',
|
|
56
56
|
},
|
|
57
57
|
sortby: {
|
|
58
|
-
id: '
|
|
58
|
+
id: 'app.containers.Assets.Gallery.sortby',
|
|
59
59
|
defaultMessage: 'Sort by',
|
|
60
60
|
},
|
|
61
61
|
delete: {
|
|
62
|
-
id: '
|
|
62
|
+
id: 'app.containers.Assets.Gallery.delete',
|
|
63
63
|
defaultMessage: 'Delete',
|
|
64
64
|
},
|
|
65
65
|
search: {
|
|
66
|
-
id: '
|
|
66
|
+
id: 'app.containers.Assets.Gallery.search',
|
|
67
67
|
defaultMessage: 'Search',
|
|
68
68
|
},
|
|
69
69
|
select: {
|
|
70
|
-
id: '
|
|
70
|
+
id: 'app.containers.Assets.Gallery.select',
|
|
71
71
|
defaultMessage: 'Select',
|
|
72
72
|
},
|
|
73
73
|
preview: {
|
|
74
|
-
id: '
|
|
74
|
+
id: 'app.containers.Assets.Gallery.preview',
|
|
75
75
|
defaultMessage: 'Preview',
|
|
76
76
|
},
|
|
77
77
|
assetUploadSuccess: {
|
|
78
|
-
id: '
|
|
78
|
+
id: 'app.containers.Assets.Gallery.assetUploadSuccess',
|
|
79
79
|
defaultMessage: 'Image uploaded successfully',
|
|
80
80
|
},
|
|
81
81
|
assetUploadFailed: {
|
|
82
|
-
id: '
|
|
82
|
+
id: 'app.containers.Assets.Gallery.assetUploadFailed',
|
|
83
83
|
defaultMessage: 'Image uploaded failed',
|
|
84
84
|
},
|
|
85
85
|
assetDeleteSuccess: {
|
|
86
|
-
id: '
|
|
86
|
+
id: 'app.containers.Assets.Gallery.assetDeleteSuccess',
|
|
87
87
|
defaultMessage: 'Image deleted successfully.',
|
|
88
88
|
},
|
|
89
89
|
assetDeleteFailed: {
|
|
90
|
-
id: '
|
|
90
|
+
id: 'app.containers.Assets.Gallery.assetDeleteFailed',
|
|
91
91
|
defaultMessage: 'Image deletion failed.',
|
|
92
92
|
},
|
|
93
93
|
noAssetMessage: {
|
|
94
|
-
id: '
|
|
94
|
+
id: 'app.containers.Assets.Gallery.noAssetMessage',
|
|
95
95
|
defaultMessage: 'No image is uploaded',
|
|
96
96
|
},
|
|
97
97
|
lastUpdated: {
|
|
98
|
-
id: '
|
|
98
|
+
id: 'app.containers.Assets.Gallery.lastUpdated',
|
|
99
99
|
defaultMessage: 'Last update {on} by {by}',
|
|
100
100
|
},
|
|
101
101
|
noTemplatesFound: {
|
|
102
|
-
id: `
|
|
102
|
+
id: `app.containers.Assets.Gallery.noTemplatesFound`,
|
|
103
103
|
defaultMessage: 'No templates found',
|
|
104
104
|
},
|
|
105
105
|
});
|
|
@@ -7,27 +7,27 @@ import { defineMessages } from 'react-intl';
|
|
|
7
7
|
|
|
8
8
|
export default defineMessages({
|
|
9
9
|
addNewCallTask: {
|
|
10
|
-
id: '
|
|
10
|
+
id: 'app.containers.CallTask.addNewCallTask',
|
|
11
11
|
defaultMessage: 'Add new call task',
|
|
12
12
|
},
|
|
13
13
|
newMessage: {
|
|
14
|
-
id: '
|
|
14
|
+
id: 'app.containers.CallTask.newMessage',
|
|
15
15
|
defaultMessage: 'New message',
|
|
16
16
|
},
|
|
17
17
|
callTaskInfo: {
|
|
18
|
-
id: '
|
|
18
|
+
id: 'app.containers.CallTask.callTaskInfo',
|
|
19
19
|
defaultMessage: 'Call Tasks are message sent to store staff. The messages are displayed on the Point of Sale (POS) machines for store staff to take action.',
|
|
20
20
|
},
|
|
21
21
|
callTaskTitleIllustartion: {
|
|
22
|
-
id: `
|
|
22
|
+
id: `app.containers.CallTask.callTaskTitleIllustartion`,
|
|
23
23
|
defaultMessage: 'Create a Call Task {templateText}',
|
|
24
24
|
},
|
|
25
25
|
newCallTaskTemplate: {
|
|
26
|
-
id: `
|
|
26
|
+
id: `app.containers.CallTask.newCallTaskTemplate`,
|
|
27
27
|
defaultMessage: 'New Call Task {templateText}',
|
|
28
28
|
},
|
|
29
29
|
template: {
|
|
30
|
-
id: `
|
|
30
|
+
id: `app.containers.CallTask.template`,
|
|
31
31
|
defaultMessage: 'template',
|
|
32
32
|
},
|
|
33
33
|
});
|
|
@@ -2,15 +2,14 @@ import PropTypes from 'prop-types';
|
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import Helmet from 'react-helmet';
|
|
4
4
|
import { connect } from 'react-redux';
|
|
5
|
-
import {CapNotification} from '@capillarytech/cap-ui-library';
|
|
6
5
|
import { bindActionCreators } from 'redux';
|
|
7
6
|
import styled from 'styled-components';
|
|
8
7
|
import { createStructuredSelector } from 'reselect';
|
|
9
8
|
import _ from 'lodash';
|
|
10
9
|
import moment from 'moment';
|
|
11
10
|
// import 'moment/locale/zh-cn';
|
|
12
|
-
import { injectIntl
|
|
13
|
-
import
|
|
11
|
+
import { injectIntl } from 'react-intl';
|
|
12
|
+
import {CapNotification} from '@capillarytech/cap-ui-library';
|
|
14
13
|
import { makeSelectAuthenticated, makeSelectUser } from './selectors';
|
|
15
14
|
import * as actions from './actions';
|
|
16
15
|
import * as locationActions from '../LanguageProvider/actions';
|
|
@@ -165,9 +164,9 @@ export class Cap extends React.Component { // eslint-disable-line react/prefer-s
|
|
|
165
164
|
<CapWrapper>
|
|
166
165
|
<Helmet
|
|
167
166
|
titleTemplate="Capillary - %s"
|
|
168
|
-
defaultTitle=
|
|
167
|
+
defaultTitle="App Name"
|
|
169
168
|
meta={[
|
|
170
|
-
{ name: 'description', content:
|
|
169
|
+
{ name: 'description', content: 'App Name' },
|
|
171
170
|
]}
|
|
172
171
|
/>
|
|
173
172
|
<div className="wrapper">
|
|
@@ -192,7 +191,11 @@ export class Cap extends React.Component { // eslint-disable-line react/prefer-s
|
|
|
192
191
|
</div>
|
|
193
192
|
</div>
|
|
194
193
|
{(toastMessages && toastMessages.length > 0) &&
|
|
195
|
-
toastMessages.map((message) =>
|
|
194
|
+
toastMessages.map((message) => {
|
|
195
|
+
//If the messages are not removed then the same messages appear again
|
|
196
|
+
setTimeout(this.handleRemoveMessage(message.messageIndex), (message.duration || 5) * 1000);
|
|
197
|
+
return CapNotification[message.type]({message: message.text, key: message.text, duration: message.duration || 5});
|
|
198
|
+
}
|
|
196
199
|
)
|
|
197
200
|
}
|
|
198
201
|
{this.props.Global.fetching_userdata &&
|