@capillarytech/creatives-library 2.0.81 → 2.0.83
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/CapTagList/index.js +24 -21
- package/components/CardGrid/index.js +10 -16
- package/components/Ckeditor/index.js +1 -2
- package/components/CustomPopOver/index.js +1 -1
- package/components/EmailPreview/index.js +2 -3
- package/components/FormBuilder/_formBuilder.scss +15 -8
- package/components/FormBuilder/index.js +192 -258
- package/components/Header/index.js +1 -4
- package/components/PreviewSideBar/_previewsidebar.scss +1 -1
- package/components/PreviewSideBar/index.js +5 -3
- package/components/TemplatePreview/WechatRichmediaTemplatePreview/index.js +3 -2
- package/components/TemplatePreview/_templatePreview.scss +1 -1
- package/components/TemplatePreview/index.js +47 -47
- package/components/TemplatePreview/messages.js +1 -9
- package/containers/Assets/Gallery/index.js +1 -1
- package/containers/Email/index.js +1 -1
- package/containers/Login/components/LoginForm/index.js +1 -1
- package/containers/Templates/index.js +1 -1
- package/containers/WeChat/RichmediaTemplates/Create/index.js +1 -1
- package/package.json +2 -1
- package/v2Components/BreadCrumbs/index.js +65 -0
- package/v2Components/BreadCrumbs/messages.js +13 -0
- package/v2Components/BreadCrumbs/tests/index.test.js +10 -0
- package/v2Components/CallTaskPreview/_callTaskPreview.scss +17 -0
- package/v2Components/CallTaskPreview/images/Footer.png +0 -0
- package/v2Components/CallTaskPreview/images/Header.png +0 -0
- package/v2Components/CallTaskPreview/index.js +37 -0
- package/v2Components/CallTaskPreview/messages.js +13 -0
- package/v2Components/CallTaskPreview/tests/index.test.js +15 -0
- package/v2Components/CapTagList/index.js +232 -0
- package/v2Components/CapTagList/messages.js +25 -0
- package/{containers/TemplatesV2 → v2Components/CapTagList}/tests/index.test.js +2 -2
- package/v2Components/Card/_customCard.scss +27 -0
- package/v2Components/Card/index.js +78 -0
- package/{containers/WeChat → v2Components/Card}/tests/index.test.js +2 -2
- package/v2Components/CardGrid/index.js +77 -0
- package/{containers/EmailWrapper → v2Components/CardGrid}/tests/index.test.js +2 -2
- package/v2Components/Ckeditor/index.js +234 -0
- package/v2Components/Ckeditor/messages.js +13 -0
- package/{containers/ChannelTemplates → v2Components/Ckeditor}/tests/index.test.js +2 -2
- package/v2Components/CmsTemplatesComponent/index.js +33 -0
- package/v2Components/CmsTemplatesComponent/messages.js +17 -0
- package/v2Components/CmsTemplatesComponent/tests/index.test.js +10 -0
- package/v2Components/Component/index.js +29 -0
- package/v2Components/Component/tests/index.test.js +10 -0
- package/v2Components/CustomPopOver/index.js +82 -0
- package/v2Components/CustomPopOver/messages.js +13 -0
- package/v2Components/CustomPopOver/tests/index.test.js +10 -0
- 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/index.js +65 -0
- package/v2Components/Edmeditor/messages.js +13 -0
- package/v2Components/Edmeditor/tests/index.test.js +10 -0
- package/v2Components/EmailMobilePreview/index.js +129 -0
- package/v2Components/EmailMobilePreview/index.scss +55 -0
- package/v2Components/EmailPreview/_emailPreview.scss +119 -0
- package/v2Components/EmailPreview/index.js +106 -0
- package/v2Components/EmailPreview/messages.js +17 -0
- package/v2Components/EmailPreview/tests/index.test.js +10 -0
- package/v2Components/EmailPreviewV2/_emailPreviewV2.scss +69 -0
- package/v2Components/EmailPreviewV2/index.js +132 -0
- package/v2Components/EmailPreviewV2/messages.js +41 -0
- package/v2Components/EmailPreviewV2/tests/index.test.js +10 -0
- package/v2Components/Footer/index.js +27 -0
- package/v2Components/Footer/messages.js +13 -0
- package/v2Components/Footer/tests/index.test.js +10 -0
- package/v2Components/FormBuilder/_formBuilder.scss +78 -0
- package/v2Components/FormBuilder/index.js +3309 -0
- package/v2Components/FormBuilder/messages.js +13 -0
- package/v2Components/FormBuilder/tests/index.test.js +10 -0
- package/v2Components/Header/index.js +46 -0
- package/v2Components/Header/messages.js +25 -0
- package/v2Components/Header/tests/index.test.js +10 -0
- package/v2Components/ImagePreview/_imagePreview.scss +63 -0
- package/v2Components/ImagePreview/index.js +52 -0
- package/v2Components/ImagePreview/messages.js +13 -0
- package/v2Components/ImagePreview/tests/index.test.js +10 -0
- package/v2Components/MobilePushPreviewV2/index.js +120 -0
- package/v2Components/MobilePushPreviewV2/messages.js +13 -0
- package/{containers/MobilepushWrapper → v2Components/MobilePushPreviewV2}/tests/index.test.js +2 -2
- package/v2Components/NewCallTask/_newCallTask.scss +9 -0
- package/v2Components/NewCallTask/index.js +152 -0
- package/v2Components/NewCallTask/messages.js +29 -0
- package/{containers/CallTask → v2Components/NewCallTask}/tests/index.test.js +2 -2
- 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/Pagination/_pagination.scss +5 -0
- package/v2Components/Pagination/index.js +49 -0
- package/v2Components/Pagination/tests/index.test.js +10 -0
- package/v2Components/PreviewSideBar/_previewsidebar.scss +28 -0
- package/v2Components/PreviewSideBar/index.js +150 -0
- package/v2Components/PreviewSideBar/messages.js +33 -0
- package/v2Components/PreviewSideBar/tests/index.test.js +10 -0
- 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/SlideBox/_slideBox.scss +63 -0
- package/v2Components/SlideBox/index.js +48 -0
- package/v2Components/SlideBox/tests/index.test.js +103 -0
- package/v2Components/SmsEditor/index.js +55 -0
- package/v2Components/SmsEditor/tests/index.test.js +10 -0
- package/v2Components/SmsTest/index.js +115 -0
- package/v2Components/SmsTest/messages.js +13 -0
- package/v2Components/SmsTest/tests/index.test.js +10 -0
- package/v2Components/TemplatePreview/WechatRichmediaTemplatePreview/_wechatRichmediaTemplatePrev.scss +42 -0
- package/v2Components/TemplatePreview/WechatRichmediaTemplatePreview/index.js +139 -0
- package/v2Components/TemplatePreview/WechatRichmediaTemplatePreview/messages.js +21 -0
- package/v2Components/TemplatePreview/WechatRichmediaTemplatePreview/tests/index.test.js +10 -0
- package/v2Components/TemplatePreview/_templatePreview.scss +352 -0
- package/v2Components/TemplatePreview/assets/images/WECHAT_5x.png +0 -0
- package/v2Components/TemplatePreview/assets/images/androidPushMessage.svg +45 -0
- package/v2Components/TemplatePreview/assets/images/iPhonePushMessage.svg +135 -0
- package/v2Components/TemplatePreview/assets/images/mobile.svg +24 -0
- package/v2Components/TemplatePreview/assets/images/sms-body.png +0 -0
- package/v2Components/TemplatePreview/assets/images/sms-icon.png +0 -0
- package/v2Components/TemplatePreview/assets/images/sms_mobile.png +0 -0
- package/v2Components/TemplatePreview/assets/images/user-icon.svg +19 -0
- package/v2Components/TemplatePreview/assets/images/wechat-mobile.svg +78 -0
- package/v2Components/TemplatePreview/index.js +175 -0
- package/v2Components/TemplatePreview/messages.js +37 -0
- package/v2Components/TemplatePreview/tests/index.test.js +10 -0
- package/v2Components/Toastr/index.js +60 -0
- package/v2Components/Toastr/messages.js +13 -0
- package/v2Components/Toastr/tests/index.test.js +10 -0
- package/v2Components/ToastrMessage/index.js +110 -0
- package/v2Components/ToastrMessage/messages.js +13 -0
- package/v2Components/ToastrMessage/tests/index.test.js +10 -0
- package/v2Components/TopBar/_topbar.scss +46 -0
- package/v2Components/TopBar/assets/images/capillary_logo.png +0 -0
- package/v2Components/TopBar/index.js +113 -0
- package/v2Components/TopBar/messages.js +29 -0
- package/v2Components/TopBar/tests/index.test.js +10 -0
- package/v2Containers/Assets/Gallery/index.js +1 -1
- package/v2Containers/CallTask/index.js +1 -1
- package/v2Containers/Cap/index.js +2 -2
- package/v2Containers/CreativesContainer/SlideBoxContent.js +3 -3
- package/v2Containers/CreativesContainer/index.js +1 -0
- package/v2Containers/Dashboard/index.js +2 -2
- package/v2Containers/Ebill/index.js +2 -2
- package/v2Containers/Email/index.js +13 -13
- package/v2Containers/EmailWrapper/index.js +1 -1
- package/v2Containers/Line/Create/index.js +1 -1
- package/v2Containers/Line/Edit/index.js +1 -1
- package/v2Containers/Login/index.js +1 -1
- package/v2Containers/MobilePush/Create/index.js +26 -3
- package/v2Containers/MobilePush/Edit/index.js +32 -7
- package/v2Containers/MobilePush/initialSchema.js +2 -0
- package/v2Containers/Sms/Create/index.js +1 -1
- package/v2Containers/Sms/Edit/index.js +1 -1
- package/v2Containers/TagList/index.js +1 -1
- package/v2Containers/Templates/index.js +4 -4
- package/v2Containers/TestPage/index.js +1 -1
- package/v2Containers/WeChat/MapTemplates/index.js +3 -3
- package/v2Containers/WeChat/RichmediaTemplates/Create/index.js +3 -3
- package/components/FormBuilder/test +0 -1845
- package/containers/CallTask/_callTask.scss +0 -5
- package/containers/CallTask/actions.js +0 -15
- package/containers/CallTask/constants.js +0 -7
- package/containers/CallTask/index.js +0 -141
- package/containers/CallTask/messages.js +0 -21
- package/containers/CallTask/reducer.js +0 -23
- package/containers/CallTask/sagas.js +0 -11
- package/containers/CallTask/selectors.js +0 -25
- package/containers/CallTask/tests/actions.test.js +0 -18
- package/containers/CallTask/tests/reducer.test.js +0 -9
- package/containers/CallTask/tests/sagas.test.js +0 -15
- package/containers/CallTask/tests/selectors.test.js +0 -10
- package/containers/ChannelTemplates/actions.js +0 -20
- package/containers/ChannelTemplates/constants.js +0 -8
- package/containers/ChannelTemplates/index.js +0 -48
- package/containers/ChannelTemplates/messages.js +0 -13
- package/containers/ChannelTemplates/reducer.js +0 -34
- package/containers/ChannelTemplates/sagas.js +0 -32
- package/containers/ChannelTemplates/selectors.js +0 -25
- package/containers/ChannelTemplates/tests/actions.test.js +0 -18
- package/containers/ChannelTemplates/tests/reducer.test.js +0 -9
- package/containers/ChannelTemplates/tests/sagas.test.js +0 -15
- package/containers/ChannelTemplates/tests/selectors.test.js +0 -10
- package/containers/CreativesContainer/SlideBoxContent.js +0 -248
- package/containers/CreativesContainer/SlideBoxFooter.js +0 -38
- package/containers/CreativesContainer/SlideBoxHeader.js +0 -65
- package/containers/CreativesContainer/actions.js +0 -27
- package/containers/CreativesContainer/constants.js +0 -13
- package/containers/CreativesContainer/index.js +0 -418
- package/containers/CreativesContainer/index.scss +0 -27
- package/containers/CreativesContainer/messages.js +0 -17
- package/containers/CreativesContainer/reducer.js +0 -29
- package/containers/CreativesContainer/sagas.js +0 -11
- package/containers/CreativesContainer/selectors.js +0 -30
- package/containers/CreativesContainer/tests/actions.test.js +0 -18
- package/containers/CreativesContainer/tests/index.test.js +0 -10
- package/containers/CreativesContainer/tests/reducer.test.js +0 -9
- package/containers/CreativesContainer/tests/sagas.test.js +0 -15
- package/containers/CreativesContainer/tests/selectors.test.js +0 -10
- package/containers/EmailWrapper/actions.js +0 -15
- package/containers/EmailWrapper/constants.js +0 -7
- package/containers/EmailWrapper/index.js +0 -238
- package/containers/EmailWrapper/messages.js +0 -57
- package/containers/EmailWrapper/reducer.js +0 -23
- package/containers/EmailWrapper/sagas.js +0 -11
- package/containers/EmailWrapper/selectors.js +0 -25
- package/containers/EmailWrapper/tests/actions.test.js +0 -18
- package/containers/EmailWrapper/tests/reducer.test.js +0 -9
- package/containers/EmailWrapper/tests/sagas.test.js +0 -15
- package/containers/EmailWrapper/tests/selectors.test.js +0 -10
- package/containers/MobilePush/commonMethods.js +0 -249
- package/containers/MobilePush/eventsMap.js +0 -127
- package/containers/MobilePush/initialSchema.js +0 -1739
- package/containers/MobilepushWrapper/_mobilepushWrapper.scss +0 -18
- package/containers/MobilepushWrapper/index.js +0 -97
- package/containers/MobilepushWrapper/messages.js +0 -25
- package/containers/TemplatesV2/_templatesV2.scss +0 -5
- package/containers/TemplatesV2/actions.js +0 -16
- package/containers/TemplatesV2/constants.js +0 -10
- package/containers/TemplatesV2/index.js +0 -207
- package/containers/TemplatesV2/messages.js +0 -29
- package/containers/TemplatesV2/selectors.js +0 -25
- package/containers/TemplatesV2/tests/actions.test.js +0 -18
- package/containers/TemplatesV2/tests/reducer.test.js +0 -9
- package/containers/TemplatesV2/tests/sagas.test.js +0 -15
- package/containers/TemplatesV2/tests/selectors.test.js +0 -10
- package/containers/WeChat/RichmediaTemplates/Create/testschema.js +0 -379
- package/containers/WeChat/_wechat.scss +0 -8
- package/containers/WeChat/actions.js +0 -52
- package/containers/WeChat/constants.js +0 -28
- package/containers/WeChat/index.js +0 -1635
- package/containers/WeChat/messages.js +0 -73
- package/containers/WeChat/reducer.js +0 -74
- package/containers/WeChat/sagas.js +0 -86
- package/containers/WeChat/selectors.js +0 -25
- package/containers/WeChat/tests/actions.test.js +0 -18
- package/containers/WeChat/tests/reducer.test.js +0 -9
- package/containers/WeChat/tests/sagas.test.js +0 -15
- package/containers/WeChat/tests/selectors.test.js +0 -10
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
/**
|
|
2
|
+
*
|
|
3
|
+
* TemplatePreview
|
|
4
|
+
*
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import PropTypes from 'prop-types';
|
|
8
|
+
|
|
9
|
+
import React from 'react';
|
|
10
|
+
import _ from 'lodash';
|
|
11
|
+
import { injectIntl, FormattedMessage} from 'react-intl';
|
|
12
|
+
// import styled from 'styled-components';
|
|
13
|
+
import {CapColumn, CapRow, CapHeading} from '@capillarytech/cap-ui-library';
|
|
14
|
+
import './_templatePreview.scss';
|
|
15
|
+
import {updateCharCount} from '../../utils/smsCharCountV2';
|
|
16
|
+
import messages from './messages';
|
|
17
|
+
const smsIcon = require('./assets/images/user-icon.svg');
|
|
18
|
+
const wechatBody = require('./assets/images/WECHAT_5x.png');
|
|
19
|
+
const smsBody = require('./assets/images/mobile.svg');
|
|
20
|
+
const androidPushMessagePhone = require('./assets/images/androidPushMessage.svg');
|
|
21
|
+
const iPhonePushMessagePhone = require('./assets/images/iPhonePushMessage.svg');
|
|
22
|
+
|
|
23
|
+
class TemplatePreview extends React.Component { // eslint-disable-line react/prefer-stateless-function
|
|
24
|
+
render() {
|
|
25
|
+
let content = channel && channel.toLowerCase() === 'sms' ? [this.props.content] : this.props.content;
|
|
26
|
+
const channel = this.props.channel;
|
|
27
|
+
let smsDetails = {};
|
|
28
|
+
// let smsText = '';
|
|
29
|
+
if (this.props.content && this.props.charCounterEnabled) {
|
|
30
|
+
smsDetails = updateCharCount(this.props.content, this.props.unicodeEnabled);
|
|
31
|
+
content = [];
|
|
32
|
+
for (let i = 0, limit = 0; i < smsDetails.parts; i += 1, limit += smsDetails.chars_sms) {
|
|
33
|
+
content.push(smsDetails.char_list.slice(limit, smsDetails.chars_sms * (i + 1)));
|
|
34
|
+
}
|
|
35
|
+
if (document.getElementById("msg_count") && this.props.showCount) {
|
|
36
|
+
document.getElementById("msg_count").val = smsDetails.parts;
|
|
37
|
+
}
|
|
38
|
+
//smsText = this.props.intl.formatMessage(messages.previewGenerationMessage);
|
|
39
|
+
//console.log('message text', smsText);
|
|
40
|
+
}
|
|
41
|
+
const type = this.props.location && this.props.location.query.type ? this.props.location.query.type : '';
|
|
42
|
+
let iosActions = [];
|
|
43
|
+
if (channel.toLowerCase() === "mobilepush") {
|
|
44
|
+
iosActions = _.map(content.actions, (action) => {
|
|
45
|
+
if (action.label) {
|
|
46
|
+
return (<div className="actions" key={`action-${action.label}`}>
|
|
47
|
+
<span className="action">{action.label.toUpperCase()}</span>
|
|
48
|
+
</div>);
|
|
49
|
+
}
|
|
50
|
+
return undefined;
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
return (
|
|
54
|
+
<CapRow>
|
|
55
|
+
{this.props.showCount && <CapColumn span={16}>
|
|
56
|
+
{channel && channel.toLowerCase() === 'sms' && <CapHeading type="h3">
|
|
57
|
+
<FormattedMessage {...messages.charactersTotal} values={{smsCount: smsDetails.parts, charCount: smsDetails.chars_used}}/>
|
|
58
|
+
{smsDetails.unicode &&
|
|
59
|
+
<FormattedMessage {...messages.smsFormatType}/>
|
|
60
|
+
}
|
|
61
|
+
</CapHeading>}
|
|
62
|
+
</CapColumn>}
|
|
63
|
+
<CapColumn span={this.props.showCount ? 8 : 24}>
|
|
64
|
+
<div className={`preview-container ${type === 'embedded' ? 'embedded-preview' : ''}`}>
|
|
65
|
+
{ channel && channel.toLowerCase() === 'sms' &&
|
|
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
|
+
}
|
|
76
|
+
</div>
|
|
77
|
+
</div>
|
|
78
|
+
</div>
|
|
79
|
+
}
|
|
80
|
+
{channel && channel.toLowerCase() === 'wechat' ?
|
|
81
|
+
( <div className="shell align-center" id="sms-preview">
|
|
82
|
+
<img className="preview-image" src={channel.toLowerCase() === 'wechat' ? wechatBody : smsBody} alt="Preview is being generated"/>
|
|
83
|
+
<div className="msgContainer">
|
|
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" />}
|
|
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}
|
|
86
|
+
</div>
|
|
87
|
+
</div>
|
|
88
|
+
</div>
|
|
89
|
+
) : ''
|
|
90
|
+
}
|
|
91
|
+
{ channel && (channel.toLowerCase() === 'mobilepush') &&
|
|
92
|
+
(<div className="shell align-center" id="mobilepush-preview">
|
|
93
|
+
<img className="preview-image" src={this.props.device === "android" ? androidPushMessagePhone : iPhonePushMessagePhone} alt="Preview is being generated"/>
|
|
94
|
+
{(!!content.header || !!content.bodyText || !!content.bodyImage) &&
|
|
95
|
+
<div className={`${this.props.device}-push-message-Container`}>
|
|
96
|
+
{this.props.device === "android" ?
|
|
97
|
+
<div className="message-pop align-left">
|
|
98
|
+
<div className="app-name">
|
|
99
|
+
<span className="app-icon"></span> {content.appName ? content.appName : "App name"}
|
|
100
|
+
</div>
|
|
101
|
+
<div className="title">
|
|
102
|
+
{content.header}
|
|
103
|
+
</div>
|
|
104
|
+
<div className="body-text">
|
|
105
|
+
{content.bodyText}
|
|
106
|
+
</div>
|
|
107
|
+
{content.bodyImage && <div className="body-image">
|
|
108
|
+
<img src={content.bodyImage} alt={content.bodyText} />
|
|
109
|
+
</div>}
|
|
110
|
+
{content.actions.filter((action) => action.label).length &&
|
|
111
|
+
<div className="actions">
|
|
112
|
+
{_.map(content.actions, (action) => !!action.label &&
|
|
113
|
+
<span className="action" key={`action-${action.label}`}>{action.label && action.label.toUpperCase()}</span>)}
|
|
114
|
+
</div>
|
|
115
|
+
}
|
|
116
|
+
</div>
|
|
117
|
+
:
|
|
118
|
+
<div className="message-pop align-left">
|
|
119
|
+
<div className="app-name">
|
|
120
|
+
<span className="app-icon"></span>{content.appName ? content.appName : "App name"} <i className="material-icons">close</i>
|
|
121
|
+
</div>
|
|
122
|
+
{content.bodyImage && <div className="body-image">
|
|
123
|
+
<img src={content.bodyImage} alt={content.bodyText}/>
|
|
124
|
+
</div>}
|
|
125
|
+
<div className="title">
|
|
126
|
+
{content.header}
|
|
127
|
+
</div>
|
|
128
|
+
<div className="body-text">
|
|
129
|
+
{content.bodyText}
|
|
130
|
+
</div>
|
|
131
|
+
{content.actions.filter((action) => action.label).length && iosActions}
|
|
132
|
+
</div>
|
|
133
|
+
}
|
|
134
|
+
</div>
|
|
135
|
+
}
|
|
136
|
+
</div>
|
|
137
|
+
)
|
|
138
|
+
}
|
|
139
|
+
{
|
|
140
|
+
channel && channel.toLowerCase() === 'line' ? (
|
|
141
|
+
<div className="shell align-center" id="sms-preview">
|
|
142
|
+
<img className="preview-image" src={wechatBody} alt="Preview is being generated"/>
|
|
143
|
+
<div className="msgContainer">
|
|
144
|
+
<div className="sms-icon" style={{ width: '25px', height: '25px', background: '#2E89DF' }}></div>
|
|
145
|
+
<div className="message-pop align-left" style={{ background: '#ffffff', color: '#333333' }}>
|
|
146
|
+
{ (content && content.bodyImage) ? <img src={content.bodyImage} alt="ddd" style={{maxWidth: '100%'}}/> : '' }
|
|
147
|
+
{ (content && content.bodyText) ? content.bodyText : ''}
|
|
148
|
+
</div>
|
|
149
|
+
</div>
|
|
150
|
+
{ (content && content.bodyText) ? <p style={{fontSize: 16, fontWeight: "bold"}}>Chars Count: {content.bodyText.length} / (1600)</p> : '' }
|
|
151
|
+
</div>
|
|
152
|
+
) : ''
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
</div>
|
|
156
|
+
|
|
157
|
+
</CapColumn>
|
|
158
|
+
</CapRow>
|
|
159
|
+
);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
TemplatePreview.propTypes = {
|
|
163
|
+
content: PropTypes.oneOfType([
|
|
164
|
+
PropTypes.object,
|
|
165
|
+
PropTypes.string,
|
|
166
|
+
]),
|
|
167
|
+
channel: PropTypes.string,
|
|
168
|
+
charCounterEnabled: PropTypes.bool,
|
|
169
|
+
location: PropTypes.object,
|
|
170
|
+
device: PropTypes.string,
|
|
171
|
+
unicodeEnabled: PropTypes.bool,
|
|
172
|
+
showCount: PropTypes.bool,
|
|
173
|
+
};
|
|
174
|
+
|
|
175
|
+
export default (injectIntl(TemplatePreview));
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* TemplatePreview Messages
|
|
3
|
+
*
|
|
4
|
+
* This contains all the text for the TemplatePreview component.
|
|
5
|
+
*/
|
|
6
|
+
import { defineMessages } from 'react-intl';
|
|
7
|
+
|
|
8
|
+
export default defineMessages({
|
|
9
|
+
previewGenerationMessage: {
|
|
10
|
+
id: 'app.components.TemplatePreview.previewGenerationMessage',
|
|
11
|
+
defaultMessage: "Preview is being generated",
|
|
12
|
+
},
|
|
13
|
+
sms: {
|
|
14
|
+
id: 'app.components.TemplatePreview.sms',
|
|
15
|
+
defaultMessage: "SMS",
|
|
16
|
+
},
|
|
17
|
+
charactersPerSms: {
|
|
18
|
+
id: 'app.components.TemplatePreview.charactersPerSms',
|
|
19
|
+
defaultMessage: "SMS Chars",
|
|
20
|
+
},
|
|
21
|
+
charactersTotal: {
|
|
22
|
+
id: 'app.components.TemplatePreview.charactersTotal',
|
|
23
|
+
defaultMessage: "{smsCount} SMS ({charCount} characters)",
|
|
24
|
+
},
|
|
25
|
+
smsFormatType: {
|
|
26
|
+
id: 'app.components.TemplatePreview.smsFormatType',
|
|
27
|
+
defaultMessage: 'Message has unicode characters',
|
|
28
|
+
},
|
|
29
|
+
lastModified: {
|
|
30
|
+
id: 'app.components.PreviewSideBar.lastModified',
|
|
31
|
+
defaultMessage: 'Last Modified On',
|
|
32
|
+
},
|
|
33
|
+
uploadedBy: {
|
|
34
|
+
id: 'app.components.PreviewSideBar.uploadedBy',
|
|
35
|
+
defaultMessage: 'Last Modified By',
|
|
36
|
+
},
|
|
37
|
+
});
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import PropTypes from 'prop-types';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import styled from 'styled-components';
|
|
4
|
+
import { messagePositionConfig } from '../../config/toastr';
|
|
5
|
+
import ToastrMessage from '../ToastrMessage';
|
|
6
|
+
|
|
7
|
+
// import { FormattedMessage } from 'react-intl';
|
|
8
|
+
// import messages from './messages';
|
|
9
|
+
|
|
10
|
+
const StyledMessageContainer = styled.div`
|
|
11
|
+
position: fixed;
|
|
12
|
+
width: 320px;
|
|
13
|
+
transition: all .2s ease-out;
|
|
14
|
+
font-family: open-sans,sans-serif;
|
|
15
|
+
margin-top: 64px;
|
|
16
|
+
margin-right: 32px;
|
|
17
|
+
z-index: 10005;
|
|
18
|
+
`;
|
|
19
|
+
|
|
20
|
+
class Toastr extends React.Component { // eslint-disable-line react/prefer-stateless-function
|
|
21
|
+
constructor(prop) {
|
|
22
|
+
super(prop);
|
|
23
|
+
this.state = {
|
|
24
|
+
percentCompleted: 0,
|
|
25
|
+
percCompleted: {},
|
|
26
|
+
};
|
|
27
|
+
this.percCompleted = 0;
|
|
28
|
+
this.currentTime = 0;
|
|
29
|
+
this.closeMessagePopup = this.closeMessagePopup.bind(this);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
closeMessagePopup(messageIndex) {
|
|
33
|
+
this.props.handleRemoveMessage(messageIndex);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
render() {
|
|
37
|
+
return (
|
|
38
|
+
<StyledMessageContainer style={{ ...messagePositionConfig[this.props.position] }}>
|
|
39
|
+
{this.props.messagesList.map((message) => {
|
|
40
|
+
console.log('Messages', message);
|
|
41
|
+
return <ToastrMessage key={message.messageId} timeout={this.props.timeout} messageId={message.messageId} title={message.title} text={message.text} type={message.type} handleMessageClose={this.closeMessagePopup} hideProgressBar={message.hideProgressBar} />;
|
|
42
|
+
})}
|
|
43
|
+
</StyledMessageContainer>
|
|
44
|
+
);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
Toastr.propTypes = {
|
|
49
|
+
messagesList: PropTypes.array.isRequired,
|
|
50
|
+
timeout: PropTypes.oneOfType([PropTypes.number, PropTypes.bool]),
|
|
51
|
+
position: PropTypes.string,
|
|
52
|
+
handleRemoveMessage: PropTypes.func,
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
Toastr.defaultProps = {
|
|
56
|
+
type: 'info',
|
|
57
|
+
timeout: '4',
|
|
58
|
+
position: 'bottom right',
|
|
59
|
+
};
|
|
60
|
+
export default Toastr;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Toastr Messages
|
|
3
|
+
*
|
|
4
|
+
* This contains all the text for the Toastr component.
|
|
5
|
+
*/
|
|
6
|
+
import { defineMessages } from 'react-intl';
|
|
7
|
+
|
|
8
|
+
export default defineMessages({
|
|
9
|
+
header: {
|
|
10
|
+
id: 'app.components.Toastr.header',
|
|
11
|
+
defaultMessage: 'This is the Toastr component !',
|
|
12
|
+
},
|
|
13
|
+
});
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
*
|
|
3
|
+
* ToastrMessage
|
|
4
|
+
*
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import PropTypes from 'prop-types';
|
|
8
|
+
|
|
9
|
+
import React from 'react';
|
|
10
|
+
import { Progress } from 'semantic-ui-react';
|
|
11
|
+
import styled from 'styled-components';
|
|
12
|
+
import { messageTypeConfig } from '../../config/toastr';
|
|
13
|
+
|
|
14
|
+
const StyledMessageWrapper = styled.div`
|
|
15
|
+
background: #f9f9fa;
|
|
16
|
+
transition: all .2s fade-out;
|
|
17
|
+
-webkit-box-shadow: 2px 2px 10px -1px rgba(0,0,0,0.39);
|
|
18
|
+
-moz-box-shadow: 2px 2px 10px -1px rgba(0,0,0,0.39);
|
|
19
|
+
box-shadow: 2px 2px 10px -1px rgba(0,0,0,0.39);
|
|
20
|
+
border-radius: 5px;
|
|
21
|
+
`;
|
|
22
|
+
const StyleIcon = styled.i`
|
|
23
|
+
float: right;
|
|
24
|
+
cursor: pointer;
|
|
25
|
+
fontSize: 16px;
|
|
26
|
+
`;
|
|
27
|
+
const MessageContent = styled.div`
|
|
28
|
+
padding-left: 14px;
|
|
29
|
+
`;
|
|
30
|
+
|
|
31
|
+
const MessageHeader = styled.div`
|
|
32
|
+
padding-left: 14px;
|
|
33
|
+
font-weight: bold;
|
|
34
|
+
font-family: proxima-nova,sans-serif;
|
|
35
|
+
`;
|
|
36
|
+
|
|
37
|
+
const StyledMessageType = styled.div `
|
|
38
|
+
position: absolute;
|
|
39
|
+
width: 10px;
|
|
40
|
+
height: 100%;
|
|
41
|
+
border-top-left-radius: 5px;
|
|
42
|
+
border-bottom-left-radius: 5px;
|
|
43
|
+
`;
|
|
44
|
+
|
|
45
|
+
class ToastrMessage extends React.Component { // eslint-disable-line react/prefer-stateless-function
|
|
46
|
+
constructor(prop) {
|
|
47
|
+
super(prop);
|
|
48
|
+
this.state = { percent: 0 };
|
|
49
|
+
this.intervalId = null;
|
|
50
|
+
this.closeMessagePopup = this.closeMessagePopup.bind(this);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
componentDidMount() {
|
|
54
|
+
const distance = 100 / ((this.props.timeout - 500) / 100);
|
|
55
|
+
if (this.props.timeout && this.props.timeout > 500) {
|
|
56
|
+
this.intervalId = setInterval(() => {
|
|
57
|
+
const percent = this.state.percent + distance;
|
|
58
|
+
this.setState({ percent: percent < 100 ? percent : 100 });
|
|
59
|
+
}, 100);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
componentDidUpdate() {
|
|
64
|
+
if (this.state.percent >= 100 && this.intervalId) {
|
|
65
|
+
this.props.handleMessageClose(this.props.messageId);
|
|
66
|
+
clearTimeout(this.intervalId);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
componentWillUnmount() {
|
|
71
|
+
if (this.intervalId) {
|
|
72
|
+
clearTimeout(this.intervalId);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
closeMessagePopup(messageIndex) {
|
|
77
|
+
this.props.handleMessageClose(messageIndex);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
render() {
|
|
82
|
+
return (
|
|
83
|
+
<StyledMessageWrapper key={this.props.messageId}>
|
|
84
|
+
<StyledMessageType style={{ ...messageTypeConfig[this.props.type] }} />
|
|
85
|
+
<div style={{ padding: `${16}px` }}>
|
|
86
|
+
<MessageHeader>
|
|
87
|
+
{ this.props.title ? <span style={{ fontSize: `${20}px` }}>{this.props.title}</span> : '' }
|
|
88
|
+
<StyleIcon className="material-icons" onClick={() => this.closeMessagePopup(this.props.messageId)}>close</StyleIcon>
|
|
89
|
+
</MessageHeader>
|
|
90
|
+
<MessageContent>
|
|
91
|
+
{this.props.text}
|
|
92
|
+
</MessageContent>
|
|
93
|
+
</div>
|
|
94
|
+
{(this.props.timeout > 0 && !this.props.hideProgressBar) ? <Progress style={{ transition: `${0.4}s linear` }} percent={this.state.percent} attached="bottom" /> : ''}
|
|
95
|
+
</StyledMessageWrapper>
|
|
96
|
+
);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
ToastrMessage.propTypes = {
|
|
101
|
+
messageId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
|
|
102
|
+
timeout: PropTypes.oneOfType([PropTypes.number, PropTypes.bool]),
|
|
103
|
+
title: PropTypes.string,
|
|
104
|
+
text: PropTypes.string,
|
|
105
|
+
type: PropTypes.string,
|
|
106
|
+
handleMessageClose: PropTypes.func,
|
|
107
|
+
hideProgressBar: PropTypes.bool,
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
export default ToastrMessage;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* ToastrMessage Messages
|
|
3
|
+
*
|
|
4
|
+
* This contains all the text for the ToastrMessage component.
|
|
5
|
+
*/
|
|
6
|
+
import { defineMessages } from 'react-intl';
|
|
7
|
+
|
|
8
|
+
export default defineMessages({
|
|
9
|
+
header: {
|
|
10
|
+
id: 'app.components.ToastrMessage.header',
|
|
11
|
+
defaultMessage: 'This is the ToastrMessage component !',
|
|
12
|
+
},
|
|
13
|
+
});
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// import React from 'react';
|
|
2
|
+
// import { shallow } from 'enzyme';
|
|
3
|
+
|
|
4
|
+
// import ToastrMessage from '../index';
|
|
5
|
+
|
|
6
|
+
// describe('<ToastrMessage />', () => {
|
|
7
|
+
// it('Expect to have unit tests specified', () => {
|
|
8
|
+
// expect(true).toEqual(false);
|
|
9
|
+
// });
|
|
10
|
+
// });
|
|
@@ -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
|
+
}
|
|
Binary file
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import PropTypes from 'prop-types';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
// import styled from 'styled-components';
|
|
4
|
+
|
|
5
|
+
import { Menu, Image, Dropdown, Popup } from 'semantic-ui-react';
|
|
6
|
+
import { FormattedMessage } from 'react-intl';
|
|
7
|
+
import { Link } from 'react-router';
|
|
8
|
+
|
|
9
|
+
import { loadItem } from 'services/localStorageApi';
|
|
10
|
+
import messages from './messages';
|
|
11
|
+
import './_topbar.scss';
|
|
12
|
+
|
|
13
|
+
const logo = require('./assets/images/capillary_logo.png');
|
|
14
|
+
|
|
15
|
+
class TopBar extends React.Component { // eslint-disable-line react/prefer-stateless-function
|
|
16
|
+
constructor(props) {
|
|
17
|
+
super(props);
|
|
18
|
+
this.state = {
|
|
19
|
+
activeItem: '',
|
|
20
|
+
orgList: [],
|
|
21
|
+
selectedOrg: loadItem('orgID'),
|
|
22
|
+
};
|
|
23
|
+
this.handleItemClick = this.handleItemClick.bind(this);
|
|
24
|
+
this.logout = this.logout.bind(this);
|
|
25
|
+
this.handleOrgChange = this.handleOrgChange.bind(this);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
componentDidUpdate(prevProps) {
|
|
29
|
+
if (prevProps.orgID !== this.props.orgID) {
|
|
30
|
+
this.props.navigateToDashboard();
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
handleOrgChange(data) {
|
|
35
|
+
const orgId = data.value;
|
|
36
|
+
if (this.state.selectedOrg !== orgId) {
|
|
37
|
+
this.props.changeOrg(orgId);
|
|
38
|
+
this.setState({ selectedOrg: orgId });
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
handleItemClick(e) {
|
|
43
|
+
this.setState({ activeItem: e.target.id });
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
logout(e) {
|
|
47
|
+
e.preventDefault();
|
|
48
|
+
this.props.logout();
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
render() {
|
|
52
|
+
const proxyOrgList = this.props.proxyOrgList;
|
|
53
|
+
const defaultOrgName = this.props.orgName;
|
|
54
|
+
const selectedOrg = loadItem('orgID');
|
|
55
|
+
return (
|
|
56
|
+
<Menu className="navbar" key="navbar">
|
|
57
|
+
|
|
58
|
+
<Menu.Item key="logo" as={Link} to="/" name="logo" className="logo-container" onClick={this.handleItemClick}>
|
|
59
|
+
<Image className="logo" src={logo} alt="Capillary Technologies" />
|
|
60
|
+
</Menu.Item>
|
|
61
|
+
|
|
62
|
+
{ proxyOrgList.length > 1 ?
|
|
63
|
+
<Menu.Item className="dropdownItem" key="orgSelection">
|
|
64
|
+
<FormattedMessage {...messages.dropdownMessage}>
|
|
65
|
+
{(message) => <Dropdown
|
|
66
|
+
placeholder={message}
|
|
67
|
+
className="org-list-drp-dwn"
|
|
68
|
+
defaultValue={selectedOrg}
|
|
69
|
+
search
|
|
70
|
+
options={proxyOrgList}
|
|
71
|
+
selection
|
|
72
|
+
onChange={(event, data) => this.handleOrgChange(data)}
|
|
73
|
+
/>}
|
|
74
|
+
</FormattedMessage>
|
|
75
|
+
</Menu.Item> :
|
|
76
|
+
<Menu.Item key="default-org">
|
|
77
|
+
{defaultOrgName}
|
|
78
|
+
</Menu.Item>
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
<Menu.Menu position="right">
|
|
82
|
+
<Menu.Item key="first-name">
|
|
83
|
+
<FormattedMessage {...messages.hi} /> {this.props.userName}!
|
|
84
|
+
</Menu.Item>
|
|
85
|
+
<Menu.Item key="user-details">
|
|
86
|
+
<Popup
|
|
87
|
+
trigger={<i className="material-icons">person</i>}
|
|
88
|
+
content={< div className="ui secondary vertical menu">
|
|
89
|
+
<a href="" className="item hide"><FormattedMessage {...messages.profile} /><i className="user icon" /></a>
|
|
90
|
+
<a href="" className="item hide"><FormattedMessage {...messages.settings} /> <i className="settings icon" /></a>
|
|
91
|
+
<a href="" className="item" onClick={this.logout}><FormattedMessage {...messages.logout} />
|
|
92
|
+
<i className="sign out icon" /></a> </div >}
|
|
93
|
+
on="click" position="bottom right" offset={7}
|
|
94
|
+
/>
|
|
95
|
+
</Menu.Item>
|
|
96
|
+
</Menu.Menu>
|
|
97
|
+
</Menu>
|
|
98
|
+
|
|
99
|
+
);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
TopBar.propTypes = {
|
|
104
|
+
userName: PropTypes.string,
|
|
105
|
+
proxyOrgList: PropTypes.array,
|
|
106
|
+
orgName: PropTypes.string,
|
|
107
|
+
orgID: PropTypes.number,
|
|
108
|
+
navigateToDashboard: PropTypes.func,
|
|
109
|
+
changeOrg: PropTypes.func,
|
|
110
|
+
logout: PropTypes.func,
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
export default TopBar;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* TopBar Messages
|
|
3
|
+
*
|
|
4
|
+
* This contains all the text for the TopBar component.
|
|
5
|
+
*/
|
|
6
|
+
import { defineMessages } from 'react-intl';
|
|
7
|
+
|
|
8
|
+
export default defineMessages({
|
|
9
|
+
profile: {
|
|
10
|
+
id: 'reon.components.TopBar.profile',
|
|
11
|
+
defaultMessage: 'Profile',
|
|
12
|
+
},
|
|
13
|
+
settings: {
|
|
14
|
+
id: 'reon.components.TopBar.settings',
|
|
15
|
+
defaultMessage: 'Settings',
|
|
16
|
+
},
|
|
17
|
+
logout: {
|
|
18
|
+
id: 'reon.components.TopBar.logout',
|
|
19
|
+
defaultMessage: 'Logout',
|
|
20
|
+
},
|
|
21
|
+
dropdownMessage: {
|
|
22
|
+
id: 'reon.components.TopBar.brand.dropdown',
|
|
23
|
+
defaultMessage: 'Select Brand',
|
|
24
|
+
},
|
|
25
|
+
hi: {
|
|
26
|
+
id: 'app.components.TopBar.brand.dropdown',
|
|
27
|
+
defaultMessage: 'Hi',
|
|
28
|
+
},
|
|
29
|
+
});
|
|
@@ -22,7 +22,7 @@ import { UserIsAuthenticated } from '../../../utils/authWrapper';
|
|
|
22
22
|
import * as globalActions from '../../Cap/actions';
|
|
23
23
|
import {getMessageObject} from '../../../utils/messageUtils';
|
|
24
24
|
import * as commonUtil from '../../../utils/common';
|
|
25
|
-
import Pagination from '../../../
|
|
25
|
+
import Pagination from '../../../v2Components/Pagination';
|
|
26
26
|
|
|
27
27
|
import './_gallery.scss';
|
|
28
28
|
const {CapCustomCardList} = CapCustomCard;
|
|
@@ -20,7 +20,7 @@ import { makeSelectMetaEntities, isLoadingMetaEntities } from '../Cap/selectors'
|
|
|
20
20
|
import * as globalActions from '../../containers/Cap/actions';
|
|
21
21
|
import * as actions from "./actions";
|
|
22
22
|
import makeSelectCallTask from './selectors';
|
|
23
|
-
import NewCallTask from '../../
|
|
23
|
+
import NewCallTask from '../../v2Components/NewCallTask';
|
|
24
24
|
import messages from './messages';
|
|
25
25
|
import './_callTask.scss';
|
|
26
26
|
|