@capillarytech/creatives-library 6.15.2 → 6.16.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/app.js +1 -1
- package/package.json +1 -1
- package/v2Components/TemplatePreview/WechatRichmediaTemplatePreview/_wechatRichmediaTemplatePrev.scss +151 -151
- package/v2Components/TemplatePreview/WechatRichmediaTemplatePreview/messages.js +33 -33
- package/v2Components/TemplatePreview/WechatRichmediaTemplatePreview/tests/index.test.js +10 -10
- package/v2Components/TemplatePreview/assets/images/androidPushMessage.svg +44 -44
- package/v2Components/TemplatePreview/assets/images/home-screen-android.svg +21 -21
- package/v2Components/TemplatePreview/assets/images/home-screen-ios.svg +16 -16
- package/v2Components/TemplatePreview/assets/images/iPhonePushMessage.svg +134 -134
- package/v2Components/TemplatePreview/assets/images/mobile.svg +23 -23
- package/v2Components/TemplatePreview/assets/images/sms_mobile_android.svg +22 -22
- package/v2Components/TemplatePreview/assets/images/user-icon.svg +18 -18
- package/v2Components/TemplatePreview/assets/images/wechat-home-screen-android.svg +21 -21
- package/v2Components/TemplatePreview/assets/images/wechat-mobile.svg +77 -77
- package/v2Components/TemplatePreview/assets/images/wechat_mobile_android.svg +20 -20
- package/v2Components/TemplatePreview/tests/index.test.js +10 -10
- package/v2Containers/CreativesContainer/actions.js +27 -27
- package/v2Containers/CreativesContainer/index.scss +44 -44
- package/v2Containers/CreativesContainer/messages.js +305 -305
- package/v2Containers/CreativesContainer/reducer.js +29 -29
- package/v2Containers/CreativesContainer/sagas.js +11 -11
- package/v2Containers/CreativesContainer/selectors.js +30 -30
- package/v2Containers/CreativesContainer/tests/actions.test.js +18 -18
- package/v2Containers/CreativesContainer/tests/index.test.js +10 -10
- package/v2Containers/CreativesContainer/tests/reducer.test.js +9 -9
- package/v2Containers/CreativesContainer/tests/sagas.test.js +15 -15
- package/v2Containers/CreativesContainer/tests/selectors.test.js +10 -10
- package/v2Containers/Email/index.js +1 -1
- package/v2Containers/FTP/_FTP.scss +103 -0
- package/v2Containers/FTP/actions.js +7 -0
- package/v2Containers/FTP/constants.js +3 -0
- package/v2Containers/FTP/index.js +509 -0
- package/v2Containers/FTP/messages.js +60 -0
- package/v2Containers/FTP/reducer.js +32 -0
- package/v2Containers/FTP/sagas.js +26 -0
- package/v2Containers/FTP/selectors.js +20 -0
- package/v2Containers/FTP/temp.js +11838 -0
- package/v2Containers/Templates/tests/actions.test.js +18 -18
- package/v2Containers/Templates/tests/index.test.js +10 -10
- package/v2Containers/Templates/tests/reducer.test.js +9 -9
- package/v2Containers/Templates/tests/sagas.test.js +15 -15
- package/v2Containers/Templates/tests/selectors.test.js +10 -10
- package/v2Containers/TemplatesV2/TemplatesV2.style.js +29 -29
- package/v2Containers/TemplatesV2/actions.js +16 -16
- package/v2Containers/TemplatesV2/constants.js +10 -10
- package/v2Containers/TemplatesV2/selectors.js +25 -25
- package/v2Containers/TemplatesV2/tests/actions.test.js +18 -18
- package/v2Containers/TemplatesV2/tests/index.test.js +10 -10
- package/v2Containers/TemplatesV2/tests/reducer.test.js +9 -9
- package/v2Containers/TemplatesV2/tests/sagas.test.js +15 -15
- package/v2Containers/TemplatesV2/tests/selectors.test.js +10 -10
- package/v2Components/BeeEditor/index.js +0 -263
- package/v2Components/BeeEditor/index.scss +0 -11
- package/v2Components/BeeEditor/messages.js +0 -71
- package/v2Components/BeeEditor/tests/index.test.js +0 -10
- package/v2Containers/Line/Create/_lineCreate.scss +0 -64
- package/v2Containers/Line/Create/actions.js +0 -94
- package/v2Containers/Line/Create/constants.js +0 -43
- package/v2Containers/Line/Create/index.js +0 -1132
- package/v2Containers/Line/Create/initialSchema.js +0 -378
- package/v2Containers/Line/Create/messages.js +0 -229
- package/v2Containers/Line/Create/reducer.js +0 -99
- package/v2Containers/Line/Create/sagas.js +0 -113
- package/v2Containers/Line/Create/selectors.js +0 -30
- package/v2Containers/Line/CreateWrapper/constants.js +0 -2
- package/v2Containers/Line/CreateWrapper/index.js +0 -117
- package/v2Containers/Line/CreateWrapper/messages.js +0 -55
- package/v2Containers/Line/Edit/_lineEdit.scss +0 -23
- package/v2Containers/Line/Edit/actions.js +0 -79
- package/v2Containers/Line/Edit/constants.js +0 -27
- package/v2Containers/Line/Edit/index.js +0 -1051
- package/v2Containers/Line/Edit/messages.js +0 -173
- package/v2Containers/Line/Edit/reducer.js +0 -83
- package/v2Containers/Line/Edit/sagas.js +0 -81
- package/v2Containers/Line/Edit/selectors.js +0 -29
- package/v2Containers/Line/Edit/tests/actions.test.js +0 -18
- package/v2Containers/Line/Edit/tests/index.test.js +0 -10
- package/v2Containers/Line/Edit/tests/reducer.test.js +0 -9
- package/v2Containers/Line/Edit/tests/sagas.test.js +0 -15
- package/v2Containers/Line/Edit/tests/selectors.test.js +0 -10
|
@@ -1,263 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
*
|
|
3
|
-
* Beeeditor
|
|
4
|
-
*
|
|
5
|
-
*/
|
|
6
|
-
import React, { useEffect, useState, useRef, useCallback } from 'react';
|
|
7
|
-
import PropTypes from 'prop-types';
|
|
8
|
-
import { injectIntl, intlShape, FormattedMessage } from 'react-intl';
|
|
9
|
-
import TagList from '../../v2Containers/TagList';
|
|
10
|
-
import
|
|
11
|
-
{
|
|
12
|
-
CapModal,
|
|
13
|
-
CapButton,
|
|
14
|
-
CapInput,
|
|
15
|
-
CapSelect,
|
|
16
|
-
}
|
|
17
|
-
from '@capillarytech/cap-ui-library';
|
|
18
|
-
import messages from './messages';
|
|
19
|
-
import './index.scss';
|
|
20
|
-
|
|
21
|
-
function BeeEditor(props) {
|
|
22
|
-
const {
|
|
23
|
-
uid,
|
|
24
|
-
beeJson,
|
|
25
|
-
tokenData,
|
|
26
|
-
id,
|
|
27
|
-
location = {},
|
|
28
|
-
moduleFilterEnabled,
|
|
29
|
-
label,
|
|
30
|
-
className,
|
|
31
|
-
userLocale,
|
|
32
|
-
selectedOfferDetails,
|
|
33
|
-
tags,
|
|
34
|
-
injectedTags,
|
|
35
|
-
saveBeeInstance,
|
|
36
|
-
saveBeeData,
|
|
37
|
-
intl,
|
|
38
|
-
onContextChange,
|
|
39
|
-
} = props;
|
|
40
|
-
const {formatMessage} = intl;
|
|
41
|
-
const UNSUBSCRIBE = 'unsubscribe';
|
|
42
|
-
let beePluginInstance = null;
|
|
43
|
-
const categoryOptions = [{key: 'cta', value: 'cta', label: formatMessage(messages.cta)},
|
|
44
|
-
{key: 'footer', value: 'footer', label: formatMessage(messages.footer)},
|
|
45
|
-
{key: 'header', value: 'header', label: formatMessage(messages.header)},
|
|
46
|
-
{key: 'sp', value: 'sp', label: formatMessage(messages.socialPlatform)},
|
|
47
|
-
{key: 'others', value: 'others', label: formatMessage(messages.others)},
|
|
48
|
-
];
|
|
49
|
-
const [visibleTaglist, setVisibleTaglist] = useState(false);
|
|
50
|
-
const [showRowMetaModal, setRowMetaModal] = useState(false);
|
|
51
|
-
const [selectedTag, setSelectedTag] = useState({});
|
|
52
|
-
const [rowMetaInfo, setRowMetaInfo] = useState({});
|
|
53
|
-
const [rowName, setRowName] = useState('');
|
|
54
|
-
const [rowCategory, setRowCategory] = useState('');
|
|
55
|
-
|
|
56
|
-
const savedCallback = useRef();
|
|
57
|
-
const filteredTags = (tags || []).filter((obj) => obj.definition.value !== UNSUBSCRIBE);
|
|
58
|
-
let intervalTimer;
|
|
59
|
-
|
|
60
|
-
useEffect(() => {
|
|
61
|
-
savedCallback.current = Object.keys(selectedTag).length > 0 ? selectedTag : rowMetaInfo;
|
|
62
|
-
}, [selectedTag, rowMetaInfo]);
|
|
63
|
-
|
|
64
|
-
useEffect(() => {
|
|
65
|
-
const beeConfig = {
|
|
66
|
-
uid,
|
|
67
|
-
container: 'bee-plugin-container',
|
|
68
|
-
rowsConfiguration: {
|
|
69
|
-
emptyRows: true,
|
|
70
|
-
defaultRows: true,
|
|
71
|
-
},
|
|
72
|
-
contentDialog: {
|
|
73
|
-
specialLinks: {
|
|
74
|
-
label: UNSUBSCRIBE,
|
|
75
|
-
handler(resolve) {
|
|
76
|
-
resolve({
|
|
77
|
-
type: 'custom',
|
|
78
|
-
label: UNSUBSCRIBE,
|
|
79
|
-
link: `{{${UNSUBSCRIBE}}}`,
|
|
80
|
-
});
|
|
81
|
-
},
|
|
82
|
-
},
|
|
83
|
-
mergeTags: {
|
|
84
|
-
label: formatMessage(messages.addLabel),
|
|
85
|
-
handler: async (resolve, reject) => {
|
|
86
|
-
// this will open tag modal
|
|
87
|
-
await setVisibleTaglist(true);
|
|
88
|
-
// until tag modal will not open promise will not execute
|
|
89
|
-
// once tag modal is opened it will start 2 sec interval to wait use has selected any tag or cancel the tag selection
|
|
90
|
-
const promise = new Promise((resolveP) => {
|
|
91
|
-
intervalTimer = setInterval(() => {
|
|
92
|
-
// this will execute, if user cancel the tag selection
|
|
93
|
-
if ((savedCallback.current || {}).close === true) {
|
|
94
|
-
reject();
|
|
95
|
-
clearInterval(intervalTimer);
|
|
96
|
-
return;
|
|
97
|
-
}
|
|
98
|
-
// this block is checking use has selected any tag or not
|
|
99
|
-
if (Object.keys(savedCallback.current || {}).length > 0) {
|
|
100
|
-
resolveP(savedCallback.current);
|
|
101
|
-
setSelectedTag({});
|
|
102
|
-
clearInterval(intervalTimer);
|
|
103
|
-
}
|
|
104
|
-
}, 2000);
|
|
105
|
-
});
|
|
106
|
-
// once prmise will resolve , pass the resolve data to handler to show tags in bee edior
|
|
107
|
-
const result = await promise;
|
|
108
|
-
resolve(result);
|
|
109
|
-
},
|
|
110
|
-
},
|
|
111
|
-
saveRow: {
|
|
112
|
-
handler: async (resolve, reject) => {
|
|
113
|
-
await setRowMetaModal(true);
|
|
114
|
-
const promise = new Promise((resolveP) => {
|
|
115
|
-
intervalTimer = setInterval(() => {
|
|
116
|
-
if ((savedCallback.current || {}).close === true) {
|
|
117
|
-
reject();
|
|
118
|
-
clearInterval(intervalTimer);
|
|
119
|
-
setRowMetaInfo({});
|
|
120
|
-
setRowName('');
|
|
121
|
-
setRowCategory('');
|
|
122
|
-
return;
|
|
123
|
-
}
|
|
124
|
-
if (Object.keys(savedCallback.current || {}).length > 0) {
|
|
125
|
-
resolveP(savedCallback.current);
|
|
126
|
-
}
|
|
127
|
-
}, 2000);
|
|
128
|
-
});
|
|
129
|
-
const result = await promise;
|
|
130
|
-
resolve(result); // "done!"
|
|
131
|
-
setRowMetaInfo({});
|
|
132
|
-
setRowName('');
|
|
133
|
-
setRowCategory('');
|
|
134
|
-
clearInterval(intervalTimer);
|
|
135
|
-
},
|
|
136
|
-
},
|
|
137
|
-
},
|
|
138
|
-
onSave: (jsonFile, htmlFile) => {
|
|
139
|
-
saveBeeData(jsonFile, htmlFile);
|
|
140
|
-
},
|
|
141
|
-
// will use this function on save row feature
|
|
142
|
-
onSaveRow: (rowJSON) => {
|
|
143
|
-
console.log('bee-plugin-container onSaveRows', rowJSON);
|
|
144
|
-
},
|
|
145
|
-
};
|
|
146
|
-
window.BeePlugin.create(tokenData, beeConfig, (instance) => {
|
|
147
|
-
beePluginInstance = instance;
|
|
148
|
-
const parseJson = JSON.parse(beeJson);
|
|
149
|
-
beePluginInstance.start(parseJson);
|
|
150
|
-
saveBeeInstance(beePluginInstance);
|
|
151
|
-
});
|
|
152
|
-
return () => clearInterval(intervalTimer);
|
|
153
|
-
}, []);
|
|
154
|
-
|
|
155
|
-
const onTagSelect = (result) => {
|
|
156
|
-
const msg = {
|
|
157
|
-
name: result,
|
|
158
|
-
value: `{{${result}}}`,
|
|
159
|
-
};
|
|
160
|
-
setSelectedTag(msg);
|
|
161
|
-
setVisibleTaglist(false);
|
|
162
|
-
};
|
|
163
|
-
|
|
164
|
-
const onCancelTagList = () => {
|
|
165
|
-
setVisibleTaglist(false);
|
|
166
|
-
setSelectedTag({close: true});
|
|
167
|
-
};
|
|
168
|
-
|
|
169
|
-
const handleCancel = () => {
|
|
170
|
-
setRowMetaModal(false);
|
|
171
|
-
setRowMetaInfo({close: true});
|
|
172
|
-
};
|
|
173
|
-
|
|
174
|
-
const handleOk = () => {
|
|
175
|
-
const rowInfo = {};
|
|
176
|
-
if (rowCategory !== '') {
|
|
177
|
-
rowInfo.category = rowCategory;
|
|
178
|
-
}
|
|
179
|
-
setRowMetaInfo({
|
|
180
|
-
name: rowName,
|
|
181
|
-
...rowInfo,
|
|
182
|
-
});
|
|
183
|
-
setRowMetaModal(false);
|
|
184
|
-
};
|
|
185
|
-
const isDisableSave = () => rowName === '';
|
|
186
|
-
|
|
187
|
-
const onRowChange = useCallback((e) => {
|
|
188
|
-
setRowName(e.target.value);
|
|
189
|
-
});
|
|
190
|
-
const onChangeCategoy = (e) => {
|
|
191
|
-
setRowCategory(e);
|
|
192
|
-
};
|
|
193
|
-
const contentSection = <>
|
|
194
|
-
<CapInput
|
|
195
|
-
label={<FormattedMessage {...messages.rowName} />}
|
|
196
|
-
placeholder={formatMessage(messages.rowPlaceHolder)}
|
|
197
|
-
onChange={onRowChange}
|
|
198
|
-
value={rowName}
|
|
199
|
-
maxLength={50}
|
|
200
|
-
style={{ width: '324px', paddingBottom: '16px' }}
|
|
201
|
-
/>
|
|
202
|
-
<CapSelect
|
|
203
|
-
label="Category"
|
|
204
|
-
style={{ width: 250, paddingBottom: '16px'}}
|
|
205
|
-
options={categoryOptions}
|
|
206
|
-
selectPlaceholder={formatMessage(messages.select)}
|
|
207
|
-
placeholder={
|
|
208
|
-
<FormattedMessage {...messages.selectCategoyPlaceholder} />
|
|
209
|
-
}
|
|
210
|
-
onChange={onChangeCategoy}
|
|
211
|
-
/>
|
|
212
|
-
|
|
213
|
-
</>;
|
|
214
|
-
return (
|
|
215
|
-
<>
|
|
216
|
-
<div id="bee-plugin-container" style={{ height: '500px'}}>
|
|
217
|
-
</div>
|
|
218
|
-
<TagList
|
|
219
|
-
moduleFilterEnabled={moduleFilterEnabled}
|
|
220
|
-
label={label}
|
|
221
|
-
onTagSelect={onTagSelect}
|
|
222
|
-
location={location}
|
|
223
|
-
tags={filteredTags}
|
|
224
|
-
injectedTags={injectedTags}
|
|
225
|
-
className={className}
|
|
226
|
-
id={id}
|
|
227
|
-
userLocale={userLocale}
|
|
228
|
-
selectedOfferDetails={selectedOfferDetails}
|
|
229
|
-
visibleTaglist={visibleTaglist}
|
|
230
|
-
hidePopover
|
|
231
|
-
modalProps={{
|
|
232
|
-
onCancel: onCancelTagList,
|
|
233
|
-
style: { left: 135, top: 250 },
|
|
234
|
-
className: "bee-editor-tag-list",
|
|
235
|
-
}}
|
|
236
|
-
onContextChange={onContextChange}
|
|
237
|
-
/>
|
|
238
|
-
<CapModal
|
|
239
|
-
visible={showRowMetaModal}
|
|
240
|
-
onCancel={handleCancel}
|
|
241
|
-
title={formatMessage(messages.customRows)}
|
|
242
|
-
footer={[
|
|
243
|
-
<CapButton key="back" onClick={handleCancel}>{formatMessage(messages.cancel)}</CapButton>,
|
|
244
|
-
<CapButton key="submit" type="primary" id="delete-version" onClick={handleOk} disabled={isDisableSave()}>
|
|
245
|
-
{formatMessage(messages.save)}
|
|
246
|
-
</CapButton>,
|
|
247
|
-
]}
|
|
248
|
-
>
|
|
249
|
-
{contentSection}
|
|
250
|
-
</CapModal>
|
|
251
|
-
</>
|
|
252
|
-
);
|
|
253
|
-
}
|
|
254
|
-
|
|
255
|
-
BeeEditor.propTypes = {
|
|
256
|
-
beeJson: PropTypes.object.isRequired,
|
|
257
|
-
tokenData: PropTypes.object.isRequired,
|
|
258
|
-
uid: PropTypes.string.isRequired,
|
|
259
|
-
showTagsPopover: PropTypes.func.isRequired,
|
|
260
|
-
intl: intlShape.isRequired,
|
|
261
|
-
};
|
|
262
|
-
|
|
263
|
-
export default injectIntl(BeeEditor);
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* BeeEditor Messages
|
|
3
|
-
*
|
|
4
|
-
* This contains all the text for the BeeEditor component.
|
|
5
|
-
*/
|
|
6
|
-
import { defineMessages } from 'react-intl';
|
|
7
|
-
|
|
8
|
-
const prefix = 'creatives.componentsV2.BeeEditor';
|
|
9
|
-
|
|
10
|
-
export default defineMessages({
|
|
11
|
-
cancel: {
|
|
12
|
-
id: `${prefix}.cancel`,
|
|
13
|
-
defaultMessage: 'Cancel',
|
|
14
|
-
},
|
|
15
|
-
save: {
|
|
16
|
-
id: `${prefix}.save`,
|
|
17
|
-
defaultMessage: 'Save',
|
|
18
|
-
},
|
|
19
|
-
rowPlaceHolder: {
|
|
20
|
-
id: `${prefix}.rowPlaceHolder`,
|
|
21
|
-
defaultMessage: 'Enter Row name',
|
|
22
|
-
},
|
|
23
|
-
rowName: {
|
|
24
|
-
id: `${prefix}.rowName`,
|
|
25
|
-
defaultMessage: 'Row name',
|
|
26
|
-
},
|
|
27
|
-
select: {
|
|
28
|
-
id: `${prefix}.select`,
|
|
29
|
-
defaultMessage: 'Select',
|
|
30
|
-
},
|
|
31
|
-
customRows: {
|
|
32
|
-
id: `${prefix}.customRows`,
|
|
33
|
-
defaultMessage: 'Custom rows',
|
|
34
|
-
},
|
|
35
|
-
selectCategoyPlaceholder: {
|
|
36
|
-
id: `${prefix}.selectCategoyPlaceholder`,
|
|
37
|
-
defaultMessage: 'Select category',
|
|
38
|
-
},
|
|
39
|
-
tags: {
|
|
40
|
-
id: `${prefix}.tags`,
|
|
41
|
-
defaultMessage: 'Tags (optional)',
|
|
42
|
-
},
|
|
43
|
-
tagPlaceHolder: {
|
|
44
|
-
id: `${prefix}.tagPlaceHolder`,
|
|
45
|
-
defaultMessage: 'Enter tags',
|
|
46
|
-
},
|
|
47
|
-
addLabel: {
|
|
48
|
-
id: `${prefix}.addLabel`,
|
|
49
|
-
defaultMessage: 'Add label',
|
|
50
|
-
},
|
|
51
|
-
cta: {
|
|
52
|
-
id: `${prefix}.cta`,
|
|
53
|
-
defaultMessage: 'CTA',
|
|
54
|
-
},
|
|
55
|
-
header: {
|
|
56
|
-
id: `${prefix}.header`,
|
|
57
|
-
defaultMessage: 'Header',
|
|
58
|
-
},
|
|
59
|
-
footer: {
|
|
60
|
-
id: `${prefix}.footer`,
|
|
61
|
-
defaultMessage: 'Footer',
|
|
62
|
-
},
|
|
63
|
-
others: {
|
|
64
|
-
id: `${prefix}.others`,
|
|
65
|
-
defaultMessage: 'Others',
|
|
66
|
-
},
|
|
67
|
-
socialPlatform: {
|
|
68
|
-
id: `${prefix}.socialPlatform`,
|
|
69
|
-
defaultMessage: 'Social platform',
|
|
70
|
-
},
|
|
71
|
-
});
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
@import '~@capillarytech/cap-ui-library/styles/_variables.scss';
|
|
2
|
-
|
|
3
|
-
.line-row{
|
|
4
|
-
margin-bottom: 16px;
|
|
5
|
-
}
|
|
6
|
-
.slidebox-content-container {
|
|
7
|
-
overflow-x: hidden;
|
|
8
|
-
}
|
|
9
|
-
.line-image {
|
|
10
|
-
position: relative;
|
|
11
|
-
}
|
|
12
|
-
.image-container {
|
|
13
|
-
display: flex;
|
|
14
|
-
& > div {
|
|
15
|
-
min-width: 516px;
|
|
16
|
-
}
|
|
17
|
-
border-radius: 5px;
|
|
18
|
-
.image-placeholder{
|
|
19
|
-
line-height: 150px;
|
|
20
|
-
}
|
|
21
|
-
img {
|
|
22
|
-
object-fit: cover;
|
|
23
|
-
max-width: 100%;
|
|
24
|
-
max-height: 100%;
|
|
25
|
-
height: auto !important;
|
|
26
|
-
width: auto !important;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
.pagination-container.gallery-upload {
|
|
31
|
-
height: calc(100vh - 60px);
|
|
32
|
-
|
|
33
|
-
.cap-custom-card-list-col {
|
|
34
|
-
max-width: 156px;
|
|
35
|
-
max-height: 156px;
|
|
36
|
-
display: inline-block;
|
|
37
|
-
margin-left: $CAP_SPACE_04;
|
|
38
|
-
margin-right: $CAP_SPACE_04;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
.ant-card-body {
|
|
42
|
-
padding-top: 0;
|
|
43
|
-
|
|
44
|
-
.ant-card-meta-description img {
|
|
45
|
-
height: 80px;
|
|
46
|
-
width: auto;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
.gallery-image {
|
|
52
|
-
height: 156px;
|
|
53
|
-
width: 156px;
|
|
54
|
-
border-radius: 4px;
|
|
55
|
-
margin: 3px;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
.sms-text {
|
|
59
|
-
img {
|
|
60
|
-
display: block;
|
|
61
|
-
max-width: 100%;
|
|
62
|
-
object-fit: cover;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
*
|
|
3
|
-
* Create actions
|
|
4
|
-
*
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
import * as types from './constants';
|
|
8
|
-
|
|
9
|
-
export function createTemplate(template, callback) {
|
|
10
|
-
console.log('action trigereed createtemplate');
|
|
11
|
-
return {
|
|
12
|
-
type: types.CREATE_TEMPLATE_REQUEST,
|
|
13
|
-
template,
|
|
14
|
-
callback,
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export function clearCreateResponse() {
|
|
19
|
-
console.log('clearCreateResponse');
|
|
20
|
-
return {
|
|
21
|
-
type: types.CLEAR_CREATE_RESPONSE_REQUEST,
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
export function defaultAction() {
|
|
26
|
-
return {
|
|
27
|
-
type: types.DEFAULT_ACTION,
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
export function uploadAsset(file, assetType, fileParams) {
|
|
32
|
-
return {
|
|
33
|
-
type: types.UPLOAD_ASSET_REQUEST,
|
|
34
|
-
file,
|
|
35
|
-
assetType,
|
|
36
|
-
fileParams,
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
export function clearAsset() {
|
|
41
|
-
return {
|
|
42
|
-
type: types.CLEAR_ASSET,
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
// FOR EDIT
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
export function editTemplate(template, callback) {
|
|
51
|
-
console.log('action trigereed editTemplate line @@@');
|
|
52
|
-
return {
|
|
53
|
-
type: types.EDIT_TEMPLATE_REQUEST,
|
|
54
|
-
template,
|
|
55
|
-
callback,
|
|
56
|
-
};
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
export function getTemplateDetails(id) {
|
|
60
|
-
console.log('getting template line @@@', id);
|
|
61
|
-
return {
|
|
62
|
-
type: types.GET_TEMPLATE_DETAILS_REQUEST,
|
|
63
|
-
id,
|
|
64
|
-
channel: 'LINE',
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
export function clearEditResponse() {
|
|
69
|
-
console.log('clearEditResponse');
|
|
70
|
-
return {
|
|
71
|
-
type: types.CLEAR_EDIT_RESPONSE_REQUEST,
|
|
72
|
-
};
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
export function clearData() {
|
|
76
|
-
return {
|
|
77
|
-
type: types.CLEAR_DATA,
|
|
78
|
-
};
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
export function getLineTemplatesList(channel, queryParams) {
|
|
82
|
-
return {
|
|
83
|
-
type: types.GET_LINE_TEMPLATES_LIST_REQUEST,
|
|
84
|
-
channel,
|
|
85
|
-
queryParams,
|
|
86
|
-
};
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
export function setSelectedTemplate(templateData) {
|
|
90
|
-
return {
|
|
91
|
-
type: types.SET_SELECTED_TEMPLATE,
|
|
92
|
-
data: templateData,
|
|
93
|
-
};
|
|
94
|
-
}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
*
|
|
3
|
-
* Create constants
|
|
4
|
-
*
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
export const DEFAULT_ACTION = 'app/Create/DEFAULT_ACTION';
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
export const CREATE_TEMPLATE_REQUEST = 'app/v2Containers/Line/Create/CREATE_TEMPLATE_REQUEST';
|
|
11
|
-
export const CREATE_TEMPLATE_SUCCESS = 'app/v2Containers/Line/Create/CREATE_TEMPLATE_SUCCESS';
|
|
12
|
-
export const CREATE_TEMPLATE_FAILURE = 'app/v2Containers/Line/Create/CREATE_TEMPLATE_FAILURE';
|
|
13
|
-
export const UPLOAD_ASSET_REQUEST = 'app/v2Containers/Line/Create/UPLOAD_ASSET_REQUEST';
|
|
14
|
-
export const UPLOAD_ASSET_SUCCESS = 'app/v2Containers/Line/Create/UPLOAD_ASSET_SUCCESS';
|
|
15
|
-
export const UPLOAD_ASSET_FAILURE = 'app/v2Containers/Line/Create/UPLOAD_ASSET_FAILURE';
|
|
16
|
-
export const CLEAR_ASSET = 'app/v2Containers/Line/Create/CLEAR_ASSET';
|
|
17
|
-
|
|
18
|
-
export const CLEAR_CREATE_RESPONSE_REQUEST = 'app/v2Containers/Line/Create/CLEAR_CREATE_RESPONSE_REQUEST';
|
|
19
|
-
export const CLEAR_CREATE_RESPONSE_SUCCESS = 'app/v2Containers/Line/Create/CLEAR_CREATE_RESPONSE_SUCCESS';
|
|
20
|
-
export const CLEAR_CREATE_RESPONSE_FAILURE = 'app/v2Containers/Line/Create/CLEAR_CREATE_RESPONSE_FAILURE';
|
|
21
|
-
|
|
22
|
-
export const LINE_IMG_HEIGHT = 400;
|
|
23
|
-
export const LINE_IMG_WIDTH = 300;
|
|
24
|
-
export const LINE_IMG_SIZE = 30000000;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
// edit
|
|
28
|
-
|
|
29
|
-
export const GET_TEMPLATE_DETAILS_REQUEST = 'app/v2Containers/line/Edit/GET_TEMPLATE_DETAILS_REQUEST';
|
|
30
|
-
export const GET_TEMPLATE_DETAILS_SUCCESS = 'app/v2Containers/line/Edit/GET_TEMPLATE_DETAILS_SUCCESS';
|
|
31
|
-
export const GET_TEMPLATE_DETAILS_FAILURE = 'app/v2Containers/line/Edit/GET_TEMPLATE_DETAILS_FAILURE';
|
|
32
|
-
|
|
33
|
-
export const EDIT_TEMPLATE_REQUEST = 'app/v2Containers/line/Edit/EDIT_TEMPLATE_REQUEST';
|
|
34
|
-
export const EDIT_TEMPLATE_SUCCESS = 'app/v2Containers/line/Edit/EDIT_TEMPLATE_SUCCESS';
|
|
35
|
-
export const EDIT_TEMPLATE_FAILURE = 'app/v2Containers/line/Edit/EDIT_TEMPLATE_FAILURE';
|
|
36
|
-
|
|
37
|
-
export const CLEAR_EDIT_RESPONSE_REQUEST = 'app/v2Containers/line/Edit/CLEAR_EDIT_RESPONSE_REQUEST';
|
|
38
|
-
export const CLEAR_DATA = 'app/v2Containers/Line/Edit/CLEAR_DATA';
|
|
39
|
-
export const SET_SELECTED_TEMPLATE = 'app/v2Containers/Line/Edit/SET_SELECTED_TEMPLATE';
|
|
40
|
-
|
|
41
|
-
export const GET_LINE_TEMPLATES_LIST_REQUEST = 'app/v2Containers/Line/GET_LINE_TEMPLATES_LIST_REQUEST';
|
|
42
|
-
export const GET_LINE_TEMPLATES_LIST_SUCCESS = 'app/v2Containers/Line/GET_LINE_TEMPLATES_LIST_SUCCESS';
|
|
43
|
-
export const GET_LINE_TEMPLATES_LIST_FAILURE = 'app/v2Containers/Line/GET_LINE_TEMPLATES_LIST_FAILURE';
|