@capillarytech/creatives-library 2.0.70 → 2.0.72

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 (395) hide show
  1. package/app.js +1 -1
  2. package/components/Ckeditor/index.js +2 -1
  3. package/components/EmailMobilePreview/index.scss +0 -1
  4. package/components/EmailPreviewV2/_emailPreviewV2.scss +4 -1
  5. package/components/EmailPreviewV2/index.js +1 -1
  6. package/components/FormBuilder/index.js +25 -10
  7. package/components/Header/index.js +3 -1
  8. package/components/TemplatePreview/WechatRichmediaTemplatePreview/index.js +38 -3
  9. package/components/TemplatePreview/index.js +45 -51
  10. package/components/TemplatePreview/messages.js +1 -1
  11. package/config/app.js +1 -0
  12. package/containers/Cap/actions.js +0 -5
  13. package/containers/Cap/reducer.js +1 -1
  14. package/containers/Cap/selectors.js +0 -13
  15. package/containers/Ebill/index.js +1 -2
  16. package/containers/Email/_email.scss +1 -0
  17. package/containers/Email/actions.js +3 -8
  18. package/containers/Email/constants.js +0 -1
  19. package/containers/Email/index.js +947 -322
  20. package/containers/Email/reducer.js +0 -3
  21. package/containers/Email/sagas.js +6 -3
  22. package/containers/Email/selectors.js +1 -4
  23. package/containers/Line/Create/index.js +1 -2
  24. package/containers/Line/Edit/_lineEdit.scss +4 -0
  25. package/containers/Line/Edit/index.js +1 -3
  26. package/containers/MobilePush/Create/_mobilePushCreate.scss +3 -12
  27. package/containers/MobilePush/Create/actions.js +0 -6
  28. package/containers/MobilePush/Create/constants.js +0 -1
  29. package/containers/MobilePush/Create/index.js +1133 -628
  30. package/containers/MobilePush/Create/messages.js +1 -5
  31. package/containers/MobilePush/Create/reducer.js +0 -2
  32. package/containers/MobilePush/Create/selectors.js +3 -3
  33. package/containers/MobilePush/Edit/_mobilePushCreate.scss +3 -9
  34. package/containers/MobilePush/Edit/index.js +1127 -393
  35. package/containers/MobilePush/Edit/messages.js +0 -4
  36. package/containers/MobilePush/Edit/reducer.js +1 -2
  37. package/containers/MobilePush/Edit/selectors.js +3 -6
  38. package/containers/Sms/Create/_smsCreate.scss +2 -1
  39. package/containers/Sms/Create/actions.js +4 -4
  40. package/containers/Sms/Create/index.js +570 -102
  41. package/containers/Sms/Create/sagas.js +2 -1
  42. package/containers/Sms/Edit/actions.js +5 -10
  43. package/containers/Sms/Edit/constants.js +0 -1
  44. package/containers/Sms/Edit/index.js +548 -103
  45. package/containers/Sms/Edit/reducer.js +0 -2
  46. package/containers/Sms/Edit/sagas.js +3 -1
  47. package/containers/TagList/index.js +3 -3
  48. package/containers/Templates/actions.js +1 -3
  49. package/containers/Templates/index.js +299 -268
  50. package/containers/Templates/messages.js +90 -122
  51. package/containers/Templates/reducer.js +3 -3
  52. package/containers/Templates/sagas.js +1 -5
  53. package/containers/Templates/selectors.js +1 -41
  54. package/containers/WeChat/MapTemplates/index.js +3 -4
  55. package/containers/WeChat/RichmediaTemplates/Create/index.js +18 -4
  56. package/containers/WeChat/RichmediaTemplates/Create/messages.js +4 -0
  57. package/containers/WeChat/RichmediaTemplates/Edit/index.js +3 -1
  58. package/containers/WeChat/RichmediaTemplates/View/index.js +3 -1
  59. package/index.js +31 -31
  60. package/initialState.js +6 -0
  61. package/package.json +3 -3
  62. package/routes.js +24 -19
  63. package/services/api.js +6 -2
  64. package/services/getSchema.js +18 -0
  65. package/v2Containers/App/actions.js +7 -0
  66. package/v2Containers/App/constants.js +3 -0
  67. package/v2Containers/App/reducer.js +19 -0
  68. package/v2Containers/App/sagas.js +26 -0
  69. package/v2Containers/App/selectors.js +25 -0
  70. package/v2Containers/App/tests/actions.test.js +18 -0
  71. package/v2Containers/App/tests/reducer.test.js +9 -0
  72. package/v2Containers/App/tests/sagas.test.js +15 -0
  73. package/v2Containers/App/tests/selectors.test.js +10 -0
  74. package/v2Containers/Assets/Gallery/_gallery.scss +0 -0
  75. package/v2Containers/Assets/Gallery/actions.js +37 -0
  76. package/v2Containers/Assets/Gallery/constants.js +23 -0
  77. package/v2Containers/Assets/Gallery/index.js +479 -0
  78. package/v2Containers/Assets/Gallery/messages.js +97 -0
  79. package/v2Containers/Assets/Gallery/reducer.js +81 -0
  80. package/v2Containers/Assets/Gallery/sagas.js +84 -0
  81. package/v2Containers/Assets/Gallery/selectors.js +25 -0
  82. package/v2Containers/Assets/Gallery/tests/__snapshots__/reducer.test.js.snap +7 -0
  83. package/v2Containers/Assets/Gallery/tests/actions.test.js +26 -0
  84. package/v2Containers/Assets/Gallery/tests/index.test.js +10 -0
  85. package/v2Containers/Assets/Gallery/tests/reducer.test.js +95 -0
  86. package/v2Containers/Assets/Gallery/tests/sagas.test.js +15 -0
  87. package/v2Containers/Assets/Gallery/tests/selectors.test.js +10 -0
  88. package/v2Containers/CallTask/_callTask.scss +5 -0
  89. package/v2Containers/CallTask/actions.js +15 -0
  90. package/v2Containers/CallTask/constants.js +7 -0
  91. package/v2Containers/CallTask/index.js +141 -0
  92. package/v2Containers/CallTask/messages.js +21 -0
  93. package/v2Containers/CallTask/reducer.js +23 -0
  94. package/v2Containers/CallTask/sagas.js +11 -0
  95. package/v2Containers/CallTask/selectors.js +25 -0
  96. package/v2Containers/CallTask/tests/actions.test.js +18 -0
  97. package/v2Containers/CallTask/tests/index.test.js +10 -0
  98. package/v2Containers/CallTask/tests/reducer.test.js +9 -0
  99. package/v2Containers/CallTask/tests/sagas.test.js +15 -0
  100. package/v2Containers/CallTask/tests/selectors.test.js +10 -0
  101. package/v2Containers/Cap/actions.js +64 -0
  102. package/v2Containers/Cap/constants.js +24 -0
  103. package/v2Containers/Cap/index.js +349 -0
  104. package/v2Containers/Cap/messsages.js +63 -0
  105. package/v2Containers/Cap/reducer.js +111 -0
  106. package/v2Containers/Cap/sagas.js +143 -0
  107. package/v2Containers/Cap/selectors.js +85 -0
  108. package/v2Containers/Cap/tests/index.test.js +16 -0
  109. package/v2Containers/Cap/tests/selectors.test.js +28 -0
  110. package/v2Containers/ChannelTemplates/actions.js +20 -0
  111. package/v2Containers/ChannelTemplates/constants.js +8 -0
  112. package/v2Containers/ChannelTemplates/index.js +48 -0
  113. package/v2Containers/ChannelTemplates/messages.js +13 -0
  114. package/v2Containers/ChannelTemplates/reducer.js +34 -0
  115. package/v2Containers/ChannelTemplates/sagas.js +32 -0
  116. package/v2Containers/ChannelTemplates/selectors.js +25 -0
  117. package/v2Containers/ChannelTemplates/tests/actions.test.js +18 -0
  118. package/v2Containers/ChannelTemplates/tests/index.test.js +10 -0
  119. package/v2Containers/ChannelTemplates/tests/reducer.test.js +9 -0
  120. package/v2Containers/ChannelTemplates/tests/sagas.test.js +15 -0
  121. package/v2Containers/ChannelTemplates/tests/selectors.test.js +10 -0
  122. package/v2Containers/CreativesContainer/SlideBoxContent.js +257 -0
  123. package/v2Containers/CreativesContainer/SlideBoxFooter.js +45 -0
  124. package/v2Containers/CreativesContainer/SlideBoxHeader.js +70 -0
  125. package/v2Containers/CreativesContainer/actions.js +27 -0
  126. package/v2Containers/CreativesContainer/constants.js +16 -0
  127. package/v2Containers/CreativesContainer/index.js +483 -0
  128. package/v2Containers/CreativesContainer/index.scss +27 -0
  129. package/v2Containers/CreativesContainer/messages.js +293 -0
  130. package/v2Containers/CreativesContainer/reducer.js +29 -0
  131. package/v2Containers/CreativesContainer/sagas.js +11 -0
  132. package/v2Containers/CreativesContainer/selectors.js +30 -0
  133. package/v2Containers/CreativesContainer/tests/actions.test.js +18 -0
  134. package/v2Containers/CreativesContainer/tests/index.test.js +10 -0
  135. package/v2Containers/CreativesContainer/tests/reducer.test.js +9 -0
  136. package/v2Containers/CreativesContainer/tests/sagas.test.js +15 -0
  137. package/v2Containers/CreativesContainer/tests/selectors.test.js +10 -0
  138. package/v2Containers/Dashboard/actions.js +15 -0
  139. package/v2Containers/Dashboard/constants.js +7 -0
  140. package/v2Containers/Dashboard/index.js +54 -0
  141. package/v2Containers/Dashboard/messages.js +13 -0
  142. package/v2Containers/Dashboard/reducer.js +21 -0
  143. package/v2Containers/Dashboard/sagas.js +11 -0
  144. package/v2Containers/Dashboard/selectors.js +25 -0
  145. package/v2Containers/Dashboard/tests/actions.test.js +18 -0
  146. package/v2Containers/Dashboard/tests/index.test.js +10 -0
  147. package/v2Containers/Dashboard/tests/reducer.test.js +9 -0
  148. package/v2Containers/Dashboard/tests/sagas.test.js +15 -0
  149. package/v2Containers/Dashboard/tests/selectors.test.js +10 -0
  150. package/v2Containers/Ebill/_ebill.scss +5 -0
  151. package/v2Containers/Ebill/actions.js +43 -0
  152. package/v2Containers/Ebill/constants.js +20 -0
  153. package/v2Containers/Ebill/index.js +1261 -0
  154. package/v2Containers/Ebill/messages.js +73 -0
  155. package/v2Containers/Ebill/reducer.js +72 -0
  156. package/v2Containers/Ebill/sagas.js +65 -0
  157. package/v2Containers/Ebill/selectors.js +25 -0
  158. package/v2Containers/Ebill/tests/actions.test.js +18 -0
  159. package/v2Containers/Ebill/tests/index.test.js +10 -0
  160. package/v2Containers/Ebill/tests/reducer.test.js +9 -0
  161. package/v2Containers/Ebill/tests/sagas.test.js +15 -0
  162. package/v2Containers/Ebill/tests/selectors.test.js +10 -0
  163. package/v2Containers/Email/_email.scss +140 -0
  164. package/v2Containers/Email/actions.js +86 -0
  165. package/v2Containers/Email/constants.js +37 -0
  166. package/v2Containers/Email/index.js +2703 -0
  167. package/v2Containers/Email/initialSchema.js +540 -0
  168. package/v2Containers/Email/messages.js +237 -0
  169. package/v2Containers/Email/reducer.js +147 -0
  170. package/v2Containers/Email/sagas.js +133 -0
  171. package/v2Containers/Email/selectors.js +34 -0
  172. package/v2Containers/Email/tests/actions.test.js +18 -0
  173. package/v2Containers/Email/tests/index.test.js +10 -0
  174. package/v2Containers/Email/tests/reducer.test.js +9 -0
  175. package/v2Containers/Email/tests/sagas.test.js +15 -0
  176. package/v2Containers/Email/tests/selectors.test.js +10 -0
  177. package/v2Containers/EmailWrapper/actions.js +15 -0
  178. package/v2Containers/EmailWrapper/constants.js +7 -0
  179. package/v2Containers/EmailWrapper/index.js +258 -0
  180. package/v2Containers/EmailWrapper/messages.js +57 -0
  181. package/v2Containers/EmailWrapper/reducer.js +23 -0
  182. package/v2Containers/EmailWrapper/sagas.js +11 -0
  183. package/v2Containers/EmailWrapper/selectors.js +25 -0
  184. package/v2Containers/EmailWrapper/tests/actions.test.js +18 -0
  185. package/v2Containers/EmailWrapper/tests/index.test.js +10 -0
  186. package/v2Containers/EmailWrapper/tests/reducer.test.js +9 -0
  187. package/v2Containers/EmailWrapper/tests/sagas.test.js +15 -0
  188. package/v2Containers/EmailWrapper/tests/selectors.test.js +10 -0
  189. package/v2Containers/LanguageProvider/actions.js +17 -0
  190. package/v2Containers/LanguageProvider/constants.js +8 -0
  191. package/v2Containers/LanguageProvider/index.js +46 -0
  192. package/v2Containers/LanguageProvider/reducer.js +30 -0
  193. package/v2Containers/LanguageProvider/selectors.js +20 -0
  194. package/v2Containers/LanguageProvider/tests/actions.test.js +19 -0
  195. package/v2Containers/LanguageProvider/tests/index.test.js +49 -0
  196. package/v2Containers/LanguageProvider/tests/reducer.test.js +20 -0
  197. package/v2Containers/LanguageProvider/tests/selectors.test.js +15 -0
  198. package/v2Containers/Line/Create/_lineCreate.scss +43 -0
  199. package/v2Containers/Line/Create/actions.js +90 -0
  200. package/v2Containers/Line/Create/constants.js +39 -0
  201. package/v2Containers/Line/Create/index.js +822 -0
  202. package/v2Containers/Line/Create/messages.js +173 -0
  203. package/v2Containers/Line/Create/reducer.js +99 -0
  204. package/v2Containers/Line/Create/sagas.js +107 -0
  205. package/v2Containers/Line/Create/selectors.js +36 -0
  206. package/v2Containers/Line/Edit/_lineEdit.scss +21 -0
  207. package/v2Containers/Line/Edit/actions.js +79 -0
  208. package/v2Containers/Line/Edit/constants.js +27 -0
  209. package/v2Containers/Line/Edit/index.js +1050 -0
  210. package/v2Containers/Line/Edit/messages.js +157 -0
  211. package/v2Containers/Line/Edit/reducer.js +83 -0
  212. package/v2Containers/Line/Edit/sagas.js +81 -0
  213. package/v2Containers/Line/Edit/selectors.js +29 -0
  214. package/v2Containers/Line/Edit/tests/actions.test.js +18 -0
  215. package/v2Containers/Line/Edit/tests/index.test.js +10 -0
  216. package/v2Containers/Line/Edit/tests/reducer.test.js +9 -0
  217. package/v2Containers/Line/Edit/tests/sagas.test.js +15 -0
  218. package/v2Containers/Line/Edit/tests/selectors.test.js +10 -0
  219. package/v2Containers/Login/assets/images/capillary_logo.png +0 -0
  220. package/v2Containers/Login/components/LoginForm/index.js +59 -0
  221. package/v2Containers/Login/components/LoginForm/messages.js +21 -0
  222. package/v2Containers/Login/components/LoginForm/tests/index.test.js +10 -0
  223. package/v2Containers/Login/index.js +106 -0
  224. package/v2Containers/Login/messages.js +21 -0
  225. package/v2Containers/Login/selectors.js +25 -0
  226. package/v2Containers/Login/tests/index.test.js +10 -0
  227. package/v2Containers/Login/tests/sagas.test.js +15 -0
  228. package/v2Containers/Login/tests/selectors.test.js +10 -0
  229. package/v2Containers/MobilePush/Create/_mobilePushCreate.scss +41 -0
  230. package/v2Containers/MobilePush/Create/actions.js +52 -0
  231. package/v2Containers/MobilePush/Create/constants.js +24 -0
  232. package/v2Containers/MobilePush/Create/index.js +1759 -0
  233. package/v2Containers/MobilePush/Create/messages.js +237 -0
  234. package/v2Containers/MobilePush/Create/reducer.js +72 -0
  235. package/v2Containers/MobilePush/Create/sagas.js +60 -0
  236. package/v2Containers/MobilePush/Create/selectors.js +28 -0
  237. package/v2Containers/MobilePush/Create/tests/actions.test.js +18 -0
  238. package/v2Containers/MobilePush/Create/tests/index.test.js +10 -0
  239. package/v2Containers/MobilePush/Create/tests/reducer.test.js +9 -0
  240. package/v2Containers/MobilePush/Create/tests/sagas.test.js +15 -0
  241. package/v2Containers/MobilePush/Create/tests/selectors.test.js +10 -0
  242. package/v2Containers/MobilePush/Edit/_mobilePushCreate.scss +38 -0
  243. package/v2Containers/MobilePush/Edit/actions.js +91 -0
  244. package/v2Containers/MobilePush/Edit/constants.js +35 -0
  245. package/v2Containers/MobilePush/Edit/index.js +1851 -0
  246. package/v2Containers/MobilePush/Edit/messages.js +253 -0
  247. package/v2Containers/MobilePush/Edit/reducer.js +113 -0
  248. package/v2Containers/MobilePush/Edit/sagas.js +119 -0
  249. package/v2Containers/MobilePush/Edit/selectors.js +32 -0
  250. package/v2Containers/MobilePush/Edit/tests/actions.test.js +18 -0
  251. package/v2Containers/MobilePush/Edit/tests/index.test.js +10 -0
  252. package/v2Containers/MobilePush/Edit/tests/reducer.test.js +9 -0
  253. package/v2Containers/MobilePush/Edit/tests/sagas.test.js +15 -0
  254. package/v2Containers/MobilePush/Edit/tests/selectors.test.js +10 -0
  255. package/v2Containers/MobilePush/commonMethods.js +249 -0
  256. package/v2Containers/MobilePush/eventsMap.js +127 -0
  257. package/v2Containers/MobilePush/initialSchema.js +1739 -0
  258. package/v2Containers/MobilepushWrapper/_mobilepushWrapper.scss +18 -0
  259. package/v2Containers/MobilepushWrapper/index.js +136 -0
  260. package/v2Containers/MobilepushWrapper/messages.js +29 -0
  261. package/v2Containers/MobilepushWrapper/tests/index.test.js +10 -0
  262. package/v2Containers/NotFoundPage/index.js +25 -0
  263. package/v2Containers/NotFoundPage/messages.js +13 -0
  264. package/v2Containers/NotFoundPage/tests/index.test.js +17 -0
  265. package/v2Containers/Sms/Create/_smsCreate.scss +58 -0
  266. package/v2Containers/Sms/Create/actions.js +27 -0
  267. package/v2Containers/Sms/Create/constants.js +16 -0
  268. package/v2Containers/Sms/Create/index.js +1017 -0
  269. package/v2Containers/Sms/Create/messages.js +85 -0
  270. package/v2Containers/Sms/Create/reducer.js +41 -0
  271. package/v2Containers/Sms/Create/sagas.js +35 -0
  272. package/v2Containers/Sms/Create/selectors.js +28 -0
  273. package/v2Containers/Sms/Create/tests/actions.test.js +18 -0
  274. package/v2Containers/Sms/Create/tests/index.test.js +10 -0
  275. package/v2Containers/Sms/Create/tests/reducer.test.js +9 -0
  276. package/v2Containers/Sms/Create/tests/sagas.test.js +15 -0
  277. package/v2Containers/Sms/Create/tests/selectors.test.js +10 -0
  278. package/v2Containers/Sms/Edit/actions.js +45 -0
  279. package/v2Containers/Sms/Edit/constants.js +18 -0
  280. package/v2Containers/Sms/Edit/index.js +1018 -0
  281. package/v2Containers/Sms/Edit/messages.js +89 -0
  282. package/v2Containers/Sms/Edit/reducer.js +52 -0
  283. package/v2Containers/Sms/Edit/sagas.js +50 -0
  284. package/v2Containers/Sms/Edit/selectors.js +32 -0
  285. package/v2Containers/Sms/Edit/tests/actions.test.js +18 -0
  286. package/v2Containers/Sms/Edit/tests/index.test.js +10 -0
  287. package/v2Containers/Sms/Edit/tests/reducer.test.js +9 -0
  288. package/v2Containers/Sms/Edit/tests/sagas.test.js +15 -0
  289. package/v2Containers/Sms/Edit/tests/selectors.test.js +10 -0
  290. package/v2Containers/Sms/initialSchema.js +281 -0
  291. package/v2Containers/TagList/_tagList.scss +8 -0
  292. package/v2Containers/TagList/actions.js +15 -0
  293. package/v2Containers/TagList/constants.js +7 -0
  294. package/v2Containers/TagList/index.js +236 -0
  295. package/v2Containers/TagList/messages.js +13 -0
  296. package/v2Containers/TagList/reducer.js +23 -0
  297. package/v2Containers/TagList/sagas.js +11 -0
  298. package/v2Containers/TagList/selectors.js +25 -0
  299. package/v2Containers/TagList/tests/actions.test.js +18 -0
  300. package/v2Containers/TagList/tests/index.test.js +10 -0
  301. package/v2Containers/TagList/tests/reducer.test.js +9 -0
  302. package/v2Containers/TagList/tests/sagas.test.js +15 -0
  303. package/v2Containers/TagList/tests/selectors.test.js +10 -0
  304. package/v2Containers/Templates/_templates.scss +349 -0
  305. package/v2Containers/Templates/actions.js +110 -0
  306. package/v2Containers/Templates/constants.js +45 -0
  307. package/v2Containers/Templates/index.js +1725 -0
  308. package/v2Containers/Templates/messages.js +278 -0
  309. package/v2Containers/Templates/reducer.js +142 -0
  310. package/v2Containers/Templates/sagas.js +180 -0
  311. package/v2Containers/Templates/selectors.js +68 -0
  312. package/v2Containers/Templates/tests/actions.test.js +18 -0
  313. package/v2Containers/Templates/tests/index.test.js +10 -0
  314. package/v2Containers/Templates/tests/reducer.test.js +9 -0
  315. package/v2Containers/Templates/tests/sagas.test.js +15 -0
  316. package/v2Containers/Templates/tests/selectors.test.js +10 -0
  317. package/v2Containers/TemplatesV2/_templatesV2.scss +5 -0
  318. package/v2Containers/TemplatesV2/actions.js +16 -0
  319. package/v2Containers/TemplatesV2/constants.js +10 -0
  320. package/v2Containers/TemplatesV2/index.js +217 -0
  321. package/v2Containers/TemplatesV2/messages.js +29 -0
  322. package/v2Containers/TemplatesV2/selectors.js +25 -0
  323. package/v2Containers/TemplatesV2/tests/actions.test.js +18 -0
  324. package/v2Containers/TemplatesV2/tests/index.test.js +10 -0
  325. package/v2Containers/TemplatesV2/tests/reducer.test.js +9 -0
  326. package/v2Containers/TemplatesV2/tests/sagas.test.js +15 -0
  327. package/v2Containers/TemplatesV2/tests/selectors.test.js +10 -0
  328. package/v2Containers/TestPage/constants.js +7 -0
  329. package/v2Containers/TestPage/index.js +31 -0
  330. package/v2Containers/TestPage/messages.js +13 -0
  331. package/v2Containers/TestPage/reducer.js +21 -0
  332. package/v2Containers/TestPage/sagas.js +11 -0
  333. package/v2Containers/Testv2/actions.js +15 -0
  334. package/v2Containers/Testv2/constants.js +7 -0
  335. package/v2Containers/Testv2/index.js +47 -0
  336. package/v2Containers/Testv2/messages.js +13 -0
  337. package/v2Containers/Testv2/reducer.js +23 -0
  338. package/v2Containers/Testv2/sagas.js +11 -0
  339. package/v2Containers/Testv2/selectors.js +25 -0
  340. package/v2Containers/Testv2/tests/actions.test.js +18 -0
  341. package/v2Containers/Testv2/tests/index.test.js +10 -0
  342. package/v2Containers/Testv2/tests/reducer.test.js +9 -0
  343. package/v2Containers/Testv2/tests/sagas.test.js +15 -0
  344. package/v2Containers/Testv2/tests/selectors.test.js +10 -0
  345. package/v2Containers/WeChat/MapTemplates/_mapTemplates.scss +8 -0
  346. package/v2Containers/WeChat/MapTemplates/actions.js +52 -0
  347. package/v2Containers/WeChat/MapTemplates/constants.js +28 -0
  348. package/v2Containers/WeChat/MapTemplates/index.js +1385 -0
  349. package/v2Containers/WeChat/MapTemplates/messages.js +73 -0
  350. package/v2Containers/WeChat/MapTemplates/reducer.js +74 -0
  351. package/v2Containers/WeChat/MapTemplates/sagas.js +86 -0
  352. package/v2Containers/WeChat/MapTemplates/selectors.js +25 -0
  353. package/v2Containers/WeChat/MapTemplates/tests/actions.test.js +18 -0
  354. package/v2Containers/WeChat/MapTemplates/tests/index.test.js +10 -0
  355. package/v2Containers/WeChat/MapTemplates/tests/reducer.test.js +9 -0
  356. package/v2Containers/WeChat/MapTemplates/tests/sagas.test.js +15 -0
  357. package/v2Containers/WeChat/MapTemplates/tests/selectors.test.js +10 -0
  358. package/v2Containers/WeChat/RichmediaTemplates/Create/_createRichmedia.scss +57 -0
  359. package/v2Containers/WeChat/RichmediaTemplates/Create/actions.js +36 -0
  360. package/v2Containers/WeChat/RichmediaTemplates/Create/constants.js +15 -0
  361. package/v2Containers/WeChat/RichmediaTemplates/Create/index.js +1053 -0
  362. package/v2Containers/WeChat/RichmediaTemplates/Create/messages.js +141 -0
  363. package/v2Containers/WeChat/RichmediaTemplates/Create/reducer.js +60 -0
  364. package/v2Containers/WeChat/RichmediaTemplates/Create/richmediaschema.js +497 -0
  365. package/v2Containers/WeChat/RichmediaTemplates/Create/sagas.js +48 -0
  366. package/v2Containers/WeChat/RichmediaTemplates/Create/selectors.js +37 -0
  367. package/v2Containers/WeChat/RichmediaTemplates/Create/tests/actions.test.js +18 -0
  368. package/v2Containers/WeChat/RichmediaTemplates/Create/tests/index.test.js +10 -0
  369. package/v2Containers/WeChat/RichmediaTemplates/Create/tests/reducer.test.js +9 -0
  370. package/v2Containers/WeChat/RichmediaTemplates/Create/tests/sagas.test.js +15 -0
  371. package/v2Containers/WeChat/RichmediaTemplates/Create/tests/selectors.test.js +10 -0
  372. package/v2Containers/WeChat/RichmediaTemplates/Edit/actions.js +20 -0
  373. package/v2Containers/WeChat/RichmediaTemplates/Edit/constants.js +10 -0
  374. package/v2Containers/WeChat/RichmediaTemplates/Edit/index.js +116 -0
  375. package/v2Containers/WeChat/RichmediaTemplates/Edit/messages.js +13 -0
  376. package/v2Containers/WeChat/RichmediaTemplates/Edit/reducer.js +28 -0
  377. package/v2Containers/WeChat/RichmediaTemplates/Edit/sagas.js +32 -0
  378. package/v2Containers/WeChat/RichmediaTemplates/Edit/selectors.js +30 -0
  379. package/v2Containers/WeChat/RichmediaTemplates/Edit/tests/actions.test.js +18 -0
  380. package/v2Containers/WeChat/RichmediaTemplates/Edit/tests/index.test.js +10 -0
  381. package/v2Containers/WeChat/RichmediaTemplates/Edit/tests/reducer.test.js +9 -0
  382. package/v2Containers/WeChat/RichmediaTemplates/Edit/tests/sagas.test.js +15 -0
  383. package/v2Containers/WeChat/RichmediaTemplates/Edit/tests/selectors.test.js +10 -0
  384. package/v2Containers/WeChat/RichmediaTemplates/View/actions.js +15 -0
  385. package/v2Containers/WeChat/RichmediaTemplates/View/constants.js +7 -0
  386. package/v2Containers/WeChat/RichmediaTemplates/View/index.js +47 -0
  387. package/v2Containers/WeChat/RichmediaTemplates/View/messages.js +13 -0
  388. package/v2Containers/WeChat/RichmediaTemplates/View/reducer.js +23 -0
  389. package/v2Containers/WeChat/RichmediaTemplates/View/sagas.js +11 -0
  390. package/v2Containers/WeChat/RichmediaTemplates/View/selectors.js +25 -0
  391. package/v2Containers/WeChat/RichmediaTemplates/View/tests/actions.test.js +18 -0
  392. package/v2Containers/WeChat/RichmediaTemplates/View/tests/index.test.js +10 -0
  393. package/v2Containers/WeChat/RichmediaTemplates/View/tests/reducer.test.js +9 -0
  394. package/v2Containers/WeChat/RichmediaTemplates/View/tests/sagas.test.js +15 -0
  395. package/v2Containers/WeChat/RichmediaTemplates/View/tests/selectors.test.js +10 -0
@@ -0,0 +1,253 @@
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
+ imageUploadLabel: {
10
+ id: 'app.containers.MobilePush.Edit.ImageUploadLabel',
11
+ defaultMessage: 'Upload Image',
12
+ },
13
+ "Enter template name*": {
14
+ id: 'app.containers.MobilePush.Edit.enterTemplateNameImportant',
15
+ defaultMessage: 'Enter template name*',
16
+ },
17
+ "Enter template name": {
18
+ id: 'app.containers.MobilePush.Edit.enterTemplateName',
19
+ defaultMessage: 'Enter template name',
20
+ },
21
+ "Template name cannot be empty": {
22
+ id: 'app.containers.MobilePush.Edit.templateCantEmpty',
23
+ defaultMessage: 'Template name cannot be empty',
24
+ },
25
+ "Discard Changes": {
26
+ id: 'app.containers.MobilePush.Edit.discardChanges',
27
+ defaultMessage: 'Discard Changes',
28
+ },
29
+ "Cancel": {
30
+ id: 'app.containers.MobilePush.Edit.cancel',
31
+ defaultMessage: 'Cancel',
32
+ },
33
+ "Save": {
34
+ id: 'app.containers.MobilePush.Edit.save',
35
+ defaultMessage: 'Save',
36
+ },
37
+ "Select Mobilepush Account": {
38
+ id: 'app.containers.MobilePush.Edit.selectMobilePushAccount',
39
+ defaultMessage: 'Select Mobilepush Account',
40
+ },
41
+ "Account Id": {
42
+ id: 'app.containers.MobilePush.Edit.accountId',
43
+ defaultMessage: 'Account Id',
44
+ },
45
+ "Select Mobilepush Template": {
46
+ id: 'app.containers.MobilePush.Edit.selectMobilePushTemplate',
47
+ defaultMessage: 'Select Mobilepush Template',
48
+ },
49
+ "Template": {
50
+ id: 'app.containers.MobilePush.Edit.template',
51
+ defaultMessage: 'Template',
52
+ },
53
+ "Android": {
54
+ id: 'app.containers.MobilePush.Edit.Android',
55
+ defaultMessage: 'Android',
56
+ },
57
+ "Copy Title and Content From IOS": {
58
+ id: 'app.containers.MobilePush.Edit.copyFromIos',
59
+ defaultMessage: 'Copy Title and Content From IOS',
60
+ },
61
+ "Title*": {
62
+ id: 'app.containers.MobilePush.Edit.titleLabel',
63
+ defaultMessage: 'Title*',
64
+ },
65
+ "Title": {
66
+ id: 'app.containers.MobilePush.Edit.title',
67
+ defaultMessage: 'Title',
68
+ },
69
+ "Please input message title name.": {
70
+ id: 'app.containers.MobilePush.Edit.titleNameInvalid',
71
+ defaultMessage: 'Please enter the message title',
72
+ },
73
+ "Template message has unsupported/missing tags!": {
74
+ id: 'app.containers.MobilePush.Edit.messageHasUnsupportedTag',
75
+ defaultMessage: 'Please check the message content for unsupported/missing tags',
76
+ },
77
+ "Tags": {
78
+ id: 'app.containers.MobilePush.Edit.Tags',
79
+ defaultMessage: 'Tags',
80
+ },
81
+ "Message*": {
82
+ id: 'app.containers.MobilePush.Edit.messageLabel',
83
+ defaultMessage: 'Message*',
84
+ },
85
+ "Message": {
86
+ id: 'app.containers.MobilePush.Edit.message',
87
+ defaultMessage: 'Message',
88
+ },
89
+ "Please input mobile push template content.": {
90
+ id: 'app.containers.MobilePush.Edit.inputMobilePushTemplateContent',
91
+ defaultMessage: 'Please enter the message content',
92
+ },
93
+ "Add Primary CTA": {
94
+ id: 'app.containers.MobilePush.Edit.addPrimaryCTA',
95
+ defaultMessage: 'Add Primary CTA',
96
+ },
97
+ "Add Secondary CTA": {
98
+ id: 'app.containers.MobilePush.Edit.addSecondaryCTA',
99
+ defaultMessage: 'Add Secondary CTA',
100
+ },
101
+ "iOS": {
102
+ id: 'app.containers.MobilePush.Edit.iOS',
103
+ defaultMessage: 'iOS',
104
+ },
105
+ "Copy Title and Content From Android": {
106
+ id: 'app.containers.MobilePush.Edit.copyFromAndroid',
107
+ defaultMessage: 'Copy Title and Content From Android',
108
+ },
109
+ "Template title has unsupported/missing tags.": {
110
+ id: 'app.containers.MobilePush.Edit.titleHasUnsupportedTag',
111
+ defaultMessage: 'Please check the message content for unsupported/missing tags',
112
+ },
113
+ "Template name cannot be empty.": {
114
+ id: 'app.containers.MobilePush.Edit.templateNameNotEmpty',
115
+ defaultMessage: 'Please provide a template name ',
116
+ },
117
+ "Message title has unsupported/missing tags!": {
118
+ id: 'app.containers.MobilePush.Edit.messageTitleWithUnsupportedTag',
119
+ defaultMessage: 'Please check the message content for unsupported/missing tags',
120
+ },
121
+ "Image": {
122
+ id: 'app.containers.MobilePush.Edit.Image',
123
+ defaultMessage: 'Image',
124
+ },
125
+ "Max file size acceptable is 5mb": {
126
+ id: 'app.containers.MobilePush.Edit.maxUploadFileSize',
127
+ defaultMessage: 'Max file size acceptable is 5mb',
128
+ },
129
+ "Please upload Image": {
130
+ id: 'app.containers.MobilePush.Edit.pleaseUploadImage',
131
+ defaultMessage: 'Please upload Image',
132
+ },
133
+ "Upload Image": {
134
+ id: 'app.containers.MobilePush.Edit.uploadImage',
135
+ defaultMessage: 'Upload Image',
136
+ },
137
+ "MOBILEPUSH Template Edited Successfully": {
138
+ id: 'app.containers.MobilePush.Edit.templateEditedSuccessfully',
139
+ defaultMessage: 'MOBILEPUSH Template Edited Successfully',
140
+ },
141
+ "somethingWentWrong": {
142
+ id: 'app.containers.MobilePush.Edit.somethingWentWrong',
143
+ defaultMessage: 'Something Went Wrong!!',
144
+ },
145
+ "Select DeepLink": {
146
+ id: 'app.containers.MobilePush.Edit.selectDeepLink',
147
+ defaultMessage: 'Select DeepLink',
148
+ },
149
+ "External Link": {
150
+ id: 'app.containers.MobilePush.Edit.externalLink',
151
+ defaultMessage: 'External Link',
152
+ },
153
+ "External Link cannot be empty": {
154
+ id: 'app.containers.MobilePush.Edit.externalLinkCantEmpty',
155
+ defaultMessage: 'External Link cannot be empty',
156
+ },
157
+ "External Link cannot be empty.": {
158
+ id: 'app.containers.MobilePush.Edit.externalLinkCantEmpty1',
159
+ defaultMessage: 'External Link cannot be empty.',
160
+ },
161
+ "Do you really want to go back? All your temporary changes will be lost!": {
162
+ id: 'app.containers.MobilePush.Edit.goBackConfirmation',
163
+ defaultMessage: "Going back will discard all the changes you've made. Continue?",
164
+ },
165
+ "Secondary CTA": {
166
+ id: 'app.containers.MobilePush.Edit.secondaryCTA',
167
+ defaultMessage: 'Secondary CTA',
168
+ },
169
+ "Name and Description": {
170
+ id: 'app.containers.MobilePush.Edit.nameAndDescription',
171
+ defaultMessage: 'Name and Description',
172
+ },
173
+ "Button 1": {
174
+ id: 'app.containers.MobilePush.Edit.button1',
175
+ defaultMessage: 'Button 1',
176
+ },
177
+ "Button 2": {
178
+ id: 'app.containers.MobilePush.Edit.button2',
179
+ defaultMessage: 'Button 2',
180
+ },
181
+ "Add Another CTA": {
182
+ id: 'app.containers.MobilePush.Edit.addAnotherCTA',
183
+ defaultMessage: 'Add Another CTA',
184
+ },
185
+ "Please select link type": {
186
+ id: 'app.containers.MobilePush.Edit.selectLinkType',
187
+ defaultMessage: 'Please select link type',
188
+ },
189
+ "Primary CTA": {
190
+ id: 'app.containers.MobilePush.Edit.primaryCTA',
191
+ defaultMessage: 'Primary CTA',
192
+ },
193
+ "Enter CTA Label here": {
194
+ id: 'app.containers.MobilePush.Edit.enterCTALabel',
195
+ defaultMessage: 'Enter CTA Label here',
196
+ },
197
+ "CTA label cannot be empty.": {
198
+ id: 'app.containers.MobilePush.Edit.ctaLabelCantEmpty',
199
+ defaultMessage: 'CTA label cannot be empty.',
200
+ },
201
+ "Select deeplink": {
202
+ id: 'app.containers.MobilePush.Edit.selectDeeplink',
203
+ defaultMessage: 'Select deeplink',
204
+ },
205
+ "Select a deeplink": {
206
+ id: 'app.containers.MobilePush.Edit.selectADeeplink',
207
+ defaultMessage: 'Select a deeplink',
208
+ },
209
+ "File size cannot be more than 5mb": {
210
+ id: 'app.containers.MobilePush.Edit.uploadFileSizeError',
211
+ defaultMessage: 'File size cannot be more than 5mb',
212
+ },
213
+ "value cannot be empty.": {
214
+ id: 'app.containers.MobilePush.Edit.valueCantEmpty',
215
+ defaultMessage: 'value cannot be empty.',
216
+ },
217
+ "Please delete second Secondary cta First": {
218
+ id: 'app.containers.MobilePush.Edit.deleteSecondCTAFirst',
219
+ defaultMessage: 'Please delete second Secondary cta First',
220
+ },
221
+ "Uploading Image...": {
222
+ id: 'app.containers.MobilePush.Edit.uploadingImage',
223
+ defaultMessage: 'Uploading Image...',
224
+ },
225
+ "Campaigns": {
226
+ id: 'app.containers.MobilePush.Edit.Campaigns',
227
+ defaultMessage: 'Campaigns',
228
+ },
229
+ "Creatives": {
230
+ id: 'app.containers.MobilePush.Edit.Creatives',
231
+ defaultMessage: 'Creatives',
232
+ },
233
+ "Mobile Push": {
234
+ id: 'app.containers.MobilePush.Edit.mobilePush',
235
+ defaultMessage: 'Mobile Push',
236
+ },
237
+ "template not configured,": {
238
+ id: 'app.containers.MobilePush.Edit.templateNotConfigured',
239
+ defaultMessage: 'template not configured,',
240
+ },
241
+ "Android template is not configured. Save without Android template": {
242
+ id: 'app.containers.MobilePush.Edit.androidTemplateNotConfigured',
243
+ defaultMessage: 'Android template is not configured. Continue Save?',
244
+ },
245
+ "IOS template is not configured, Save without IOS template": {
246
+ id: 'app.containers.MobilePush.Edit.iosTemplateNotConfigured',
247
+ defaultMessage: 'IOS template is not configured, Save without IOS template',
248
+ },
249
+ "selectActionButton": {
250
+ id: 'app.containers.MobilePush.Create.mobilePush',
251
+ defaultMessage: 'Select action buttons',
252
+ },
253
+ });
@@ -0,0 +1,113 @@
1
+ /*
2
+ *
3
+ * Create reducer
4
+ *
5
+ */
6
+
7
+ import { fromJS } from 'immutable';
8
+ import * as types from './constants';
9
+
10
+ const initialState = fromJS({
11
+ editTemplateInProgress: false,
12
+ editResponse: {},
13
+ getTemplateDetailsInProgress: false,
14
+ templateDetails: {},
15
+ });
16
+
17
+ function editReducer(state = initialState, action) {
18
+ switch (action.type) {
19
+ case types.DEFAULT_ACTION:
20
+ return state;
21
+ case types.EDIT_TEMPLATE_REQUEST:
22
+ return state
23
+ .set('editTemplateInProgress', true)
24
+ .set('editTemplateError', false)
25
+ .set('editTemplateErrorMessage', fromJS(""));
26
+ case types.EDIT_TEMPLATE_SUCCESS:
27
+ return state.set('editTemplateInProgress', false)
28
+ .set('editResponse', action.data)
29
+ .set('editTemplateError', (action.statusCode !== undefined && action.statusCode > 300))
30
+ .set('editTemplateErrorMessage', fromJS(action.errorMsg));
31
+ case types.EDIT_TEMPLATE_FAILURE:
32
+ return state
33
+ .set('editTemplateInProgress', false)
34
+ .set('editTemplateError', true)
35
+ .set('editTemplateErrorMessage', fromJS(action.errorMsg));
36
+ case types.GET_TEMPLATE_DETAILS_REQUEST:
37
+ return state.set('getTemplateDetailsInProgress', true);
38
+ case types.GET_TEMPLATE_DETAILS_SUCCESS:
39
+ case types.SET_SELECTED_TEMPLATE:
40
+ return state.set('getTemplateDetailsInProgress', false)
41
+ .set('templateDetails', action.data);
42
+ case types.GET_TEMPLATE_DETAILS_FAILURE:
43
+ return state.set('getTemplateDetailsInProgress', false);
44
+ case types.CLEAR_EDIT_RESPONSE_REQUEST:
45
+ return state.set('editResponse', {});
46
+ case types.GET_IOS_CTAS:
47
+ return state
48
+ .set("getIosCtasSucccess", false)
49
+ .set("iosCtasLoading", true);
50
+ case types.GET_IOS_CTAS_SUCCESS:
51
+ return state
52
+ .set('getIosCtasSucccess', (action.statusCode !== undefined && action.statusCode !== '' && action.statusCode < 300))
53
+ .set('iosCtasLoading', false)
54
+ .set('iosCtasData', action.data);
55
+ case types.GET_IOS_CTAS_FAILURE:
56
+ return state
57
+ .set('getIosCtasSucccess', false)
58
+ .set('iosCtasLoading', false);
59
+ case types.UPLOAD_ASSET_REQUEST:
60
+ return state
61
+ .set('uploadAssetSuccess', false)
62
+ .set('assetUploading', true);
63
+ case types.UPLOAD_ASSET_SUCCESS:
64
+ return state
65
+ .set('uploadAssetSuccess', (action.statusCode !== undefined && action.statusCode !== '' && action.statusCode < 300))
66
+ .set('assetUploading', false)
67
+ .set('uploadedAssetData', action.data);
68
+ case types.UPLOAD_ASSET_FAILURE:
69
+ return state
70
+ .set('uploadAssetSuccess', false)
71
+ .set('assetUploading', false);
72
+ case types.CLEAR_DATA:
73
+ return state
74
+ .delete('uploadedAssetData')
75
+ .delete('metaEntities')
76
+ .delete('templateDetails')
77
+ .delete('iosCtasData');
78
+ case types.CLEAR_ASSET:
79
+ return state
80
+ .delete('uploadedAssetData');
81
+ case types.GET_WECRM_ACCOUNTS_REQUEST:
82
+ return state
83
+ .set('fetchingWeCrmAccounts', true)
84
+ .set('weCrmAccountFetchingError', false);
85
+ case types.GET_WECRM_ACCOUNTS_SUCCESS:
86
+ return state
87
+ .set('fetchingWeCrmAccounts', false)
88
+ .set('weCrmAccounts', fromJS(action.data));
89
+ case types.GET_WECRM_ACCOUNTS_FAILURE:
90
+ return state
91
+ .set('fetchingWeCrmAccounts', false)
92
+ .set('weCrmAccountFetchingError', true);
93
+ case types.SET_WECHAT_ACCOUNT:
94
+ return state
95
+ .set('selectedWeChatAccount', fromJS(action.weChatAccount))
96
+ .delete('mobilepushTemplates');
97
+ case types.GET_MOBILEPUSH_TEMPLATES_LIST_REQUEST:
98
+ return state
99
+ .set('fetchingDefaultTemplates', true);
100
+ case types.GET_MOBILEPUSH_TEMPLATES_LIST_SUCCESS:
101
+ return state
102
+ .set('fetchingDefaultTemplates', false)
103
+ .set('mobilepushTemplates', fromJS(action.data));
104
+ case types.GET_MOBILEPUSH_TEMPLATES_LIST_FAILURE:
105
+ return state
106
+ .set('fetchingDefaultTemplates', false)
107
+ .set('errorFetchingDefaultTempalte', true);
108
+ default:
109
+ return state;
110
+ }
111
+ }
112
+
113
+ export default editReducer;
@@ -0,0 +1,119 @@
1
+ import { call, put, takeLatest, take, cancel } from 'redux-saga/effects';
2
+ import { LOCATION_CHANGE } from 'react-router-redux';
3
+ // import { schema, normalize } from 'normalizr';
4
+ import * as Api from '../../../services/api';
5
+ import * as types from './constants';
6
+
7
+ // Individual exports for testing
8
+ export function* editTemplate(template) {
9
+ let errorMsg;
10
+ try {
11
+ console.log('saga editTemplate', template);
12
+ const result = yield call(Api.createMobilePushTemplate, template);
13
+ console.log('saga editTemplate success', result);
14
+ if (result.message || result.status.code === 500) {
15
+ errorMsg = result.message;
16
+ }
17
+ yield put({ type: types.EDIT_TEMPLATE_SUCCESS, data: result.response, statusCode: result.status ? result.status.code : '', errorMsg });
18
+ yield call(template.callback);
19
+ } catch (error) {
20
+ yield put({ type: types.EDIT_TEMPLATE_FAILURE, error, errorMsg });
21
+ }
22
+ }
23
+
24
+ export function* getTemplateDetails(id) {
25
+ try {
26
+ console.log('saga get Template details', id);
27
+ const result = yield call(Api.getTemplateDetails, id);
28
+ // const sidebar = result.response.sidebar;
29
+ yield put({ type: types.GET_TEMPLATE_DETAILS_SUCCESS, data: result.response });
30
+ } catch (error) {
31
+ yield put({ type: types.GET_TEMPLATE_DETAILS_FAILURE, error });
32
+ }
33
+ }
34
+ export function* uploadAsset(file, assetType, fileParams, mode) {
35
+ try {
36
+ const result = yield call(Api.uploadFile, file, assetType, fileParams, mode);
37
+ yield put({ type: types.UPLOAD_ASSET_SUCCESS, data: result.response.asset, statusCode: result.status ? result.status.code : '' });
38
+ } catch (error) {
39
+ yield put({ type: types.UPLOAD_ASSET_FAILURE, error });
40
+ }
41
+ }
42
+ export function* getIosCtas(licenseCode) {
43
+ try {
44
+ const result = yield call(Api.getIosCtas, licenseCode);
45
+ yield put({ type: types.GET_IOS_CTAS_SUCCESS, data: result.response.metaEntities.data, statusCode: result.status ? result.status.code : '' });
46
+ } catch (error) {
47
+ yield put({ type: types.GET_IOS_CTAS_FAILURE, error });
48
+ }
49
+ }
50
+
51
+ export function* getMobilepushTemplatesList(params) {
52
+ try {
53
+ console.log('Saga param ', params.channel, params.queryParams);
54
+ const result = yield call(Api.getAllTemplates, {channel: params.channel, queryParams: params.queryParams});
55
+ yield put({ type: types.GET_MOBILEPUSH_TEMPLATES_LIST_SUCCESS, data: result.response.templates, templateData: result.response.mapped});
56
+ } catch (error) {
57
+ yield put({ type: types.GET_MOBILEPUSH_TEMPLATES_LIST_FAILURE, error });
58
+ }
59
+ }
60
+
61
+ export function* fetchWeCrmAccounts(action) {
62
+ console.log('mobile push saga accounts');
63
+ try {
64
+ const result = yield call(Api.fetchWeCrmAccounts, action.source);
65
+ yield [
66
+ put({
67
+ type: types.GET_WECRM_ACCOUNTS_SUCCESS,
68
+ data: result.response,
69
+ }),
70
+ ];
71
+ } catch (error) {
72
+ yield [
73
+ put({
74
+ type: types.GET_WECRM_ACCOUNTS_FAILURE,
75
+ data: error,
76
+ }),
77
+ ];
78
+ }
79
+ }
80
+
81
+ function* watchFetchWeCrmAccounts() {
82
+ const watcher = yield takeLatest(types.GET_WECRM_ACCOUNTS_REQUEST, fetchWeCrmAccounts);
83
+ yield take(LOCATION_CHANGE);
84
+ yield cancel(watcher);
85
+ }
86
+
87
+ function* watchEditTemplate() {
88
+ const watcher = yield takeLatest(types.EDIT_TEMPLATE_REQUEST, editTemplate);
89
+ yield take(LOCATION_CHANGE);
90
+ yield cancel(watcher);
91
+ }
92
+
93
+ function* watchGetTemplateDetails() {
94
+ const watcher = yield takeLatest(types.GET_TEMPLATE_DETAILS_REQUEST, getTemplateDetails);
95
+ yield take(LOCATION_CHANGE);
96
+ yield cancel(watcher);
97
+ }
98
+ function* watchUploadAsset() {
99
+ const watcher = yield takeLatest(types.UPLOAD_ASSET_REQUEST, uploadAsset);
100
+ yield take(LOCATION_CHANGE);
101
+ yield cancel(watcher);
102
+ }
103
+ function* watchGetIosCtas() {
104
+ const watcher = yield takeLatest(types.GET_IOS_CTAS, getIosCtas);
105
+ yield take(LOCATION_CHANGE);
106
+ yield cancel(watcher);
107
+ }
108
+ function* watchMobilepushTemplatesList() {
109
+ const watcher = yield takeLatest(types.GET_MOBILEPUSH_TEMPLATES_LIST_REQUEST, getMobilepushTemplatesList);
110
+ yield take(LOCATION_CHANGE);
111
+ yield cancel(watcher);
112
+ }
113
+
114
+ // All sagas to be loaded
115
+ export default [
116
+ watchEditTemplate, watchGetTemplateDetails, watchFetchWeCrmAccounts, watchMobilepushTemplatesList,
117
+ watchUploadAsset,
118
+ watchGetIosCtas,
119
+ ];
@@ -0,0 +1,32 @@
1
+ import { createSelector } from 'reselect';
2
+
3
+ /**
4
+ * Direct selector to the create state domain
5
+ */
6
+ const selectMobilePushEditDomain = () => (state) => state.get('mobileEdit'); // reducer injected as mobileEdit in library mode.
7
+
8
+
9
+ /**
10
+ * Other specific selectors
11
+ */
12
+
13
+
14
+ /**
15
+ * Default selector used by Create
16
+ */
17
+
18
+ const makeSelectEdit = () => createSelector(
19
+ selectMobilePushEditDomain(),
20
+ (substate) => substate.toJS()
21
+ );
22
+ const makeSelectEditResponse = () => createSelector(
23
+ selectMobilePushEditDomain(), (dimensionState) => dimensionState.get('editResponse')
24
+ );
25
+ const makeSelectTemplateDetailsResponse = () => createSelector(
26
+ makeSelectEdit(), (dimensionState) => dimensionState.templateDetails
27
+ );
28
+ const makeSelectIosCta = () => createSelector(makeSelectEdit(), (create) => create.getIosCtasSucccess && create.iosCtasData );
29
+
30
+ export {
31
+ makeSelectEdit, makeSelectEditResponse, makeSelectTemplateDetailsResponse, makeSelectIosCta,
32
+ };
@@ -0,0 +1,18 @@
1
+
2
+ import {
3
+ defaultAction,
4
+ } from '../actions';
5
+ import {
6
+ DEFAULT_ACTION,
7
+ } from '../constants';
8
+
9
+ describe('Create 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 { Create } from '../index';
5
+
6
+ describe('<Create />', () => {
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 createReducer from '../reducer';
4
+
5
+ describe('createReducer', () => {
6
+ it('returns the initial state', () => {
7
+ expect(createReducer(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 { makeSelectCreateDomain } from '../selectors';
3
+
4
+ // const selector = makeSelectCreateDomain();
5
+
6
+ describe('makeSelectCreateDomain', () => {
7
+ it('Expect to have unit tests specified', () => {
8
+ expect(true).toEqual(false);
9
+ });
10
+ });