@capillarytech/creatives-library 8.0.166 → 8.0.168-alpha.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.
Files changed (321) hide show
  1. package/components/BreadCrumbs/index.js +65 -0
  2. package/components/BreadCrumbs/messages.js +13 -0
  3. package/components/CapTagList/index.js +235 -0
  4. package/components/CapTagList/messages.js +45 -0
  5. package/components/Card/_customCard.scss +40 -0
  6. package/components/Card/index.js +78 -0
  7. package/components/Card/tests/__snapshots__/index.test.js.snap +22 -0
  8. package/components/Card/tests/index.test.js +20 -0
  9. package/components/CardGrid/index.js +71 -0
  10. package/components/Ckeditor/index.js +238 -0
  11. package/components/Ckeditor/messages.js +13 -0
  12. package/components/Ckeditor/style.scss +3 -0
  13. package/components/Component/index.js +29 -0
  14. package/components/CustomPopOver/index.js +81 -0
  15. package/components/CustomPopOver/messages.js +17 -0
  16. package/components/DateFilter/index.js +349 -0
  17. package/components/DateFilter/messages.js +57 -0
  18. package/components/DateRange/index.js +114 -0
  19. package/components/DateRange/messages.js +25 -0
  20. package/components/Edmeditor/index.js +65 -0
  21. package/components/Edmeditor/messages.js +13 -0
  22. package/components/EmailPreview/_emailPreview.scss +119 -0
  23. package/components/EmailPreview/assets/images/iPad.svg +10 -0
  24. package/components/EmailPreview/assets/images/mobile.png +0 -0
  25. package/components/EmailPreview/index.js +107 -0
  26. package/components/EmailPreview/messages.js +33 -0
  27. package/components/Footer/index.js +27 -0
  28. package/components/Footer/messages.js +13 -0
  29. package/components/FormBuilder/_formBuilder.scss +83 -0
  30. package/components/FormBuilder/index.js +3279 -0
  31. package/components/FormBuilder/messages.js +61 -0
  32. package/components/Header/index.js +44 -0
  33. package/components/Header/messages.js +29 -0
  34. package/components/ImagePreview/_imagePreview.scss +63 -0
  35. package/components/ImagePreview/index.js +52 -0
  36. package/components/ImagePreview/messages.js +17 -0
  37. package/components/PageHeader/_pageHeader.scss +22 -0
  38. package/components/PageHeader/index.js +37 -0
  39. package/components/PageHeader/messages.js +13 -0
  40. package/components/Pagination/_pagination.scss +5 -0
  41. package/components/Pagination/index.js +49 -0
  42. package/components/PreviewSideBar/_previewsidebar.scss +28 -0
  43. package/components/PreviewSideBar/index.js +152 -0
  44. package/components/PreviewSideBar/messages.js +41 -0
  45. package/components/Sidebar/_sidebar.scss +115 -0
  46. package/components/Sidebar/index.js +214 -0
  47. package/components/Sidebar/messages.js +21 -0
  48. package/components/SlideBox/_slideBox.scss +63 -0
  49. package/components/SlideBox/index.js +47 -0
  50. package/components/SlideBox/tests/index.test.js +103 -0
  51. package/components/SmsEditor/index.js +55 -0
  52. package/components/SmsTest/index.js +117 -0
  53. package/components/SmsTest/messages.js +21 -0
  54. package/components/TemplatePreview/WechatRichmediaTemplatePreview/_wechatRichmediaTemplatePrev.scss +42 -0
  55. package/components/TemplatePreview/WechatRichmediaTemplatePreview/index.js +141 -0
  56. package/components/TemplatePreview/WechatRichmediaTemplatePreview/messages.js +21 -0
  57. package/components/TemplatePreview/_templatePreview.scss +642 -0
  58. package/components/TemplatePreview/assets/images/WECHAT_5x.png +0 -0
  59. package/components/TemplatePreview/assets/images/androidPushMessage.svg +45 -0
  60. package/components/TemplatePreview/assets/images/home-screen-android.svg +21 -0
  61. package/components/TemplatePreview/assets/images/home-screen-ios.svg +16 -0
  62. package/components/TemplatePreview/assets/images/iPhonePushMessage.svg +135 -0
  63. package/components/TemplatePreview/assets/images/mobile.svg +24 -0
  64. package/components/TemplatePreview/assets/images/sms-body.png +0 -0
  65. package/components/TemplatePreview/assets/images/sms-icon.png +0 -0
  66. package/components/TemplatePreview/assets/images/sms_mobile.png +0 -0
  67. package/components/TemplatePreview/assets/images/sms_mobile_android.svg +22 -0
  68. package/components/TemplatePreview/assets/images/sms_mobile_ios.svg +16 -0
  69. package/components/TemplatePreview/assets/images/user-icon.svg +19 -0
  70. package/components/TemplatePreview/assets/images/wechat-mobile.svg +78 -0
  71. package/components/TemplatePreview/assets/images/wechat_mobile_android.svg +20 -0
  72. package/components/TemplatePreview/index.js +617 -0
  73. package/components/TemplatePreview/messages.js +78 -0
  74. package/components/Toastr/index.js +60 -0
  75. package/components/Toastr/messages.js +13 -0
  76. package/components/ToastrMessage/index.js +113 -0
  77. package/components/ToastrMessage/messages.js +17 -0
  78. package/components/TopBar/_topbar.scss +46 -0
  79. package/components/TopBar/assets/images/capillary_logo.png +0 -0
  80. package/components/TopBar/assets/images/old_capillary_logo.png +0 -0
  81. package/components/TopBar/index.js +113 -0
  82. package/components/TopBar/messages.js +29 -0
  83. package/containers/App/actions.js +7 -0
  84. package/containers/App/constants.js +114 -0
  85. package/containers/App/index.js +52 -0
  86. package/containers/App/reducer.js +19 -0
  87. package/containers/App/sagas.js +31 -0
  88. package/containers/App/selectors.js +25 -0
  89. package/containers/App/test/saga.test.js +11 -0
  90. package/containers/Assets/Gallery/_gallery.scss +126 -0
  91. package/containers/Assets/Gallery/actions.js +37 -0
  92. package/containers/Assets/Gallery/constants.js +23 -0
  93. package/containers/Assets/Gallery/index.js +473 -0
  94. package/containers/Assets/Gallery/messages.js +93 -0
  95. package/containers/Assets/Gallery/reducer.js +81 -0
  96. package/containers/Assets/Gallery/sagas.js +80 -0
  97. package/containers/Assets/Gallery/selectors.js +25 -0
  98. package/containers/Assets/Gallery/tests/__snapshots__/reducer.test.js.snap +9 -0
  99. package/containers/Assets/Gallery/tests/actions.test.js +25 -0
  100. package/containers/Assets/Gallery/tests/reducer.test.js +96 -0
  101. package/containers/Assets/Gallery/tests/saga.test.js +157 -0
  102. package/containers/Cap/actions.js +66 -0
  103. package/containers/Cap/constants.js +25 -0
  104. package/containers/Cap/index.js +402 -0
  105. package/containers/Cap/messages.js +75 -0
  106. package/containers/Cap/reducer.js +113 -0
  107. package/containers/Cap/sagas.js +159 -0
  108. package/containers/Cap/selectors.js +75 -0
  109. package/containers/Cap/tests/__snapshots__/index.test.js.snap +2270 -0
  110. package/containers/Cap/tests/index.test.js +22 -0
  111. package/containers/Cap/tests/saga.test.js +284 -0
  112. package/containers/Dashboard/actions.js +15 -0
  113. package/containers/Dashboard/constants.js +7 -0
  114. package/containers/Dashboard/index.js +76 -0
  115. package/containers/Dashboard/messages.js +13 -0
  116. package/containers/Dashboard/reducer.js +21 -0
  117. package/containers/Dashboard/sagas.js +17 -0
  118. package/containers/Dashboard/selectors.js +25 -0
  119. package/containers/Dashboard/test/saga.test.js +9 -0
  120. package/containers/Ebill/_ebill.scss +5 -0
  121. package/containers/Ebill/actions.js +43 -0
  122. package/containers/Ebill/constants.js +20 -0
  123. package/containers/Ebill/index.js +1278 -0
  124. package/containers/Ebill/messages.js +77 -0
  125. package/containers/Ebill/reducer.js +72 -0
  126. package/containers/Ebill/sagas.js +74 -0
  127. package/containers/Ebill/selectors.js +25 -0
  128. package/containers/Ebill/test/saga.test.js +11 -0
  129. package/containers/Email/_email.scss +141 -0
  130. package/containers/Email/actions.js +81 -0
  131. package/containers/Email/constants.js +36 -0
  132. package/containers/Email/index.js +3325 -0
  133. package/containers/Email/messages.js +289 -0
  134. package/containers/Email/reducer.js +142 -0
  135. package/containers/Email/sagas.js +135 -0
  136. package/containers/Email/selectors.js +31 -0
  137. package/containers/Email/test/saga.test.js +671 -0
  138. package/containers/LanguageProvider/actions.js +17 -0
  139. package/containers/LanguageProvider/constants.js +8 -0
  140. package/containers/LanguageProvider/index.js +80 -0
  141. package/containers/LanguageProvider/reducer.js +30 -0
  142. package/containers/LanguageProvider/selectors.js +20 -0
  143. package/containers/LanguageProvider/tests/actions.test.js +19 -0
  144. package/containers/LanguageProvider/tests/index.test.js +78 -0
  145. package/containers/LanguageProvider/tests/reducer.test.js +20 -0
  146. package/containers/LanguageProvider/tests/selectors.test.js +15 -0
  147. package/containers/Line/Create/_lineCreate.scss +54 -0
  148. package/containers/Line/Create/actions.js +90 -0
  149. package/containers/Line/Create/constants.js +39 -0
  150. package/containers/Line/Create/index.js +836 -0
  151. package/containers/Line/Create/messages.js +189 -0
  152. package/containers/Line/Create/reducer.js +99 -0
  153. package/containers/Line/Create/sagas.js +121 -0
  154. package/containers/Line/Create/selectors.js +36 -0
  155. package/containers/Line/Create/tests/saga.test.js +202 -0
  156. package/containers/Line/Edit/_lineEdit.scss +35 -0
  157. package/containers/Line/Edit/actions.js +79 -0
  158. package/containers/Line/Edit/constants.js +27 -0
  159. package/containers/Line/Edit/index.js +1050 -0
  160. package/containers/Line/Edit/messages.js +177 -0
  161. package/containers/Line/Edit/reducer.js +83 -0
  162. package/containers/Line/Edit/sagas.js +80 -0
  163. package/containers/Line/Edit/selectors.js +29 -0
  164. package/containers/Line/Edit/test/saga.test.js +160 -0
  165. package/containers/Login/assets/images/capillary_logo.png +0 -0
  166. package/containers/Login/components/LoginForm/index.js +62 -0
  167. package/containers/Login/components/LoginForm/messages.js +33 -0
  168. package/containers/Login/index.js +130 -0
  169. package/containers/Login/messages.js +25 -0
  170. package/containers/Login/selectors.js +25 -0
  171. package/containers/MobilePush/Create/_mobilePushCreate.scss +39 -0
  172. package/containers/MobilePush/Create/actions.js +46 -0
  173. package/containers/MobilePush/Create/constants.js +23 -0
  174. package/containers/MobilePush/Create/index.js +2303 -0
  175. package/containers/MobilePush/Create/messages.js +269 -0
  176. package/containers/MobilePush/Create/reducer.js +70 -0
  177. package/containers/MobilePush/Create/sagas.js +74 -0
  178. package/containers/MobilePush/Create/selectors.js +28 -0
  179. package/containers/MobilePush/Create/test/saga.test.js +19 -0
  180. package/containers/MobilePush/Edit/_mobilePushCreate.scss +39 -0
  181. package/containers/MobilePush/Edit/actions.js +91 -0
  182. package/containers/MobilePush/Edit/constants.js +35 -0
  183. package/containers/MobilePush/Edit/index.js +2601 -0
  184. package/containers/MobilePush/Edit/messages.js +266 -0
  185. package/containers/MobilePush/Edit/reducer.js +112 -0
  186. package/containers/MobilePush/Edit/sagas.js +126 -0
  187. package/containers/MobilePush/Edit/selectors.js +29 -0
  188. package/containers/MobilePush/Edit/tests/saga.test.js +255 -0
  189. package/containers/NotFoundPage/index.js +25 -0
  190. package/containers/NotFoundPage/messages.js +13 -0
  191. package/containers/NotFoundPage/tests/index.test.js +17 -0
  192. package/containers/Sms/Create/_smsCreate.scss +42 -0
  193. package/containers/Sms/Create/actions.js +27 -0
  194. package/containers/Sms/Create/constants.js +16 -0
  195. package/containers/Sms/Create/index.js +1488 -0
  196. package/containers/Sms/Create/messages.js +109 -0
  197. package/containers/Sms/Create/reducer.js +41 -0
  198. package/containers/Sms/Create/sagas.js +40 -0
  199. package/containers/Sms/Create/selectors.js +28 -0
  200. package/containers/Sms/Create/test/saga.test.js +11 -0
  201. package/containers/Sms/Edit/actions.js +40 -0
  202. package/containers/Sms/Edit/constants.js +17 -0
  203. package/containers/Sms/Edit/index.js +1472 -0
  204. package/containers/Sms/Edit/messages.js +105 -0
  205. package/containers/Sms/Edit/reducer.js +50 -0
  206. package/containers/Sms/Edit/sagas.js +60 -0
  207. package/containers/Sms/Edit/selectors.js +32 -0
  208. package/containers/Sms/Edit/test/saga.test.js +13 -0
  209. package/containers/TagList/_tagList.scss +8 -0
  210. package/containers/TagList/actions.js +15 -0
  211. package/containers/TagList/constants.js +32 -0
  212. package/containers/TagList/index.js +236 -0
  213. package/containers/TagList/messages.js +13 -0
  214. package/containers/TagList/reducer.js +23 -0
  215. package/containers/TagList/sagas.js +11 -0
  216. package/containers/TagList/selectors.js +25 -0
  217. package/containers/Templates/_templates.scss +333 -0
  218. package/containers/Templates/actions.js +103 -0
  219. package/containers/Templates/constants.js +60 -0
  220. package/containers/Templates/index.js +1756 -0
  221. package/containers/Templates/messages.js +337 -0
  222. package/containers/Templates/reducer.js +142 -0
  223. package/containers/Templates/sagas.js +163 -0
  224. package/containers/Templates/selectors.js +28 -0
  225. package/containers/Templates/test/saga.test.js +241 -0
  226. package/containers/WeChat/MapTemplates/_mapTemplates.scss +8 -0
  227. package/containers/WeChat/MapTemplates/actions.js +52 -0
  228. package/containers/WeChat/MapTemplates/constants.js +28 -0
  229. package/containers/WeChat/MapTemplates/index.js +1610 -0
  230. package/containers/WeChat/MapTemplates/messages.js +157 -0
  231. package/containers/WeChat/MapTemplates/reducer.js +74 -0
  232. package/containers/WeChat/MapTemplates/sagas.js +84 -0
  233. package/containers/WeChat/MapTemplates/selectors.js +25 -0
  234. package/containers/WeChat/MapTemplates/test/saga.test.js +155 -0
  235. package/containers/WeChat/RichmediaTemplates/Create/_createRichmedia.scss +57 -0
  236. package/containers/WeChat/RichmediaTemplates/Create/actions.js +36 -0
  237. package/containers/WeChat/RichmediaTemplates/Create/constants.js +15 -0
  238. package/containers/WeChat/RichmediaTemplates/Create/index.js +1071 -0
  239. package/containers/WeChat/RichmediaTemplates/Create/messages.js +165 -0
  240. package/containers/WeChat/RichmediaTemplates/Create/reducer.js +60 -0
  241. package/containers/WeChat/RichmediaTemplates/Create/richmediaschema.js +497 -0
  242. package/containers/WeChat/RichmediaTemplates/Create/sagas.js +51 -0
  243. package/containers/WeChat/RichmediaTemplates/Create/selectors.js +37 -0
  244. package/containers/WeChat/RichmediaTemplates/Create/test/saga.test.js +13 -0
  245. package/containers/WeChat/RichmediaTemplates/Edit/actions.js +20 -0
  246. package/containers/WeChat/RichmediaTemplates/Edit/constants.js +10 -0
  247. package/containers/WeChat/RichmediaTemplates/Edit/index.js +136 -0
  248. package/containers/WeChat/RichmediaTemplates/Edit/messages.js +13 -0
  249. package/containers/WeChat/RichmediaTemplates/Edit/reducer.js +28 -0
  250. package/containers/WeChat/RichmediaTemplates/Edit/sagas.js +36 -0
  251. package/containers/WeChat/RichmediaTemplates/Edit/selectors.js +30 -0
  252. package/containers/WeChat/RichmediaTemplates/Edit/test/saga.test.js +12 -0
  253. package/containers/WeChat/RichmediaTemplates/View/actions.js +15 -0
  254. package/containers/WeChat/RichmediaTemplates/View/constants.js +7 -0
  255. package/containers/WeChat/RichmediaTemplates/View/index.js +47 -0
  256. package/containers/WeChat/RichmediaTemplates/View/messages.js +21 -0
  257. package/containers/WeChat/RichmediaTemplates/View/reducer.js +23 -0
  258. package/containers/WeChat/RichmediaTemplates/View/sagas.js +11 -0
  259. package/containers/WeChat/RichmediaTemplates/View/selectors.js +25 -0
  260. package/index.js +2 -4
  261. package/package.json +1 -1
  262. package/routes.js +202 -136
  263. package/services/getSchema.js +1 -1
  264. package/services/localStorageApi.js +0 -1
  265. package/tests/i18n.test.js +1 -1
  266. package/utils/asyncInjectors.js +78 -0
  267. package/utils/authWrapper.js +1 -1
  268. package/utils/callNativeEvent.js +16 -0
  269. package/utils/checkStore.js +21 -0
  270. package/utils/common.js +2 -2
  271. package/utils/customAuthWrapper.js +62 -0
  272. package/utils/customConnectedAuthWrapper.js +26 -0
  273. package/utils/tagValidations.js +1 -1
  274. package/utils/test-utils.js +6 -2
  275. package/utils/tests/authWrapper.test.js +1 -1
  276. package/utils/tests/checkStore.test.js +1 -1
  277. package/utils/tests/customAuth.test.js +1 -1
  278. package/utils/transformerUtils.js +1 -1
  279. package/v2Components/CapActionButton/index.js +52 -12
  280. package/v2Components/CapActionButton/messages.js +4 -0
  281. package/v2Components/CapActionButton/tests/index.test.js +135 -0
  282. package/v2Components/CapDeviceContent/index.js +5 -0
  283. package/v2Components/CapInAppCTA/index.js +29 -14
  284. package/v2Components/CapInAppCTA/index.scss +0 -2
  285. package/v2Components/CapInAppCTA/messages.js +4 -0
  286. package/v2Components/CapMpushCTA/index.js +54 -38
  287. package/v2Components/CapMpushCTA/index.scss +2 -2
  288. package/v2Components/CapMpushCTA/messages.js +4 -0
  289. package/v2Components/CapTagList/index.js +14 -9
  290. package/v2Components/CapTagListWithInput/index.js +169 -0
  291. package/v2Components/CapTagListWithInput/messages.js +10 -0
  292. package/v2Components/Carousel/style.scss +1 -1
  293. package/v2Components/EmailMobilePreview/index.js +2 -2
  294. package/v2Components/FormBuilder/index.js +9 -3
  295. package/v2Components/NavigationBar/tests/saga.test.js +31 -36
  296. package/v2Components/TemplatePreview/index.js +1 -2
  297. package/v2Components/TestAndPreviewSlidebox/PreviewSection.js +1 -1
  298. package/v2Components/TestAndPreviewSlidebox/index.js +24 -4
  299. package/v2Containers/Cap/tests/saga.test.js +1 -1
  300. package/v2Containers/Email/index.js +43 -2
  301. package/v2Containers/Email/initialSchema.js +24 -18
  302. package/v2Containers/FTP/index.js +1 -1
  303. package/v2Containers/Line/Container/Text/index.js +1 -1
  304. package/v2Containers/MobilePush/Create/index.js +23 -3
  305. package/v2Containers/MobilePush/commonMethods.js +24 -3
  306. package/v2Containers/MobilePushNew/components/CtaButtons.js +20 -0
  307. package/v2Containers/MobilePushNew/components/MediaUploaders.js +31 -3
  308. package/v2Containers/MobilePushNew/components/PlatformContentFields.js +34 -3
  309. package/v2Containers/MobilePushNew/components/tests/MediaUploaders.test.js +153 -5
  310. package/v2Containers/MobilePushNew/index.js +9 -0
  311. package/v2Containers/MobilePushNew/index.scss +2 -1
  312. package/v2Containers/Rcs/index.js +77 -71
  313. package/v2Containers/Rcs/tests/__snapshots__/index.test.js.snap +15270 -492
  314. package/v2Containers/Sms/Create/index.js +1 -1
  315. package/v2Containers/Sms/Edit/index.js +1 -1
  316. package/v2Containers/TagList/index.js +1 -1
  317. package/v2Containers/TagList/utils.js +1 -1
  318. package/v2Containers/Templates/index.js +1 -1
  319. package/v2Containers/Templates/sagas.js +1 -1
  320. package/v2Containers/Viber/index.js +102 -76
  321. package/constants/unified.js +0 -189
@@ -0,0 +1,136 @@
1
+ /*
2
+ *
3
+ * Edit
4
+ *
5
+ */
6
+
7
+ import PropTypes from 'prop-types';
8
+
9
+ import React from 'react';
10
+ import { connect } from 'react-redux';
11
+ import { bindActionCreators, compose } from 'redux';
12
+ import _ from 'lodash';
13
+ import { createStructuredSelector } from 'reselect';
14
+ import makeSelectEdit, { makeSelectTemplates } from './selectors';
15
+ import * as actions from './actions';
16
+ import Create from '../Create';
17
+ import injectSaga from '../../../../utils/injectSaga';
18
+ import injectReducer from '../../../../utils/injectReducer';
19
+ import reducer from './reducer';
20
+ import createReducer from '../Create/reducer';
21
+ import { richMediaTemplatesEditSaga } from './sagas';
22
+ import { richMediaTemplatesSaga } from '../Create/sagas';
23
+ import { createQueryString } from '../../../../utils/common';
24
+
25
+ export class Edit extends React.PureComponent { // eslint-disable-line react/prefer-stateless-function
26
+ constructor(props) {
27
+ super(props);
28
+ this.state = {
29
+ totalContentBlocks: 0,
30
+ templateData: {},
31
+ };
32
+ this.setTemplateData = this.setTemplateData.bind(this);
33
+ }
34
+ componentWillMount = () => {
35
+ if (_.isEmpty(this.props.Templates.selectedWeChatAccount)) {
36
+ const module = this.props.location.query.module ? this.props.location.query.module : 'default';
37
+ const type = this.props.location.query.type;
38
+ this.props.router.push({
39
+ pathname: `/wechat`,
40
+ search : createQueryString(type === 'embedded' ? {type: 'embedded', module} : {module})
41
+ });
42
+ }
43
+ }
44
+ componentDidMount = () => {
45
+ this.props.actions.getTemplateDetails(this.props.params.id, "wechat");
46
+ }
47
+ componentWillReceiveProps = (nextProps) => {
48
+ if (nextProps.Edit.templateDetails && !_.isEmpty(nextProps.Edit.templateDetails) && !_.isEqual(this.props.Edit.templateDetails, nextProps.Edit.templateDetails)) {
49
+ const templateData = this.setTemplateData(nextProps.Edit.templateDetails);
50
+ this.setState({templateData});
51
+ }
52
+ }
53
+ setTemplateData = (templateDetails) => {
54
+ const templateData = {};
55
+ let contentId = 0;
56
+ if (!_.isEmpty(templateDetails)) {
57
+ _.forEach(templateDetails.versions.base.mediaList, (content) => {
58
+ const formData = {};
59
+ formData['title-value'] = content.title;
60
+ formData['author-value'] = content.author;
61
+ formData['cover-abstract-value'] = content.digest;
62
+ formData['content-value'] = content.content;
63
+ formData['source-link-value'] = content.content_source_url;
64
+ formData['post-comments-value'] = content.post_comments_scope;
65
+ formData['show-cover-pic-value'] = content.show_cover_pic;
66
+ templateData[contentId] = {
67
+ formData,
68
+ imageUrl: content.image_url,
69
+ mediaId: content.thumb_media_id,
70
+ };
71
+ contentId += 1;
72
+ });
73
+ if (this.props.location.query.type === "embedded" && this.props.location.query.module === "outbound") {
74
+ templateData.templateDetails = templateDetails;
75
+ }
76
+ }
77
+ this.setState({totalContentBlocks: contentId});
78
+ return templateData;
79
+ }
80
+ render() {
81
+ if (this.state.templateData && !_.isEmpty(this.state.templateData) && this.state.totalContentBlocks > 0) {
82
+ return (
83
+ <div className="richmedia-container">
84
+ <Create
85
+ templateData={this.state.templateData}
86
+ mode="EDIT"
87
+ totalContentBlocks={this.state.totalContentBlocks}
88
+ templateName={this.props.Edit && this.props.Edit.templateDetails && this.props.Edit.templateDetails.name ? this.props.Edit.templateDetails.name : ""}
89
+ mediaId={this.props.Edit && this.props.Edit.templateDetails && this.props.Edit.templateDetails.versions && this.props.Edit.templateDetails.versions.base && this.props.Edit.templateDetails.versions.base.mediaId ? this.props.Edit.templateDetails.versions.base.mediaId : ""}
90
+ templateId={this.props.Edit && this.props.Edit.templateDetails && this.props.Edit.templateDetails._id ? this.props.Edit.templateDetails._id : ""}
91
+ router={this.props.router}
92
+ location={this.props.location}
93
+ />
94
+ </div>
95
+ );
96
+ }
97
+ return (
98
+ <div></div>
99
+ );
100
+ }
101
+ }
102
+
103
+ Edit.propTypes = {
104
+ router: PropTypes.object,
105
+ location: PropTypes.object,
106
+ actions: PropTypes.object,
107
+ params: PropTypes.object,
108
+ Edit: PropTypes.object,
109
+ Templates: PropTypes.object,
110
+ };
111
+
112
+ const mapStateToProps = createStructuredSelector({
113
+ Edit: makeSelectEdit(),
114
+ Templates: makeSelectTemplates(),
115
+ });
116
+
117
+ function mapDispatchToProps(dispatch) {
118
+ return {
119
+ actions: bindActionCreators(actions, dispatch),
120
+ };
121
+ }
122
+
123
+ const withConnect = connect(mapStateToProps, mapDispatchToProps);
124
+ const withReducer = injectReducer({ key: 'edit', reducer });
125
+ const withCreateReducer = injectReducer({ key: 'create', reducer: createReducer });
126
+ const withSaga = injectSaga({ key: 'edit', saga: richMediaTemplatesEditSaga });
127
+ const withCreateSaga = injectSaga({ key: 'create', saga: richMediaTemplatesSaga });
128
+
129
+ export default compose(
130
+ withReducer,
131
+ withCreateReducer,
132
+ withSaga,
133
+ withCreateSaga,
134
+ withConnect,
135
+ )(Edit);
136
+
@@ -0,0 +1,13 @@
1
+ /*
2
+ * Edit Messages
3
+ *
4
+ * This contains all the text for the Edit component.
5
+ */
6
+ import { defineMessages } from 'react-intl';
7
+
8
+ export default defineMessages({
9
+ header: {
10
+ id: 'creatives.containers.Edit.header',
11
+ defaultMessage: 'This is Edit container !',
12
+ },
13
+ });
@@ -0,0 +1,28 @@
1
+ /*
2
+ *
3
+ * Edit reducer
4
+ *
5
+ */
6
+
7
+ import { fromJS } from 'immutable';
8
+ import * as types from './constants';
9
+
10
+ const initialState = fromJS({});
11
+
12
+ function editReducer(state = initialState, action) {
13
+ switch (action.type) {
14
+ case types.DEFAULT_ACTION:
15
+ return state;
16
+ case types.GET_TEMPLATE_DETAILS_REQUEST:
17
+ return state.set('getTemplateDetailsInProgress', true);
18
+ case types.GET_TEMPLATE_DETAILS_SUCCESS:
19
+ return state.set('getTemplateDetailsInProgress', false)
20
+ .set('templateDetails', action.data);
21
+ case types.GET_TEMPLATE_DETAILS_FAILURE:
22
+ return state.set('getTemplateDetailsInProgress', false);
23
+ default:
24
+ return state;
25
+ }
26
+ }
27
+
28
+ export default editReducer;
@@ -0,0 +1,36 @@
1
+ import { call, put, takeLatest, all } from 'redux-saga/effects';
2
+ import * as Api from '../../../../services/api';
3
+ import * as types from './constants';
4
+
5
+ // Individual exports for testing
6
+ export function* defaultSaga() {
7
+ // See example in containers/HomePage/sagas.js
8
+ }
9
+ export function* getTemplateDetails({id, channel}) {
10
+ try {
11
+ const params = {
12
+ id, channel,
13
+ };
14
+
15
+ const result = yield call(Api.getTemplateDetails, params);
16
+ // const sidebar = result.response.sidebar;
17
+ yield put({ type: types.GET_TEMPLATE_DETAILS_SUCCESS, data: result.response });
18
+ } catch (error) {
19
+ yield put({ type: types.GET_TEMPLATE_DETAILS_FAILURE, error });
20
+ }
21
+ }
22
+ function* watchGetTemplateDetails() {
23
+ yield takeLatest(types.GET_TEMPLATE_DETAILS_REQUEST, getTemplateDetails);
24
+ }
25
+ // All sagas to be loaded
26
+ export default [
27
+ defaultSaga,
28
+ watchGetTemplateDetails,
29
+ ];
30
+
31
+ export function* richMediaTemplatesEditSaga() {
32
+ yield all([
33
+ defaultSaga(),
34
+ watchGetTemplateDetails(),
35
+ ]);
36
+ }
@@ -0,0 +1,30 @@
1
+ import { createSelector } from 'reselect';
2
+
3
+ /**
4
+ * Direct selector to the edit state domain
5
+ */
6
+ const selectEditDomain = () => (state) => state.get('edit');
7
+ const selectTemplatesDomain = (state) => state.get('templates');
8
+
9
+ /**
10
+ * Other specific selectors
11
+ */
12
+ const makeSelectTemplates = () => createSelector(
13
+ selectTemplatesDomain,
14
+ (globalState) => globalState.toJS()
15
+ );
16
+
17
+ /**
18
+ * Default selector used by Edit
19
+ */
20
+
21
+ const makeSelectEdit = () => createSelector(
22
+ selectEditDomain(),
23
+ (substate) => substate.toJS()
24
+ );
25
+
26
+ export default makeSelectEdit;
27
+ export {
28
+ selectEditDomain,
29
+ makeSelectTemplates,
30
+ };
@@ -0,0 +1,12 @@
1
+
2
+ import { expectSaga } from "redux-saga-test-plan";
3
+
4
+ import {
5
+ richMediaTemplatesEditSaga,
6
+ } from "../sagas";
7
+
8
+ describe("richMediaTemplatesEditSaga Combined", () => {
9
+ it.concurrent("should initialize all richMediaTemplatesEditSaga-related watcher sagas without error", () => {
10
+ return expectSaga(richMediaTemplatesEditSaga).run();
11
+ });
12
+ });
@@ -0,0 +1,15 @@
1
+ /*
2
+ *
3
+ * View actions
4
+ *
5
+ */
6
+
7
+ import {
8
+ DEFAULT_ACTION,
9
+ } from './constants';
10
+
11
+ export function defaultAction() {
12
+ return {
13
+ type: DEFAULT_ACTION,
14
+ };
15
+ }
@@ -0,0 +1,7 @@
1
+ /*
2
+ *
3
+ * View constants
4
+ *
5
+ */
6
+
7
+ export const DEFAULT_ACTION = 'app/View/DEFAULT_ACTION';
@@ -0,0 +1,47 @@
1
+ /*
2
+ *
3
+ * View
4
+ *
5
+ */
6
+
7
+ import PropTypes from 'prop-types';
8
+
9
+ import React from 'react';
10
+ import { connect } from 'react-redux';
11
+ import Helmet from 'react-helmet';
12
+ import { FormattedMessage } from 'react-intl';
13
+ import { createStructuredSelector } from 'reselect';
14
+ import makeSelectView from './selectors';
15
+ import messages from './messages';
16
+
17
+ export class View extends React.PureComponent { // eslint-disable-line react/prefer-stateless-function
18
+ render() {
19
+ return (
20
+ <div>
21
+ <Helmet
22
+ title={<FormattedMessage {...messages.view} />}
23
+ meta={[
24
+ { name: 'description', content: <FormattedMessage {...messages.descriptionView} /> },
25
+ ]}
26
+ />
27
+ <FormattedMessage {...messages.header} />
28
+ </div>
29
+ );
30
+ }
31
+ }
32
+
33
+ View.propTypes = {
34
+ dispatch: PropTypes.func.isRequired,
35
+ };
36
+
37
+ const mapStateToProps = createStructuredSelector({
38
+ View: makeSelectView(),
39
+ });
40
+
41
+ function mapDispatchToProps(dispatch) {
42
+ return {
43
+ dispatch,
44
+ };
45
+ }
46
+
47
+ export default connect(mapStateToProps, mapDispatchToProps)(View);
@@ -0,0 +1,21 @@
1
+ /*
2
+ * View Messages
3
+ *
4
+ * This contains all the text for the View component.
5
+ */
6
+ import { defineMessages } from 'react-intl';
7
+
8
+ export default defineMessages({
9
+ header: {
10
+ id: 'creatives.containers.View.header',
11
+ defaultMessage: 'This is View container !',
12
+ },
13
+ view: {
14
+ id: 'creatives.containers.View.view',
15
+ defaultMessage: 'View',
16
+ },
17
+ descriptionView: {
18
+ id: 'creatives.containers.View.descriptionView',
19
+ defaultMessage: 'Description of View',
20
+ },
21
+ });
@@ -0,0 +1,23 @@
1
+ /*
2
+ *
3
+ * View reducer
4
+ *
5
+ */
6
+
7
+ import { fromJS } from 'immutable';
8
+ import {
9
+ DEFAULT_ACTION,
10
+ } from './constants';
11
+
12
+ const initialState = fromJS({});
13
+
14
+ function viewReducer(state = initialState, action) {
15
+ switch (action.type) {
16
+ case DEFAULT_ACTION:
17
+ return state;
18
+ default:
19
+ return state;
20
+ }
21
+ }
22
+
23
+ export default viewReducer;
@@ -0,0 +1,11 @@
1
+ // import { take, call, put, select } from 'redux-saga/effects';
2
+
3
+ // Individual exports for testing
4
+ export function* defaultSaga() {
5
+ // See example in containers/HomePage/sagas.js
6
+ }
7
+
8
+ // All sagas to be loaded
9
+ export default [
10
+ defaultSaga,
11
+ ];
@@ -0,0 +1,25 @@
1
+ import { createSelector } from 'reselect';
2
+
3
+ /**
4
+ * Direct selector to the view state domain
5
+ */
6
+ const selectViewDomain = () => (state) => state.get('view');
7
+
8
+ /**
9
+ * Other specific selectors
10
+ */
11
+
12
+
13
+ /**
14
+ * Default selector used by View
15
+ */
16
+
17
+ const makeSelectView = () => createSelector(
18
+ selectViewDomain(),
19
+ (substate) => substate.toJS()
20
+ );
21
+
22
+ export default makeSelectView;
23
+ export {
24
+ selectViewDomain,
25
+ };
package/index.js CHANGED
@@ -147,10 +147,8 @@ const FTPContainer = {FTP, FTPReducer, FTPSagas};
147
147
  export {default as TagList} from './v2Containers/TagList/index';
148
148
  export {default as TagListSaga} from './v2Containers/TagList/sagas';
149
149
  export {default as TagListReducer} from './v2Containers/TagList/reducer';
150
-
151
- export {default as TemplatePreview} from './v2Components/TemplatePreview';
152
- export {default as EmailPreview} from './v2Components/EmailPreview';
153
-
150
+ export {default as TemplatePreview} from './components/TemplatePreview';
151
+ export {default as EmailPreview} from './components/EmailPreview';
154
152
  export {default as EmailPreviewV2} from './v2Components/EmailPreviewV2';
155
153
  export {default as CallTaskPreview} from './v2Components/CallTaskPreview';
156
154
  export {default as EmailMobilePreview} from './v2Components/EmailMobilePreview';
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@capillarytech/creatives-library",
3
3
  "author": "meharaj",
4
- "version": "8.0.166",
4
+ "version": "8.0.168-alpha.0",
5
5
  "description": "Capillary creatives ui",
6
6
  "main": "./index.js",
7
7
  "module": "./index.es.js",