@capillarytech/creatives-library 2.0.44 → 2.0.46
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/CmsTemplatesComponent/index.js +1 -0
- package/components/EmailMobilePreview/index.js +108 -0
- package/components/EmailMobilePreview/index.scss +66 -0
- package/components/FormBuilder/_formBuilder.scss +2 -14
- package/components/FormBuilder/index.js +106 -93
- package/components/Header/index.js +41 -0
- package/components/Header/messages.js +13 -0
- package/components/Header/tests/index.test.js +10 -0
- package/components/PreviewSideBar/index.js +7 -3
- package/components/TemplatePreview/index.js +6 -7
- package/config/app.js +2 -2
- package/containers/Cap/index.js +1 -1
- package/containers/Cap/selectors.js +11 -1
- package/containers/CreativesContainer/SlideBoxContent.js +5 -1
- package/containers/CreativesContainer/SlideBoxFooter.js +5 -9
- package/containers/CreativesContainer/index.js +59 -16
- package/containers/Email/actions.js +2 -3
- package/containers/Email/index.js +32 -26
- package/containers/Email/sagas.js +1 -0
- package/containers/EmailWrapper/index.js +43 -13
- package/containers/EmailWrapper/messages.js +8 -0
- package/containers/MobilePush/Create/index.js +1 -1
- package/containers/Sms/Create/actions.js +4 -4
- package/containers/Sms/Create/index.js +28 -17
- package/containers/Sms/Create/sagas.js +1 -2
- package/containers/Sms/Edit/actions.js +4 -5
- package/containers/Sms/Edit/index.js +31 -5
- package/containers/Sms/Edit/sagas.js +1 -3
- package/containers/Templates/actions.js +3 -1
- package/containers/Templates/index.js +219 -84
- package/containers/Templates/messages.js +8 -0
- package/containers/Templates/sagas.js +16 -4
- package/containers/Templates/selectors.js +2 -0
- package/containers/TemplatesV2/index.js +9 -4
- package/containers/TemplatesV2/reducer.js +34 -0
- package/containers/TemplatesV2/sagas.js +32 -0
- package/containers/WeChat/MapTemplates/_mapTemplates.scss +8 -0
- package/containers/WeChat/MapTemplates/actions.js +52 -0
- package/containers/WeChat/MapTemplates/constants.js +28 -0
- package/containers/WeChat/MapTemplates/index.js +1401 -0
- package/containers/WeChat/MapTemplates/messages.js +73 -0
- package/containers/WeChat/MapTemplates/reducer.js +74 -0
- package/containers/WeChat/MapTemplates/sagas.js +86 -0
- package/containers/WeChat/MapTemplates/selectors.js +25 -0
- package/containers/WeChat/MapTemplates/tests/actions.test.js +18 -0
- package/containers/WeChat/MapTemplates/tests/index.test.js +10 -0
- package/containers/WeChat/MapTemplates/tests/reducer.test.js +9 -0
- package/containers/WeChat/MapTemplates/tests/sagas.test.js +15 -0
- package/containers/WeChat/MapTemplates/tests/selectors.test.js +10 -0
- package/containers/WeChat/RichmediaTemplates/Create/_createRichmedia.scss +13 -0
- package/containers/WeChat/RichmediaTemplates/Create/actions.js +35 -0
- package/containers/WeChat/RichmediaTemplates/Create/constants.js +14 -0
- package/containers/WeChat/RichmediaTemplates/Create/index.js +679 -0
- package/containers/WeChat/RichmediaTemplates/Create/messages.js +13 -0
- package/containers/WeChat/RichmediaTemplates/Create/reducer.js +49 -0
- package/containers/WeChat/RichmediaTemplates/Create/sagas.js +44 -0
- package/containers/WeChat/RichmediaTemplates/Create/selectors.js +32 -0
- package/containers/WeChat/RichmediaTemplates/Create/tests/actions.test.js +18 -0
- package/containers/WeChat/RichmediaTemplates/Create/tests/index.test.js +10 -0
- package/containers/WeChat/RichmediaTemplates/Create/tests/reducer.test.js +9 -0
- package/containers/WeChat/RichmediaTemplates/Create/tests/sagas.test.js +15 -0
- package/containers/WeChat/RichmediaTemplates/Create/tests/selectors.test.js +10 -0
- package/containers/WeChat/RichmediaTemplates/Create/testschema.js +379 -0
- package/containers/WeChat/RichmediaTemplates/Edit/actions.js +20 -0
- package/containers/WeChat/RichmediaTemplates/Edit/constants.js +10 -0
- package/containers/WeChat/RichmediaTemplates/Edit/index.js +98 -0
- package/containers/WeChat/RichmediaTemplates/Edit/messages.js +13 -0
- package/containers/WeChat/RichmediaTemplates/Edit/reducer.js +28 -0
- package/containers/WeChat/RichmediaTemplates/Edit/sagas.js +32 -0
- package/containers/WeChat/RichmediaTemplates/Edit/selectors.js +25 -0
- package/containers/WeChat/RichmediaTemplates/Edit/tests/actions.test.js +18 -0
- package/containers/WeChat/RichmediaTemplates/Edit/tests/index.test.js +10 -0
- package/containers/WeChat/RichmediaTemplates/Edit/tests/reducer.test.js +9 -0
- package/containers/WeChat/RichmediaTemplates/Edit/tests/sagas.test.js +15 -0
- package/containers/WeChat/RichmediaTemplates/Edit/tests/selectors.test.js +10 -0
- package/containers/WeChat/RichmediaTemplates/View/actions.js +15 -0
- package/containers/WeChat/RichmediaTemplates/View/constants.js +7 -0
- package/containers/WeChat/RichmediaTemplates/View/index.js +45 -0
- package/containers/WeChat/RichmediaTemplates/View/messages.js +13 -0
- package/containers/WeChat/RichmediaTemplates/View/reducer.js +23 -0
- package/containers/WeChat/RichmediaTemplates/View/sagas.js +11 -0
- package/containers/WeChat/RichmediaTemplates/View/selectors.js +25 -0
- package/containers/WeChat/RichmediaTemplates/View/tests/actions.test.js +18 -0
- package/containers/WeChat/RichmediaTemplates/View/tests/index.test.js +10 -0
- package/containers/WeChat/RichmediaTemplates/View/tests/reducer.test.js +9 -0
- package/containers/WeChat/RichmediaTemplates/View/tests/sagas.test.js +15 -0
- package/containers/WeChat/RichmediaTemplates/View/tests/selectors.test.js +10 -0
- package/index.js +3 -3
- package/package.json +1 -1
- package/routes.js +53 -13
- package/services/api.js +6 -1
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* WeChat Messages
|
|
3
|
+
*
|
|
4
|
+
* This contains all the text for the WeChat component.
|
|
5
|
+
*/
|
|
6
|
+
import { defineMessages } from 'react-intl';
|
|
7
|
+
|
|
8
|
+
export default defineMessages({
|
|
9
|
+
header: {
|
|
10
|
+
id: 'app.containers.WeChat.header',
|
|
11
|
+
defaultMessage: 'WeChat',
|
|
12
|
+
},
|
|
13
|
+
'Template mapping': {
|
|
14
|
+
id: 'app.containers.WeChat.templateMapping',
|
|
15
|
+
defaultMessage: 'Template mapping',
|
|
16
|
+
},
|
|
17
|
+
'Discard': {
|
|
18
|
+
id: 'app.containers.WeChat.discard',
|
|
19
|
+
defaultMessage: 'Discard',
|
|
20
|
+
},
|
|
21
|
+
'Cancel': {
|
|
22
|
+
id: 'app.containers.WeChat.cancel',
|
|
23
|
+
defaultMessage: 'Cancel',
|
|
24
|
+
},
|
|
25
|
+
'Save': {
|
|
26
|
+
id: 'app.containers.WeChat.save',
|
|
27
|
+
defaultMessage: 'Save',
|
|
28
|
+
},
|
|
29
|
+
'Account Id': {
|
|
30
|
+
id: 'app.containers.WeChat.accountId',
|
|
31
|
+
defaultMessage: 'Account Id',
|
|
32
|
+
},
|
|
33
|
+
'Select Wechat Account': {
|
|
34
|
+
id: 'app.containers.WeChat.selectWechatAccount',
|
|
35
|
+
defaultMessage: 'Select Wechat Account',
|
|
36
|
+
},
|
|
37
|
+
'Template': {
|
|
38
|
+
id: 'app.containers.WeChat.template',
|
|
39
|
+
defaultMessage: 'Template',
|
|
40
|
+
},
|
|
41
|
+
'Select Wechat Template': {
|
|
42
|
+
id: 'app.containers.WeChat.selectWechatTemplate',
|
|
43
|
+
defaultMessage: 'Select Wechat Template',
|
|
44
|
+
},
|
|
45
|
+
'Link': {
|
|
46
|
+
id: 'app.containers.WeChat.link',
|
|
47
|
+
defaultMessage: 'Link',
|
|
48
|
+
},
|
|
49
|
+
'Is this internal url': {
|
|
50
|
+
id: 'app.containers.WeChat.isInternalUrl',
|
|
51
|
+
defaultMessage: 'Is this internal url',
|
|
52
|
+
},
|
|
53
|
+
"Tags": {
|
|
54
|
+
id: 'app.containers.WeChat.tagsLabel',
|
|
55
|
+
defaultMessage: "Tags",
|
|
56
|
+
},
|
|
57
|
+
"gettingTemplateData": {
|
|
58
|
+
id: 'app.containers.WeChat.gettingTemplateData',
|
|
59
|
+
defaultMessage: "Getting Template Data..",
|
|
60
|
+
},
|
|
61
|
+
"wechatEditSuccess": {
|
|
62
|
+
id: 'app.containers.WeChat.wechatEditSuccess',
|
|
63
|
+
defaultMessage: "WeChat template unmapped successfully",
|
|
64
|
+
},
|
|
65
|
+
"wechatCreateSuccess": {
|
|
66
|
+
id: 'app.containers.WeChat.wechatCreateSuccess',
|
|
67
|
+
defaultMessage: "WeChat template mapped successfully",
|
|
68
|
+
},
|
|
69
|
+
"somethingWentWrong": {
|
|
70
|
+
id: 'app.containers.WeChat.somethingWentWrong',
|
|
71
|
+
defaultMessage: "Something Went Wrong!!",
|
|
72
|
+
},
|
|
73
|
+
});
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/*
|
|
2
|
+
*
|
|
3
|
+
* WeChat reducer
|
|
4
|
+
*
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { fromJS } from 'immutable';
|
|
8
|
+
import * as types from './constants';
|
|
9
|
+
|
|
10
|
+
const initialState = fromJS({
|
|
11
|
+
weChatDefaultTemplate: fromJS({}),
|
|
12
|
+
fetchingDefaultTemplates: false,
|
|
13
|
+
errorFetchingDefaultTempalte: false,
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
function weChatReducer(state = initialState, action) {
|
|
17
|
+
switch (action.type) {
|
|
18
|
+
case types.GET_WECHAT_DEFAULT_TEMPLATES_REQUEST:
|
|
19
|
+
return state
|
|
20
|
+
.set('fetchingDefaultTemplates', true)
|
|
21
|
+
.set('weChatDefaultTemplate', fromJS({}))
|
|
22
|
+
.set('weChatTemplates', fromJS({}))
|
|
23
|
+
.set('errorFetchingDefaultTempalte', false);
|
|
24
|
+
case types.GET_WECHAT_DEFAULT_TEMPLATES_SUCCESS:
|
|
25
|
+
return state
|
|
26
|
+
.set('fetchingDefaultTemplates', false)
|
|
27
|
+
.set('weChatDefaultTemplate', fromJS(action.data))
|
|
28
|
+
.set('weChatTemplates', fromJS(action.templateData));
|
|
29
|
+
case types.GET_WECHAT_DEFAULT_TEMPLATES_FAILURE:
|
|
30
|
+
return state
|
|
31
|
+
.set('fetchingDefaultTemplates', false)
|
|
32
|
+
.set('errorFetchingDefaultTempalte', true);
|
|
33
|
+
case types.CREATE_TEMPLATE_REQUEST:
|
|
34
|
+
return state
|
|
35
|
+
.set('createTemplateInProgress', true)
|
|
36
|
+
.set('createTemplateError', false);
|
|
37
|
+
case types.CREATE_TEMPLATE_SUCCESS:
|
|
38
|
+
return state.set('createTemplateInProgress', false)
|
|
39
|
+
.set('createResponse', action.data)
|
|
40
|
+
.set('createTemplateError', (action.statusCode !== undefined && action.statusCode > 300));
|
|
41
|
+
case types.CREATE_TEMPLATE_FAILURE:
|
|
42
|
+
return state
|
|
43
|
+
.set('createTemplateInProgress', false)
|
|
44
|
+
.set('createTemplateError', true);
|
|
45
|
+
case types.CLEAR_CREATE_RESPONSE_REQUEST:
|
|
46
|
+
return state.set('createResponse', {});
|
|
47
|
+
case types.GET_WECRM_ACCOUNTS_REQUEST:
|
|
48
|
+
return state
|
|
49
|
+
.set('fetchingWeCrmAccounts', true)
|
|
50
|
+
.set('weCrmAccountFetchingError', false);
|
|
51
|
+
case types.GET_WECRM_ACCOUNTS_SUCCESS:
|
|
52
|
+
return state
|
|
53
|
+
.set('fetchingWeCrmAccounts', false)
|
|
54
|
+
.set('weCrmAccounts', fromJS(action.data));
|
|
55
|
+
case types.GET_WECRM_ACCOUNTS_FAILURE:
|
|
56
|
+
return state
|
|
57
|
+
.set('fetchingWeCrmAccounts', false)
|
|
58
|
+
.set('weCrmAccountFetchingError', true);
|
|
59
|
+
case types.GET_TEMPLATE_DETAILS_REQUEST:
|
|
60
|
+
return state.set('getTemplateDetailsInProgress', true);
|
|
61
|
+
case types.GET_TEMPLATE_DETAILS_SUCCESS:
|
|
62
|
+
return state.set('getTemplateDetailsInProgress', false)
|
|
63
|
+
.set('templateDetails', action.data);
|
|
64
|
+
case types.GET_TEMPLATE_DETAILS_FAILURE:
|
|
65
|
+
return state.set('getTemplateDetailsInProgress', false);
|
|
66
|
+
case types.SET_WECHAT_ACCOUNT:
|
|
67
|
+
return state
|
|
68
|
+
.set('selectedWeChatAccount', fromJS(action.weChatAccount));
|
|
69
|
+
default:
|
|
70
|
+
return state;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
export default weChatReducer;
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { take, call, put, takeLatest, cancel } from 'redux-saga/effects';
|
|
2
|
+
import { LOCATION_CHANGE } from 'react-router-redux';
|
|
3
|
+
import * as Api from '../../../services/api';
|
|
4
|
+
import * as types from './constants';
|
|
5
|
+
|
|
6
|
+
export function* getDefaultWeChatTemplates(params) {
|
|
7
|
+
try {
|
|
8
|
+
console.log('Saga param ', params.channel, params.queryParams);
|
|
9
|
+
const result = yield call(Api.getAllTemplates, {channel: params.channel, queryParams: params.queryParams});
|
|
10
|
+
yield put({ type: types.GET_WECHAT_DEFAULT_TEMPLATES_SUCCESS, data: result.response.unMapped, templateData: result.response.mapped});
|
|
11
|
+
} catch (error) {
|
|
12
|
+
yield put({ type: types.GET_WECHAT_DEFAULT_TEMPLATES_FAILURE, error });
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export function* createTemplate(template) {
|
|
17
|
+
try {
|
|
18
|
+
const result = yield call(Api.createWeChatTemplate, template);
|
|
19
|
+
// const sidebar = result.response.sidebar;
|
|
20
|
+
yield put({ type: types.CREATE_TEMPLATE_SUCCESS, data: result.response, statusCode: result.status ? result.status.code : '' });
|
|
21
|
+
} catch (error) {
|
|
22
|
+
yield put({ type: types.CREATE_TEMPLATE_FAILURE, error });
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export function* fetchWeCrmAccounts() {
|
|
27
|
+
try {
|
|
28
|
+
const result = yield call(Api.fetchWeCrmAccounts);
|
|
29
|
+
yield [
|
|
30
|
+
put({
|
|
31
|
+
type: types.GET_WECRM_ACCOUNTS_SUCCESS,
|
|
32
|
+
data: result.response,
|
|
33
|
+
}),
|
|
34
|
+
];
|
|
35
|
+
} catch (error) {
|
|
36
|
+
yield [
|
|
37
|
+
put({
|
|
38
|
+
type: types.GET_WECRM_ACCOUNTS_FAILURE,
|
|
39
|
+
data: error,
|
|
40
|
+
}),
|
|
41
|
+
];
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export function* getTemplateDetails(id) {
|
|
46
|
+
try {
|
|
47
|
+
console.log('saga get Template details', id);
|
|
48
|
+
const result = yield call(Api.getTemplateDetails, id);
|
|
49
|
+
// const sidebar = result.response.sidebar;
|
|
50
|
+
yield put({ type: types.GET_TEMPLATE_DETAILS_SUCCESS, data: result.response });
|
|
51
|
+
} catch (error) {
|
|
52
|
+
yield put({ type: types.GET_TEMPLATE_DETAILS_FAILURE, error });
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
function* watchGetDefaultWechatTemplates() {
|
|
57
|
+
const watcher = yield takeLatest(types.GET_WECHAT_DEFAULT_TEMPLATES_REQUEST, getDefaultWeChatTemplates);
|
|
58
|
+
yield take(LOCATION_CHANGE);
|
|
59
|
+
yield cancel(watcher);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
function* watchCreateTemplate() {
|
|
63
|
+
const watcher = yield takeLatest(types.CREATE_TEMPLATE_REQUEST, createTemplate);
|
|
64
|
+
yield take(LOCATION_CHANGE);
|
|
65
|
+
yield cancel(watcher);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
function* watchFetchWeCrmAccounts() {
|
|
69
|
+
const watcher = yield takeLatest(types.GET_WECRM_ACCOUNTS_REQUEST, fetchWeCrmAccounts);
|
|
70
|
+
yield take(LOCATION_CHANGE);
|
|
71
|
+
yield cancel(watcher);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
function* watchGetTemplateDetails() {
|
|
75
|
+
const watcher = yield takeLatest(types.GET_TEMPLATE_DETAILS_REQUEST, getTemplateDetails);
|
|
76
|
+
yield take(LOCATION_CHANGE);
|
|
77
|
+
yield cancel(watcher);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
// All sagas to be loaded
|
|
81
|
+
export default [
|
|
82
|
+
watchGetDefaultWechatTemplates,
|
|
83
|
+
watchCreateTemplate,
|
|
84
|
+
watchFetchWeCrmAccounts,
|
|
85
|
+
watchGetTemplateDetails,
|
|
86
|
+
];
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { createSelector } from 'reselect';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Direct selector to the weChat state domain
|
|
5
|
+
*/
|
|
6
|
+
const selectWeChatDomain = () => (state) => state.get('weChat');
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Other specific selectors
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Default selector used by WeChat
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
const makeSelectWeChat = () => createSelector(
|
|
18
|
+
selectWeChatDomain(),
|
|
19
|
+
(substate) => substate.toJS()
|
|
20
|
+
);
|
|
21
|
+
|
|
22
|
+
export default makeSelectWeChat;
|
|
23
|
+
export {
|
|
24
|
+
selectWeChatDomain,
|
|
25
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
|
|
2
|
+
import {
|
|
3
|
+
defaultAction,
|
|
4
|
+
} from '../actions';
|
|
5
|
+
import {
|
|
6
|
+
DEFAULT_ACTION,
|
|
7
|
+
} from '../constants';
|
|
8
|
+
|
|
9
|
+
describe('WeChat actions', () => {
|
|
10
|
+
describe('Default Action', () => {
|
|
11
|
+
it('has a type of DEFAULT_ACTION', () => {
|
|
12
|
+
const expected = {
|
|
13
|
+
type: DEFAULT_ACTION,
|
|
14
|
+
};
|
|
15
|
+
expect(defaultAction()).toEqual(expected);
|
|
16
|
+
});
|
|
17
|
+
});
|
|
18
|
+
});
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Test sagas
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
/* eslint-disable redux-saga/yield-effects */
|
|
6
|
+
// import { take, call, put, select } from 'redux-saga/effects';
|
|
7
|
+
// import { defaultSaga } from '../sagas';
|
|
8
|
+
|
|
9
|
+
// const generator = defaultSaga();
|
|
10
|
+
|
|
11
|
+
describe('defaultSaga Saga', () => {
|
|
12
|
+
it('Expect to have unit tests specified', () => {
|
|
13
|
+
expect(true).toEqual(false);
|
|
14
|
+
});
|
|
15
|
+
});
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// import { fromJS } from 'immutable';
|
|
2
|
+
// import { makeSelectWeChatDomain } from '../selectors';
|
|
3
|
+
|
|
4
|
+
// const selector = makeSelectWeChatDomain();
|
|
5
|
+
|
|
6
|
+
describe('makeSelectWeChatDomain', () => {
|
|
7
|
+
it('Expect to have unit tests specified', () => {
|
|
8
|
+
expect(true).toEqual(false);
|
|
9
|
+
});
|
|
10
|
+
});
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/*
|
|
2
|
+
*
|
|
3
|
+
* Create actions
|
|
4
|
+
*
|
|
5
|
+
*/
|
|
6
|
+
import * as types from './constants';
|
|
7
|
+
|
|
8
|
+
export function defaultAction() {
|
|
9
|
+
return {
|
|
10
|
+
type: types.DEFAULT_ACTION,
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
export function uploadAsset(file, assetType, fileParams, mode, wechatParams, contentId) {
|
|
14
|
+
return {
|
|
15
|
+
type: types.UPLOAD_ASSET_REQUEST,
|
|
16
|
+
file,
|
|
17
|
+
assetType,
|
|
18
|
+
fileParams,
|
|
19
|
+
mode,
|
|
20
|
+
wechatParams,
|
|
21
|
+
contentId,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
export function saveTemplate(template) {
|
|
25
|
+
return {
|
|
26
|
+
type: types.SAVE_TEMPLATE_REQUEST,
|
|
27
|
+
template,
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
export function clearAsset() {
|
|
31
|
+
return {
|
|
32
|
+
type: types.CLEAR_ASSET,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/*
|
|
2
|
+
*
|
|
3
|
+
* Create constants
|
|
4
|
+
*
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
export const DEFAULT_ACTION = 'app/containers/Wechat/RichmediaTemplates/Create/DEFAULT_ACTION';
|
|
8
|
+
export const UPLOAD_ASSET_REQUEST = 'app/containers/Wechat/RichmediaTemplates/Create/UPLOAD_ASSET_REQUEST';
|
|
9
|
+
export const UPLOAD_ASSET_SUCCESS = 'app/containers/Wechat/RichmediaTemplates/Create/UPLOAD_ASSET_SUCCESS';
|
|
10
|
+
export const UPLOAD_ASSET_FAILURE = 'app/containers/Wechat/RichmediaTemplates/Create/UPLOAD_ASSET_FAILURE';
|
|
11
|
+
export const CLEAR_ASSET = 'app/containers/Wechat/RichmediaTemplates/Create/CLEAR_ASSET';
|
|
12
|
+
export const SAVE_TEMPLATE_REQUEST = 'app/containers/Wechat/RichmediaTemplates/Create/SAVE_TEMPLATE_REQUEST';
|
|
13
|
+
export const SAVE_TEMPLATE_SUCCESS = 'app/containers/Wechat/RichmediaTemplates/Create/SAVE_TEMPLATE_SUCCESS';
|
|
14
|
+
export const SAVE_TEMPLATE_FAILURE = 'app/containers/Wechat/RichmediaTemplates/Create/SAVE_TEMPLATE_FAILURE';
|