@capillarytech/creatives-library 2.0.69 → 2.0.71

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 (391) hide show
  1. package/app.js +1 -1
  2. package/components/Ckeditor/index.js +2 -1
  3. package/components/FormBuilder/index.js +25 -10
  4. package/components/Header/index.js +3 -1
  5. package/components/TemplatePreview/WechatRichmediaTemplatePreview/index.js +38 -3
  6. package/components/TemplatePreview/index.js +45 -51
  7. package/components/TemplatePreview/messages.js +1 -1
  8. package/containers/Cap/actions.js +0 -5
  9. package/containers/Cap/reducer.js +1 -1
  10. package/containers/Cap/selectors.js +0 -13
  11. package/containers/Ebill/index.js +1 -2
  12. package/containers/Email/_email.scss +1 -0
  13. package/containers/Email/actions.js +3 -8
  14. package/containers/Email/constants.js +0 -1
  15. package/containers/Email/index.js +947 -322
  16. package/containers/Email/reducer.js +0 -3
  17. package/containers/Email/sagas.js +6 -3
  18. package/containers/Email/selectors.js +1 -4
  19. package/containers/Line/Create/index.js +1 -2
  20. package/containers/Line/Edit/_lineEdit.scss +4 -0
  21. package/containers/Line/Edit/index.js +1 -3
  22. package/containers/MobilePush/Create/_mobilePushCreate.scss +3 -12
  23. package/containers/MobilePush/Create/actions.js +0 -6
  24. package/containers/MobilePush/Create/constants.js +0 -1
  25. package/containers/MobilePush/Create/index.js +1133 -628
  26. package/containers/MobilePush/Create/messages.js +1 -5
  27. package/containers/MobilePush/Create/reducer.js +0 -2
  28. package/containers/MobilePush/Create/selectors.js +3 -3
  29. package/containers/MobilePush/Edit/_mobilePushCreate.scss +3 -9
  30. package/containers/MobilePush/Edit/index.js +1127 -393
  31. package/containers/MobilePush/Edit/messages.js +0 -4
  32. package/containers/MobilePush/Edit/reducer.js +1 -2
  33. package/containers/MobilePush/Edit/selectors.js +3 -6
  34. package/containers/Sms/Create/_smsCreate.scss +2 -1
  35. package/containers/Sms/Create/actions.js +4 -4
  36. package/containers/Sms/Create/index.js +570 -102
  37. package/containers/Sms/Create/sagas.js +2 -1
  38. package/containers/Sms/Edit/actions.js +5 -10
  39. package/containers/Sms/Edit/constants.js +0 -1
  40. package/containers/Sms/Edit/index.js +548 -103
  41. package/containers/Sms/Edit/reducer.js +0 -2
  42. package/containers/Sms/Edit/sagas.js +3 -1
  43. package/containers/TagList/index.js +3 -3
  44. package/containers/Templates/actions.js +1 -3
  45. package/containers/Templates/index.js +299 -268
  46. package/containers/Templates/messages.js +90 -122
  47. package/containers/Templates/reducer.js +3 -3
  48. package/containers/Templates/sagas.js +1 -5
  49. package/containers/Templates/selectors.js +1 -41
  50. package/containers/WeChat/MapTemplates/index.js +3 -4
  51. package/containers/WeChat/RichmediaTemplates/Create/index.js +18 -4
  52. package/containers/WeChat/RichmediaTemplates/Create/messages.js +4 -0
  53. package/containers/WeChat/RichmediaTemplates/Edit/index.js +3 -1
  54. package/containers/WeChat/RichmediaTemplates/View/index.js +3 -1
  55. package/index.js +31 -31
  56. package/initialState.js +6 -0
  57. package/package.json +3 -3
  58. package/routes.js +24 -19
  59. package/services/api.js +6 -2
  60. package/services/getSchema.js +18 -0
  61. package/v2Containers/App/actions.js +7 -0
  62. package/v2Containers/App/constants.js +3 -0
  63. package/v2Containers/App/reducer.js +19 -0
  64. package/v2Containers/App/sagas.js +26 -0
  65. package/v2Containers/App/selectors.js +25 -0
  66. package/v2Containers/App/tests/actions.test.js +18 -0
  67. package/v2Containers/App/tests/reducer.test.js +9 -0
  68. package/v2Containers/App/tests/sagas.test.js +15 -0
  69. package/v2Containers/App/tests/selectors.test.js +10 -0
  70. package/v2Containers/Assets/Gallery/_gallery.scss +0 -0
  71. package/v2Containers/Assets/Gallery/actions.js +37 -0
  72. package/v2Containers/Assets/Gallery/constants.js +23 -0
  73. package/v2Containers/Assets/Gallery/index.js +479 -0
  74. package/v2Containers/Assets/Gallery/messages.js +97 -0
  75. package/v2Containers/Assets/Gallery/reducer.js +81 -0
  76. package/v2Containers/Assets/Gallery/sagas.js +84 -0
  77. package/v2Containers/Assets/Gallery/selectors.js +25 -0
  78. package/v2Containers/Assets/Gallery/tests/__snapshots__/reducer.test.js.snap +7 -0
  79. package/v2Containers/Assets/Gallery/tests/actions.test.js +26 -0
  80. package/v2Containers/Assets/Gallery/tests/index.test.js +10 -0
  81. package/v2Containers/Assets/Gallery/tests/reducer.test.js +95 -0
  82. package/v2Containers/Assets/Gallery/tests/sagas.test.js +15 -0
  83. package/v2Containers/Assets/Gallery/tests/selectors.test.js +10 -0
  84. package/v2Containers/CallTask/_callTask.scss +5 -0
  85. package/v2Containers/CallTask/actions.js +15 -0
  86. package/v2Containers/CallTask/constants.js +7 -0
  87. package/v2Containers/CallTask/index.js +141 -0
  88. package/v2Containers/CallTask/messages.js +21 -0
  89. package/v2Containers/CallTask/reducer.js +23 -0
  90. package/v2Containers/CallTask/sagas.js +11 -0
  91. package/v2Containers/CallTask/selectors.js +25 -0
  92. package/v2Containers/CallTask/tests/actions.test.js +18 -0
  93. package/v2Containers/CallTask/tests/index.test.js +10 -0
  94. package/v2Containers/CallTask/tests/reducer.test.js +9 -0
  95. package/v2Containers/CallTask/tests/sagas.test.js +15 -0
  96. package/v2Containers/CallTask/tests/selectors.test.js +10 -0
  97. package/v2Containers/Cap/actions.js +64 -0
  98. package/v2Containers/Cap/constants.js +24 -0
  99. package/v2Containers/Cap/index.js +349 -0
  100. package/v2Containers/Cap/messsages.js +63 -0
  101. package/v2Containers/Cap/reducer.js +111 -0
  102. package/v2Containers/Cap/sagas.js +143 -0
  103. package/v2Containers/Cap/selectors.js +85 -0
  104. package/v2Containers/Cap/tests/index.test.js +16 -0
  105. package/v2Containers/Cap/tests/selectors.test.js +28 -0
  106. package/v2Containers/ChannelTemplates/actions.js +20 -0
  107. package/v2Containers/ChannelTemplates/constants.js +8 -0
  108. package/v2Containers/ChannelTemplates/index.js +48 -0
  109. package/v2Containers/ChannelTemplates/messages.js +13 -0
  110. package/v2Containers/ChannelTemplates/reducer.js +34 -0
  111. package/v2Containers/ChannelTemplates/sagas.js +32 -0
  112. package/v2Containers/ChannelTemplates/selectors.js +25 -0
  113. package/v2Containers/ChannelTemplates/tests/actions.test.js +18 -0
  114. package/v2Containers/ChannelTemplates/tests/index.test.js +10 -0
  115. package/v2Containers/ChannelTemplates/tests/reducer.test.js +9 -0
  116. package/v2Containers/ChannelTemplates/tests/sagas.test.js +15 -0
  117. package/v2Containers/ChannelTemplates/tests/selectors.test.js +10 -0
  118. package/v2Containers/CreativesContainer/SlideBoxContent.js +257 -0
  119. package/v2Containers/CreativesContainer/SlideBoxFooter.js +45 -0
  120. package/v2Containers/CreativesContainer/SlideBoxHeader.js +70 -0
  121. package/v2Containers/CreativesContainer/actions.js +27 -0
  122. package/v2Containers/CreativesContainer/constants.js +16 -0
  123. package/v2Containers/CreativesContainer/index.js +483 -0
  124. package/v2Containers/CreativesContainer/index.scss +27 -0
  125. package/v2Containers/CreativesContainer/messages.js +293 -0
  126. package/v2Containers/CreativesContainer/reducer.js +29 -0
  127. package/v2Containers/CreativesContainer/sagas.js +11 -0
  128. package/v2Containers/CreativesContainer/selectors.js +30 -0
  129. package/v2Containers/CreativesContainer/tests/actions.test.js +18 -0
  130. package/v2Containers/CreativesContainer/tests/index.test.js +10 -0
  131. package/v2Containers/CreativesContainer/tests/reducer.test.js +9 -0
  132. package/v2Containers/CreativesContainer/tests/sagas.test.js +15 -0
  133. package/v2Containers/CreativesContainer/tests/selectors.test.js +10 -0
  134. package/v2Containers/Dashboard/actions.js +15 -0
  135. package/v2Containers/Dashboard/constants.js +7 -0
  136. package/v2Containers/Dashboard/index.js +54 -0
  137. package/v2Containers/Dashboard/messages.js +13 -0
  138. package/v2Containers/Dashboard/reducer.js +21 -0
  139. package/v2Containers/Dashboard/sagas.js +11 -0
  140. package/v2Containers/Dashboard/selectors.js +25 -0
  141. package/v2Containers/Dashboard/tests/actions.test.js +18 -0
  142. package/v2Containers/Dashboard/tests/index.test.js +10 -0
  143. package/v2Containers/Dashboard/tests/reducer.test.js +9 -0
  144. package/v2Containers/Dashboard/tests/sagas.test.js +15 -0
  145. package/v2Containers/Dashboard/tests/selectors.test.js +10 -0
  146. package/v2Containers/Ebill/_ebill.scss +5 -0
  147. package/v2Containers/Ebill/actions.js +43 -0
  148. package/v2Containers/Ebill/constants.js +20 -0
  149. package/v2Containers/Ebill/index.js +1261 -0
  150. package/v2Containers/Ebill/messages.js +73 -0
  151. package/v2Containers/Ebill/reducer.js +72 -0
  152. package/v2Containers/Ebill/sagas.js +65 -0
  153. package/v2Containers/Ebill/selectors.js +25 -0
  154. package/v2Containers/Ebill/tests/actions.test.js +18 -0
  155. package/v2Containers/Ebill/tests/index.test.js +10 -0
  156. package/v2Containers/Ebill/tests/reducer.test.js +9 -0
  157. package/v2Containers/Ebill/tests/sagas.test.js +15 -0
  158. package/v2Containers/Ebill/tests/selectors.test.js +10 -0
  159. package/v2Containers/Email/_email.scss +140 -0
  160. package/v2Containers/Email/actions.js +86 -0
  161. package/v2Containers/Email/constants.js +37 -0
  162. package/v2Containers/Email/index.js +2703 -0
  163. package/v2Containers/Email/initialSchema.js +540 -0
  164. package/v2Containers/Email/messages.js +237 -0
  165. package/v2Containers/Email/reducer.js +147 -0
  166. package/v2Containers/Email/sagas.js +133 -0
  167. package/v2Containers/Email/selectors.js +34 -0
  168. package/v2Containers/Email/tests/actions.test.js +18 -0
  169. package/v2Containers/Email/tests/index.test.js +10 -0
  170. package/v2Containers/Email/tests/reducer.test.js +9 -0
  171. package/v2Containers/Email/tests/sagas.test.js +15 -0
  172. package/v2Containers/Email/tests/selectors.test.js +10 -0
  173. package/v2Containers/EmailWrapper/actions.js +15 -0
  174. package/v2Containers/EmailWrapper/constants.js +7 -0
  175. package/v2Containers/EmailWrapper/index.js +258 -0
  176. package/v2Containers/EmailWrapper/messages.js +57 -0
  177. package/v2Containers/EmailWrapper/reducer.js +23 -0
  178. package/v2Containers/EmailWrapper/sagas.js +11 -0
  179. package/v2Containers/EmailWrapper/selectors.js +25 -0
  180. package/v2Containers/EmailWrapper/tests/actions.test.js +18 -0
  181. package/v2Containers/EmailWrapper/tests/index.test.js +10 -0
  182. package/v2Containers/EmailWrapper/tests/reducer.test.js +9 -0
  183. package/v2Containers/EmailWrapper/tests/sagas.test.js +15 -0
  184. package/v2Containers/EmailWrapper/tests/selectors.test.js +10 -0
  185. package/v2Containers/LanguageProvider/actions.js +17 -0
  186. package/v2Containers/LanguageProvider/constants.js +8 -0
  187. package/v2Containers/LanguageProvider/index.js +46 -0
  188. package/v2Containers/LanguageProvider/reducer.js +30 -0
  189. package/v2Containers/LanguageProvider/selectors.js +20 -0
  190. package/v2Containers/LanguageProvider/tests/actions.test.js +19 -0
  191. package/v2Containers/LanguageProvider/tests/index.test.js +49 -0
  192. package/v2Containers/LanguageProvider/tests/reducer.test.js +20 -0
  193. package/v2Containers/LanguageProvider/tests/selectors.test.js +15 -0
  194. package/v2Containers/Line/Create/_lineCreate.scss +43 -0
  195. package/v2Containers/Line/Create/actions.js +90 -0
  196. package/v2Containers/Line/Create/constants.js +39 -0
  197. package/v2Containers/Line/Create/index.js +822 -0
  198. package/v2Containers/Line/Create/messages.js +173 -0
  199. package/v2Containers/Line/Create/reducer.js +99 -0
  200. package/v2Containers/Line/Create/sagas.js +107 -0
  201. package/v2Containers/Line/Create/selectors.js +36 -0
  202. package/v2Containers/Line/Edit/_lineEdit.scss +21 -0
  203. package/v2Containers/Line/Edit/actions.js +79 -0
  204. package/v2Containers/Line/Edit/constants.js +27 -0
  205. package/v2Containers/Line/Edit/index.js +1050 -0
  206. package/v2Containers/Line/Edit/messages.js +157 -0
  207. package/v2Containers/Line/Edit/reducer.js +83 -0
  208. package/v2Containers/Line/Edit/sagas.js +81 -0
  209. package/v2Containers/Line/Edit/selectors.js +29 -0
  210. package/v2Containers/Line/Edit/tests/actions.test.js +18 -0
  211. package/v2Containers/Line/Edit/tests/index.test.js +10 -0
  212. package/v2Containers/Line/Edit/tests/reducer.test.js +9 -0
  213. package/v2Containers/Line/Edit/tests/sagas.test.js +15 -0
  214. package/v2Containers/Line/Edit/tests/selectors.test.js +10 -0
  215. package/v2Containers/Login/assets/images/capillary_logo.png +0 -0
  216. package/v2Containers/Login/components/LoginForm/index.js +59 -0
  217. package/v2Containers/Login/components/LoginForm/messages.js +21 -0
  218. package/v2Containers/Login/components/LoginForm/tests/index.test.js +10 -0
  219. package/v2Containers/Login/index.js +106 -0
  220. package/v2Containers/Login/messages.js +21 -0
  221. package/v2Containers/Login/selectors.js +25 -0
  222. package/v2Containers/Login/tests/index.test.js +10 -0
  223. package/v2Containers/Login/tests/sagas.test.js +15 -0
  224. package/v2Containers/Login/tests/selectors.test.js +10 -0
  225. package/v2Containers/MobilePush/Create/_mobilePushCreate.scss +41 -0
  226. package/v2Containers/MobilePush/Create/actions.js +52 -0
  227. package/v2Containers/MobilePush/Create/constants.js +24 -0
  228. package/v2Containers/MobilePush/Create/index.js +1759 -0
  229. package/v2Containers/MobilePush/Create/messages.js +237 -0
  230. package/v2Containers/MobilePush/Create/reducer.js +72 -0
  231. package/v2Containers/MobilePush/Create/sagas.js +60 -0
  232. package/v2Containers/MobilePush/Create/selectors.js +28 -0
  233. package/v2Containers/MobilePush/Create/tests/actions.test.js +18 -0
  234. package/v2Containers/MobilePush/Create/tests/index.test.js +10 -0
  235. package/v2Containers/MobilePush/Create/tests/reducer.test.js +9 -0
  236. package/v2Containers/MobilePush/Create/tests/sagas.test.js +15 -0
  237. package/v2Containers/MobilePush/Create/tests/selectors.test.js +10 -0
  238. package/v2Containers/MobilePush/Edit/_mobilePushCreate.scss +38 -0
  239. package/v2Containers/MobilePush/Edit/actions.js +91 -0
  240. package/v2Containers/MobilePush/Edit/constants.js +35 -0
  241. package/v2Containers/MobilePush/Edit/index.js +1846 -0
  242. package/v2Containers/MobilePush/Edit/messages.js +253 -0
  243. package/v2Containers/MobilePush/Edit/reducer.js +113 -0
  244. package/v2Containers/MobilePush/Edit/sagas.js +119 -0
  245. package/v2Containers/MobilePush/Edit/selectors.js +32 -0
  246. package/v2Containers/MobilePush/Edit/tests/actions.test.js +18 -0
  247. package/v2Containers/MobilePush/Edit/tests/index.test.js +10 -0
  248. package/v2Containers/MobilePush/Edit/tests/reducer.test.js +9 -0
  249. package/v2Containers/MobilePush/Edit/tests/sagas.test.js +15 -0
  250. package/v2Containers/MobilePush/Edit/tests/selectors.test.js +10 -0
  251. package/v2Containers/MobilePush/commonMethods.js +249 -0
  252. package/v2Containers/MobilePush/eventsMap.js +127 -0
  253. package/v2Containers/MobilePush/initialSchema.js +1739 -0
  254. package/v2Containers/MobilepushWrapper/_mobilepushWrapper.scss +18 -0
  255. package/v2Containers/MobilepushWrapper/index.js +136 -0
  256. package/v2Containers/MobilepushWrapper/messages.js +29 -0
  257. package/v2Containers/MobilepushWrapper/tests/index.test.js +10 -0
  258. package/v2Containers/NotFoundPage/index.js +25 -0
  259. package/v2Containers/NotFoundPage/messages.js +13 -0
  260. package/v2Containers/NotFoundPage/tests/index.test.js +17 -0
  261. package/v2Containers/Sms/Create/_smsCreate.scss +58 -0
  262. package/v2Containers/Sms/Create/actions.js +27 -0
  263. package/v2Containers/Sms/Create/constants.js +16 -0
  264. package/v2Containers/Sms/Create/index.js +1017 -0
  265. package/v2Containers/Sms/Create/messages.js +85 -0
  266. package/v2Containers/Sms/Create/reducer.js +41 -0
  267. package/v2Containers/Sms/Create/sagas.js +35 -0
  268. package/v2Containers/Sms/Create/selectors.js +28 -0
  269. package/v2Containers/Sms/Create/tests/actions.test.js +18 -0
  270. package/v2Containers/Sms/Create/tests/index.test.js +10 -0
  271. package/v2Containers/Sms/Create/tests/reducer.test.js +9 -0
  272. package/v2Containers/Sms/Create/tests/sagas.test.js +15 -0
  273. package/v2Containers/Sms/Create/tests/selectors.test.js +10 -0
  274. package/v2Containers/Sms/Edit/actions.js +45 -0
  275. package/v2Containers/Sms/Edit/constants.js +18 -0
  276. package/v2Containers/Sms/Edit/index.js +1018 -0
  277. package/v2Containers/Sms/Edit/messages.js +89 -0
  278. package/v2Containers/Sms/Edit/reducer.js +52 -0
  279. package/v2Containers/Sms/Edit/sagas.js +50 -0
  280. package/v2Containers/Sms/Edit/selectors.js +32 -0
  281. package/v2Containers/Sms/Edit/tests/actions.test.js +18 -0
  282. package/v2Containers/Sms/Edit/tests/index.test.js +10 -0
  283. package/v2Containers/Sms/Edit/tests/reducer.test.js +9 -0
  284. package/v2Containers/Sms/Edit/tests/sagas.test.js +15 -0
  285. package/v2Containers/Sms/Edit/tests/selectors.test.js +10 -0
  286. package/v2Containers/Sms/initialSchema.js +281 -0
  287. package/v2Containers/TagList/_tagList.scss +8 -0
  288. package/v2Containers/TagList/actions.js +15 -0
  289. package/v2Containers/TagList/constants.js +7 -0
  290. package/v2Containers/TagList/index.js +236 -0
  291. package/v2Containers/TagList/messages.js +13 -0
  292. package/v2Containers/TagList/reducer.js +23 -0
  293. package/v2Containers/TagList/sagas.js +11 -0
  294. package/v2Containers/TagList/selectors.js +25 -0
  295. package/v2Containers/TagList/tests/actions.test.js +18 -0
  296. package/v2Containers/TagList/tests/index.test.js +10 -0
  297. package/v2Containers/TagList/tests/reducer.test.js +9 -0
  298. package/v2Containers/TagList/tests/sagas.test.js +15 -0
  299. package/v2Containers/TagList/tests/selectors.test.js +10 -0
  300. package/v2Containers/Templates/_templates.scss +349 -0
  301. package/v2Containers/Templates/actions.js +110 -0
  302. package/v2Containers/Templates/constants.js +45 -0
  303. package/v2Containers/Templates/index.js +1682 -0
  304. package/v2Containers/Templates/messages.js +273 -0
  305. package/v2Containers/Templates/reducer.js +142 -0
  306. package/v2Containers/Templates/sagas.js +180 -0
  307. package/v2Containers/Templates/selectors.js +68 -0
  308. package/v2Containers/Templates/tests/actions.test.js +18 -0
  309. package/v2Containers/Templates/tests/index.test.js +10 -0
  310. package/v2Containers/Templates/tests/reducer.test.js +9 -0
  311. package/v2Containers/Templates/tests/sagas.test.js +15 -0
  312. package/v2Containers/Templates/tests/selectors.test.js +10 -0
  313. package/v2Containers/TemplatesV2/_templatesV2.scss +5 -0
  314. package/v2Containers/TemplatesV2/actions.js +16 -0
  315. package/v2Containers/TemplatesV2/constants.js +10 -0
  316. package/v2Containers/TemplatesV2/index.js +217 -0
  317. package/v2Containers/TemplatesV2/messages.js +29 -0
  318. package/v2Containers/TemplatesV2/selectors.js +25 -0
  319. package/v2Containers/TemplatesV2/tests/actions.test.js +18 -0
  320. package/v2Containers/TemplatesV2/tests/index.test.js +10 -0
  321. package/v2Containers/TemplatesV2/tests/reducer.test.js +9 -0
  322. package/v2Containers/TemplatesV2/tests/sagas.test.js +15 -0
  323. package/v2Containers/TemplatesV2/tests/selectors.test.js +10 -0
  324. package/v2Containers/TestPage/constants.js +7 -0
  325. package/v2Containers/TestPage/index.js +31 -0
  326. package/v2Containers/TestPage/messages.js +13 -0
  327. package/v2Containers/TestPage/reducer.js +21 -0
  328. package/v2Containers/TestPage/sagas.js +11 -0
  329. package/v2Containers/Testv2/actions.js +15 -0
  330. package/v2Containers/Testv2/constants.js +7 -0
  331. package/v2Containers/Testv2/index.js +47 -0
  332. package/v2Containers/Testv2/messages.js +13 -0
  333. package/v2Containers/Testv2/reducer.js +23 -0
  334. package/v2Containers/Testv2/sagas.js +11 -0
  335. package/v2Containers/Testv2/selectors.js +25 -0
  336. package/v2Containers/Testv2/tests/actions.test.js +18 -0
  337. package/v2Containers/Testv2/tests/index.test.js +10 -0
  338. package/v2Containers/Testv2/tests/reducer.test.js +9 -0
  339. package/v2Containers/Testv2/tests/sagas.test.js +15 -0
  340. package/v2Containers/Testv2/tests/selectors.test.js +10 -0
  341. package/v2Containers/WeChat/MapTemplates/_mapTemplates.scss +8 -0
  342. package/v2Containers/WeChat/MapTemplates/actions.js +52 -0
  343. package/v2Containers/WeChat/MapTemplates/constants.js +28 -0
  344. package/v2Containers/WeChat/MapTemplates/index.js +1385 -0
  345. package/v2Containers/WeChat/MapTemplates/messages.js +73 -0
  346. package/v2Containers/WeChat/MapTemplates/reducer.js +74 -0
  347. package/v2Containers/WeChat/MapTemplates/sagas.js +86 -0
  348. package/v2Containers/WeChat/MapTemplates/selectors.js +25 -0
  349. package/v2Containers/WeChat/MapTemplates/tests/actions.test.js +18 -0
  350. package/v2Containers/WeChat/MapTemplates/tests/index.test.js +10 -0
  351. package/v2Containers/WeChat/MapTemplates/tests/reducer.test.js +9 -0
  352. package/v2Containers/WeChat/MapTemplates/tests/sagas.test.js +15 -0
  353. package/v2Containers/WeChat/MapTemplates/tests/selectors.test.js +10 -0
  354. package/v2Containers/WeChat/RichmediaTemplates/Create/_createRichmedia.scss +57 -0
  355. package/v2Containers/WeChat/RichmediaTemplates/Create/actions.js +36 -0
  356. package/v2Containers/WeChat/RichmediaTemplates/Create/constants.js +15 -0
  357. package/v2Containers/WeChat/RichmediaTemplates/Create/index.js +1053 -0
  358. package/v2Containers/WeChat/RichmediaTemplates/Create/messages.js +141 -0
  359. package/v2Containers/WeChat/RichmediaTemplates/Create/reducer.js +60 -0
  360. package/v2Containers/WeChat/RichmediaTemplates/Create/richmediaschema.js +497 -0
  361. package/v2Containers/WeChat/RichmediaTemplates/Create/sagas.js +48 -0
  362. package/v2Containers/WeChat/RichmediaTemplates/Create/selectors.js +37 -0
  363. package/v2Containers/WeChat/RichmediaTemplates/Create/tests/actions.test.js +18 -0
  364. package/v2Containers/WeChat/RichmediaTemplates/Create/tests/index.test.js +10 -0
  365. package/v2Containers/WeChat/RichmediaTemplates/Create/tests/reducer.test.js +9 -0
  366. package/v2Containers/WeChat/RichmediaTemplates/Create/tests/sagas.test.js +15 -0
  367. package/v2Containers/WeChat/RichmediaTemplates/Create/tests/selectors.test.js +10 -0
  368. package/v2Containers/WeChat/RichmediaTemplates/Edit/actions.js +20 -0
  369. package/v2Containers/WeChat/RichmediaTemplates/Edit/constants.js +10 -0
  370. package/v2Containers/WeChat/RichmediaTemplates/Edit/index.js +116 -0
  371. package/v2Containers/WeChat/RichmediaTemplates/Edit/messages.js +13 -0
  372. package/v2Containers/WeChat/RichmediaTemplates/Edit/reducer.js +28 -0
  373. package/v2Containers/WeChat/RichmediaTemplates/Edit/sagas.js +32 -0
  374. package/v2Containers/WeChat/RichmediaTemplates/Edit/selectors.js +30 -0
  375. package/v2Containers/WeChat/RichmediaTemplates/Edit/tests/actions.test.js +18 -0
  376. package/v2Containers/WeChat/RichmediaTemplates/Edit/tests/index.test.js +10 -0
  377. package/v2Containers/WeChat/RichmediaTemplates/Edit/tests/reducer.test.js +9 -0
  378. package/v2Containers/WeChat/RichmediaTemplates/Edit/tests/sagas.test.js +15 -0
  379. package/v2Containers/WeChat/RichmediaTemplates/Edit/tests/selectors.test.js +10 -0
  380. package/v2Containers/WeChat/RichmediaTemplates/View/actions.js +15 -0
  381. package/v2Containers/WeChat/RichmediaTemplates/View/constants.js +7 -0
  382. package/v2Containers/WeChat/RichmediaTemplates/View/index.js +47 -0
  383. package/v2Containers/WeChat/RichmediaTemplates/View/messages.js +13 -0
  384. package/v2Containers/WeChat/RichmediaTemplates/View/reducer.js +23 -0
  385. package/v2Containers/WeChat/RichmediaTemplates/View/sagas.js +11 -0
  386. package/v2Containers/WeChat/RichmediaTemplates/View/selectors.js +25 -0
  387. package/v2Containers/WeChat/RichmediaTemplates/View/tests/actions.test.js +18 -0
  388. package/v2Containers/WeChat/RichmediaTemplates/View/tests/index.test.js +10 -0
  389. package/v2Containers/WeChat/RichmediaTemplates/View/tests/reducer.test.js +9 -0
  390. package/v2Containers/WeChat/RichmediaTemplates/View/tests/sagas.test.js +15 -0
  391. package/v2Containers/WeChat/RichmediaTemplates/View/tests/selectors.test.js +10 -0
@@ -0,0 +1,237 @@
1
+ /*
2
+ * Email Messages
3
+ *
4
+ * This contains all the text for the Email component.
5
+ */
6
+ import { defineMessages } from 'react-intl';
7
+
8
+ export default defineMessages({
9
+ createHeading: {
10
+ id: 'app.containers.Email.createHeading',
11
+ defaultMessage: 'Create Email Template',
12
+ },
13
+ editHeading: {
14
+ id: 'app.containers.Email.editHeading',
15
+ defaultMessage: 'Edit Email Template',
16
+ },
17
+ mostRecentOption: {
18
+ id: 'app.containers.Email.mostRecentOption',
19
+ defaultMessage: "Most Recent",
20
+ },
21
+ alphabeticallyOption: {
22
+ id: 'app.containers.Email.alphabeticallyOption',
23
+ defaultMessage: "Alphabetically",
24
+ },
25
+ templateLoader: {
26
+ id: 'app.containers.Email.templateLoader',
27
+ defaultMessage: 'Loading Template...',
28
+ },
29
+ loadingImages: {
30
+ id: 'app.containers.Email.loadingImage',
31
+ defaultMessage: 'Loading images...',
32
+ },
33
+ blankTemplate: {
34
+ id: 'app.containers.Email.blankTemplate',
35
+ defaultMessage: "Blank Template",
36
+ },
37
+ searchText: {
38
+ id: 'app.containers.Email.searchText',
39
+ defaultMessage: "Search",
40
+ },
41
+ sortBy: {
42
+ id: 'app.containers.Email.sortBy',
43
+ defaultMessage: "Sort by",
44
+ },
45
+ selectButton: {
46
+ id: 'app.containers.Email.selectButton',
47
+ defaultMessage: "Select",
48
+ },
49
+ previewButton: {
50
+ id: 'app.containers.Email.previewButton',
51
+ defaultMessage: "Preview",
52
+ },
53
+ editButton: {
54
+ id: 'app.containers.Email.editButton',
55
+ defaultMessage: "Edit",
56
+ },
57
+ uploadedAt: {
58
+ id: 'app.containers.Email.uploadedAt',
59
+ defaultMessage: 'Modified',
60
+ },
61
+ uploadedBy: {
62
+ id: 'app.containers.Email.uploadedBy',
63
+ defaultMessage: 'Uploaded By',
64
+ },
65
+ select: {
66
+ id: 'app.containers.Email.select',
67
+ defaultMessage: 'Select',
68
+ },
69
+ preview: {
70
+ id: 'app.containers.Email.preview',
71
+ defaultMessage: 'Preview',
72
+ },
73
+ delete: {
74
+ id: 'app.containers.Email.delete',
75
+ defaultMessage: 'Delete',
76
+ },
77
+ emailEditSuccess: {
78
+ id: 'app.containers.Email.emailEditSuccess',
79
+ defaultMessage: "Email Template Edited Successfully",
80
+ },
81
+ emailCreateSuccess: {
82
+ id: 'app.containers.Email.emailCreateSuccess',
83
+ defaultMessage: "Email Template Created Successfully",
84
+ },
85
+ somethingWentWrong: {
86
+ id: 'app.containers.Email.somethingWentWrong',
87
+ defaultMessage: "Something Went Wrong!!",
88
+ },
89
+ yes: {
90
+ id: 'app.containers.Email.yes',
91
+ defaultMessage: "Yes",
92
+ },
93
+ cancel: {
94
+ id: 'app.containers.Email.cancel',
95
+ defaultMessage: "Cancel",
96
+ },
97
+ edmSwtichMessage: {
98
+ id: 'app.containers.Email.edmSwtichMessage',
99
+ defaultMessage: "On choosing Edit as HTML, easy email design options such as drag-drop will be no longer available for this template.",
100
+ },
101
+ edmSwitchAcceptText: {
102
+ id: 'app.containers.Email.edmSwitchAcceptText',
103
+ defaultMessage: "I understand that this cannot be reversed.",
104
+ },
105
+ switchEditor: {
106
+ id: 'app.containers.Email.switchEditor',
107
+ defaultMessage: "Switch Editor",
108
+ },
109
+ mostRecent: {
110
+ id: 'app.containers.Email.mostRecent',
111
+ defaultMessage: 'Most Recent',
112
+ },
113
+ alphabetically: {
114
+ id: 'app.containers.Email.alphabetically',
115
+ defaultMessage: 'Alphabetically',
116
+ },
117
+ sortby: {
118
+ id: 'app.containers.Email.sortby',
119
+ defaultMessage: 'Sort by',
120
+ },
121
+ upload: {
122
+ id: 'app.containers.Email.upload',
123
+ defaultMessage: 'Upload Image',
124
+ },
125
+ saveTemplateLoader: {
126
+ id: 'app.containers.Email.saveTemplateLoader',
127
+ defaultMessage: 'Saving Template...',
128
+ },
129
+ "Enter Email Subject": {
130
+ id: 'app.containers.Email.emailSubject',
131
+ defaultMessage: 'Enter Email Subject',
132
+ },
133
+ "Subject": {
134
+ id: 'app.containers.Email.Subject',
135
+ defaultMessage: 'Subject',
136
+ },
137
+ "Email Subject cannot be empty.": {
138
+ id: 'app.containers.Email.emailSubjectNotEmplty',
139
+ defaultMessage: 'Email Subject cannot be empty.',
140
+ },
141
+ "Enter template name": {
142
+ id: 'app.containers.Email.templateNamePlaceholder',
143
+ defaultMessage: 'Enter template name',
144
+ },
145
+ "Template name cannot be empty.": {
146
+ id: 'app.containers.Email.templateNameNotEmpty',
147
+ defaultMessage: 'Please provide a template name ',
148
+ },
149
+ "Preview": {
150
+ id: 'app.containers.Email.Preview',
151
+ defaultMessage: 'Preview',
152
+ },
153
+ "Cancel": {
154
+ id: 'app.containers.Email.Cancel',
155
+ defaultMessage: 'Cancel',
156
+ },
157
+ "Save": {
158
+ id: 'app.containers.Email.Save',
159
+ defaultMessage: 'Save',
160
+ },
161
+ "Tags": {
162
+ id: 'app.containers.Email.Tags',
163
+ defaultMessage: 'Tags',
164
+ },
165
+ "image": {
166
+ id: 'app.containers.Email.kmage',
167
+ defaultMessage: 'Image',
168
+ },
169
+ "Mark as Final": {
170
+ id: 'app.containers.Email.markAsFinal',
171
+ defaultMessage: 'Mark as Final',
172
+ },
173
+ "Duplicate Version": {
174
+ id: 'app.containers.Email.dupicateVersion',
175
+ defaultMessage: 'Duplicate Version',
176
+ },
177
+ "Delete Version": {
178
+ id: 'app.containers.Email.deleteVersion',
179
+ defaultMessage: 'Delete Version',
180
+ },
181
+ "Delete Language": {
182
+ id: 'app.containers.Email.deleteLanguage',
183
+ defaultMessage: 'Delete Language',
184
+ },
185
+ "Switch Editor": {
186
+ id: 'app.containers.Email.switchEditor',
187
+ defaultMessage: 'Switch Editor',
188
+ },
189
+ "Do you really want to delete this language?": {
190
+ id: 'app.containers.Email.deleteLanguageConfirmation',
191
+ defaultMessage: 'Do you really want to delete this language?',
192
+ },
193
+ "Template Marked as Final Successfully": {
194
+ id: 'app.containers.Email.templateMarkedFinalSuccess',
195
+ defaultMessage: 'Template Marked as Final Successfully',
196
+ },
197
+ "You cant have more that 5 versions": {
198
+ id: 'app.containers.Email.moreThanFiveVersionNotAllowed',
199
+ defaultMessage: 'You cant have more that 5 versions',
200
+ },
201
+ "Email Preview": {
202
+ id: 'app.containers.Email.emailPreview',
203
+ defaultMessage: 'Email Preview',
204
+ },
205
+ "Image Selection": {
206
+ id: 'app.containers.Email.imageSelection',
207
+ defaultMessage: 'Image Selection',
208
+ },
209
+ Campaigns: {
210
+ id: 'app.containers.Email.Campaigns',
211
+ defaultMessage: 'Campaigns',
212
+ },
213
+ Creatives: {
214
+ id: 'app.containers.Email.Creatives',
215
+ defaultMessage: 'Creatives',
216
+ },
217
+ Email: {
218
+ id: 'app.containers.Email.emailText',
219
+ defaultMessage: 'Email',
220
+ },
221
+ "Do you really want to delete this version?": {
222
+ id: 'app.containers.Email.deleteVersionConfirm',
223
+ defaultMessage: 'Do you really want to delete this version?',
224
+ },
225
+ uploadingImage: {
226
+ id: 'app.containers.Email.uploadingImage',
227
+ defaultMessage: 'Uploading Image...',
228
+ },
229
+ uploadSizeError: {
230
+ id: 'app.containers.Email.uploadSizeError',
231
+ defaultMessage: 'File Size Too large to upload. Please upload file upto 5 MB',
232
+ },
233
+ assetUploadFailed: {
234
+ id: 'app.containers.Email.assetUploadFailed',
235
+ defaultMessage: 'Image uploaded failed',
236
+ },
237
+ });
@@ -0,0 +1,147 @@
1
+ /*
2
+ *
3
+ * Email reducer
4
+ *
5
+ */
6
+
7
+ import { fromJS } from 'immutable';
8
+ import * as types from './constants';
9
+
10
+
11
+ const initialState = fromJS({
12
+ createTemplateInProgress: false,
13
+ createResponse: {},
14
+ });
15
+
16
+ function emailReducer(state = initialState, action) {
17
+ //console.log('email reducer', action);
18
+ switch (action.type) {
19
+ case types.CREATE_TEMPLATE_REQUEST:
20
+ return state
21
+ .set('createTemplateInProgress', true)
22
+ .set('createTemplateError', false)
23
+ .set('createTemplateErrorMessage', fromJS(""));
24
+ case types.CREATE_TEMPLATE_SUCCESS:
25
+ return state
26
+ .set('createTemplateInProgress', false)
27
+ .set('createResponse', action.data)
28
+ .set('createTemplateErrorMessage', fromJS(action.errorMsg))
29
+ .set('createTemplateError', (action.statusCode !== undefined && action.statusCode > 300));
30
+ case types.CREATE_TEMPLATE_FAILURE:
31
+ return state
32
+ .set('createTemplateInProgress', false)
33
+ .set('createTemplateError', true)
34
+ .set('createTemplateErrorMessage', fromJS(action.errorMsg));
35
+ case types.DUPLICATE_TEMPLATE_REQUEST:
36
+ return state
37
+ .set('duplicateTemplateInProgress', true)
38
+ .set('duplicateTemplateError', false)
39
+ .set('duplicateTemplateErrorMessage', fromJS(""));
40
+ case types.DUPLICATE_TEMPLATE_SUCCESS:
41
+ return state
42
+ .set('duplicateTemplateInProgress', false)
43
+ .set('duplicateResponse', action.data)
44
+ .set('duplicateTemplateErrorMessage', fromJS(action.errorMsg))
45
+ .set('duplicateTemplateError', (action.statusCode !== undefined && action.statusCode > 300));
46
+ case types.DUPLICATE_TEMPLATE_FAILURE:
47
+ return state
48
+ .set('duplicateTemplateInProgress', false)
49
+ .set('duplicateTemplateError', true)
50
+ .set('duplicateTemplateErrorMessage', fromJS(action.errorMsg));
51
+ case types.GET_TEMPLATE_DETAILS_REQUEST:
52
+ return state
53
+ .set('getTemplateDetailsInProgress', true);
54
+ case types.GET_TEMPLATE_DETAILS_SUCCESS:
55
+ return state
56
+ .set('getTemplateDetailsInProgress', false)
57
+ .set('templateDetails', fromJS(action.data));
58
+ case types.GET_TEMPLATE_DETAILS_FAILURE:
59
+ return state
60
+ .set('getTemplateDetailsInProgress', false);
61
+ case types.GET_ALL_ASSETS_REQUEST:
62
+ return state
63
+ .set('fetchingAllAssets', true)
64
+ .set('fetchAllAssetSuccess', false);
65
+ case types.GET_ALL_ASSETS_SUCCESS:
66
+ if (action.isReset) {
67
+ return state
68
+ .set('assetList', fromJS(action.data.assets))
69
+ .set('fetchingAllAssets', false)
70
+ .set('fetchAllAssetSuccess', true);
71
+ }
72
+ return state
73
+ .set('assetList', fromJS(state.get('assetList').toJS().concat(action.data.assets)))
74
+ .set('fetchingAllAssets', false)
75
+ .set('fetchAllAssetSuccess', true);
76
+ case types.GET_ALL_ASSETS_FAILURE:
77
+ return state
78
+ .set('fetchingAllAssets', false)
79
+ .set('fetchAllAssetSuccess', false);
80
+ case types.GET_CMS_EDITOR_DETAILS_REQUEST:
81
+ return state
82
+ .set('fetchingCmsSettings', true)
83
+ .set('fetchingCmsSettingsError', false);
84
+ case types.GET_CMS_EDITOR_DETAILS_SUCCESS:
85
+ return state
86
+ .set('fetchingCmsSettings', false)
87
+ .set('CmsSettings', fromJS(action.settings));
88
+ case types.GET_CMS_EDITOR_DETAILS_FAILURE:
89
+ return state
90
+ .set('fetchingCmsSettings', false)
91
+ .set('fetchingCmsSettingsError', true);
92
+ case types.GET_CMS_EDITOR_DATA_REQUEST:
93
+ return state
94
+ .set('fetchingCmsData', true)
95
+ .set('cmsData', '')
96
+ .set('langId', undefined)
97
+ .set('fetchingCmsDataFailed', false);
98
+ case types.RESET_CMS_EDITOR_DATA:
99
+ return state
100
+ .set('cmsData', '');
101
+ case types.GET_CMS_EDITOR_DATA_SUCCESS:
102
+ return state
103
+ .set('fetchingCmsData', false)
104
+ .set('cmsData', action.data)
105
+ .set('langId', action.langId);
106
+ case types.GET_CMS_EDITOR_DATA_FAILURE:
107
+ return state
108
+ .set('fetchingCmsData', false)
109
+ .set('fetchingCmsDataFailed', true);
110
+ case types.CLEAR_EMAIL_CRUD_RESPONSE_REQUEST:
111
+ return state
112
+ .set('createResponse', fromJS({}));
113
+ case types.UPLOAD_ASSET_REQUEST:
114
+ return state
115
+ .set('uploadAssetSuccess', false)
116
+ .set('assetUploading', true);
117
+ case types.UPLOAD_ASSET_SUCCESS:
118
+ return state
119
+ .set('uploadAssetSuccess', (action.statusCode !== undefined && action.statusCode !== '' && action.statusCode < 300))
120
+ .set('assetUploading', false)
121
+ .set('uploadedAssetData', action.data);
122
+ case types.UPLOAD_ASSET_FAILURE:
123
+ return state
124
+ .set('uploadAssetSuccess', false)
125
+ .set('assetUploading', false);
126
+
127
+ case types.CLEAR_ALL_VALUES:
128
+ return state
129
+ .set('createTemplateInProgress', false)
130
+ .set('createResponse', fromJS({}))
131
+ .set('createTemplateError', false)
132
+ .set('getTemplateDetailsInProgress', false)
133
+ .set('templateDetails', fromJS([]))
134
+ .set('fetchingAllAssets', false)
135
+ .set('fetchAllAssetSuccess', false)
136
+ .set('assetList', fromJS([]))
137
+ .set('fetchingCmsSettings', false)
138
+ .set('fetchingCmsSettingsError', false)
139
+ .set('CmsSettings', fromJS({}))
140
+ .set('fetchingCmsData', false)
141
+ .set('cmsData', '');
142
+ default:
143
+ return state;
144
+ }
145
+ }
146
+
147
+ export default emailReducer;
@@ -0,0 +1,133 @@
1
+ import { take, cancel, call, put, takeLatest, takeEvery } 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
+
7
+ export function* createTemplate(template) {
8
+ let errorMsg;
9
+ try {
10
+ const result = yield call(Api.createEmailTemplate, template);
11
+ if (result.message || result.status.code === 500) {
12
+ errorMsg = result.message;
13
+ }
14
+ yield put({ type: types.CREATE_TEMPLATE_SUCCESS, data: result.response, statusCode: result.status ? result.status.code : '', errorMsg });
15
+ yield template.onCreateTemplateComplete(result.response);
16
+ } catch (error) {
17
+ yield put({ type: types.CREATE_TEMPLATE_FAILURE, error, errorMsg });
18
+ }
19
+ }
20
+
21
+ export function* duplicateTemplate(id, channel) {
22
+ let errorMsg;
23
+ try {
24
+ const result = yield call(Api.duplicateTemplate, id, channel );
25
+ if (result.message || result.status.code === 500) {
26
+ errorMsg = result.message;
27
+ }
28
+ yield put({ type: types.DUPLICATE_TEMPLATE_SUCCESS, data: result.response, statusCode: result.status ? result.status.code : '', errorMsg });
29
+ } catch (error) {
30
+ yield put({ type: types.DUPLICATE_TEMPLATE_FAILURE, error, errorMsg });
31
+ }
32
+ }
33
+
34
+ export function* getTemplateDetails(id) {
35
+ try {
36
+ const result = yield call(Api.getTemplateDetails, id);
37
+ // const sidebar = result.response.sidebar;
38
+ yield put({ type: types.GET_TEMPLATE_DETAILS_SUCCESS, data: result.response });
39
+ } catch (error) {
40
+ yield put({ type: types.GET_TEMPLATE_DETAILS_FAILURE, error });
41
+ }
42
+ }
43
+
44
+ export function* getAllAssets(assetType, queryParams) {
45
+ try {
46
+ const result = yield call(Api.getAllAssets, assetType, queryParams);
47
+ yield put({ type: types.GET_ALL_ASSETS_SUCCESS, data: result.data.response, isReset: assetType.queryParams.page === 1 });
48
+ } catch (error) {
49
+ yield put({ type: types.GET_ALL_ASSETS_FAILURE, error });
50
+ }
51
+ }
52
+
53
+ export function* getCmsSetting({cmsType, projectId, cmsMode, langId, isEdmSupport}) {
54
+ try {
55
+ const result = yield call(Api.getCmsTemplateSettings, cmsType, projectId, cmsMode, langId, isEdmSupport);
56
+
57
+ yield put({ type: types.GET_CMS_EDITOR_DETAILS_SUCCESS, settings: result.data.response.cmsDetails });
58
+ } catch (error) {
59
+ yield put({ type: types.GET_CMS_EDITOR_DETAILS_FAILURE, error });
60
+ }
61
+ }
62
+
63
+ export function* getCmsData({cmsType, projectId, langId}) {
64
+ try {
65
+ const result = yield call(Api.getCmsTemplateData, cmsType, projectId, langId);
66
+
67
+ yield put({ type: types.GET_CMS_EDITOR_DATA_SUCCESS, data: result.data.response.data, langId: result.data.response.langId });
68
+ } catch (error) {
69
+ yield put({ type: types.GET_CMS_EDITOR_DATA_FAILURE, error });
70
+ }
71
+ }
72
+
73
+ export function* uploadAsset(file, assetType, fileParams) {
74
+ try {
75
+ const result = yield call(Api.uploadFile, file, assetType, fileParams);
76
+ yield put({ type: types.UPLOAD_ASSET_SUCCESS, data: result.response.asset, statusCode: result.status ? result.status.code : '' });
77
+ } catch (error) {
78
+ yield put({ type: types.UPLOAD_ASSET_FAILURE, error });
79
+ }
80
+ }
81
+
82
+ function* watchCreateTemplate() {
83
+ const watcher = yield takeLatest(types.CREATE_TEMPLATE_REQUEST, createTemplate);
84
+ yield take(LOCATION_CHANGE);
85
+ yield cancel(watcher);
86
+ }
87
+
88
+ function* watchGetTemplateDetails() {
89
+ const watcher = yield takeLatest(types.GET_TEMPLATE_DETAILS_REQUEST, getTemplateDetails);
90
+ yield take(LOCATION_CHANGE);
91
+ yield cancel(watcher);
92
+ }
93
+
94
+ function* watchGetAllAssets() {
95
+ const watcher = yield takeLatest(types.GET_ALL_ASSETS_REQUEST, getAllAssets);
96
+ yield take(LOCATION_CHANGE);
97
+ yield cancel(watcher);
98
+ }
99
+
100
+ function* watchGetCmsSetting() {
101
+ const watcher = yield takeEvery(types.GET_CMS_EDITOR_DETAILS_REQUEST, getCmsSetting);
102
+ yield take(LOCATION_CHANGE);
103
+ yield cancel(watcher);
104
+ }
105
+
106
+ function* watchGetCmsData() {
107
+ const watcher = yield takeEvery(types.GET_CMS_EDITOR_DATA_REQUEST, getCmsData);
108
+ yield take(LOCATION_CHANGE);
109
+ yield cancel(watcher);
110
+ }
111
+
112
+ function* watchUploadAsset() {
113
+ const watcher = yield takeLatest(types.UPLOAD_ASSET_REQUEST, uploadAsset);
114
+ yield take(LOCATION_CHANGE);
115
+ yield cancel(watcher);
116
+ }
117
+
118
+ function* watchDuplicateTemplate() {
119
+ const watcher = yield takeLatest(types.DUPLICATE_TEMPLATE_REQUEST, duplicateTemplate);
120
+ yield take(LOCATION_CHANGE);
121
+ yield cancel(watcher);
122
+ }
123
+
124
+ // All sagas to be loaded
125
+ export default [
126
+ watchCreateTemplate,
127
+ watchGetTemplateDetails,
128
+ watchGetAllAssets,
129
+ watchGetCmsSetting,
130
+ watchGetCmsData,
131
+ watchUploadAsset,
132
+ watchDuplicateTemplate,
133
+ ];
@@ -0,0 +1,34 @@
1
+ import { createSelector } from 'reselect';
2
+
3
+ /**
4
+ * Direct selector to the email state domain
5
+ */
6
+ const selectEmailDomain = () => (state) => state.get('email');
7
+
8
+ /**
9
+ * Other specific selectors
10
+ */
11
+
12
+
13
+ /**
14
+ * Default selector used by Email
15
+ */
16
+
17
+ const makeSelectEmail = () => createSelector(
18
+ selectEmailDomain(),
19
+ (substate) => substate.toJS()
20
+ );
21
+
22
+ const makeSelectCreateResponse = () => createSelector(
23
+ selectEmailDomain(), (dimensionState) => dimensionState.get('createResponse')
24
+ );
25
+ const selectLoadingStatus = () => createSelector(
26
+ selectEmailDomain(), (email) => email.createTemplateInProgress || (email.assetUploading !== undefined && email.assetUploading)
27
+ );
28
+
29
+ export default makeSelectEmail;
30
+ export {
31
+ makeSelectEmail,
32
+ makeSelectCreateResponse,
33
+ selectLoadingStatus,
34
+ };
@@ -0,0 +1,18 @@
1
+
2
+ import {
3
+ defaultAction,
4
+ } from '../actions';
5
+ import {
6
+ DEFAULT_ACTION,
7
+ } from '../constants';
8
+
9
+ describe('Email 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,10 @@
1
+ // import React from 'react';
2
+ // import { shallow } from 'enzyme';
3
+
4
+ // import { Email } from '../index';
5
+
6
+ describe('<Email />', () => {
7
+ it('Expect to have unit tests specified', () => {
8
+ expect(true).toEqual(false);
9
+ });
10
+ });
@@ -0,0 +1,9 @@
1
+
2
+ import { fromJS } from 'immutable';
3
+ import emailReducer from '../reducer';
4
+
5
+ describe('emailReducer', () => {
6
+ it('returns the initial state', () => {
7
+ expect(emailReducer(undefined, {})).toEqual(fromJS({}));
8
+ });
9
+ });
@@ -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 { makeSelectEmailDomain } from '../selectors';
3
+
4
+ // const selector = makeSelectEmailDomain();
5
+
6
+ describe('makeSelectEmailDomain', () => {
7
+ it('Expect to have unit tests specified', () => {
8
+ expect(true).toEqual(false);
9
+ });
10
+ });
@@ -0,0 +1,15 @@
1
+ /*
2
+ *
3
+ * EmailWrapper 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
+ * EmailWrapper constants
4
+ *
5
+ */
6
+
7
+ export const DEFAULT_ACTION = 'app/EmailWrapper/DEFAULT_ACTION';