@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
package/app.js CHANGED
@@ -6,7 +6,7 @@ import createHistory from 'history/lib/createBrowserHistory';
6
6
  import { applyRouterMiddleware, Router, useRouterHistory } from 'react-router';
7
7
  import { syncHistoryWithStore } from 'react-router-redux';
8
8
  import { useScroll } from 'react-router-scroll';
9
- import Cap from 'containers/Cap';
9
+ import Cap from 'v2Containers/Cap';
10
10
  import { LocaleProvider } from 'antd';
11
11
  import { makeSelectLocationState } from 'containers/Cap/selectors';
12
12
  import LanguageProvider from 'containers/LanguageProvider';
@@ -163,7 +163,8 @@ class Ckeditor extends React.Component { // eslint-disable-line react/prefer-sta
163
163
  _.forEach(this.props.events, (event, index) => {
164
164
  this.editorInstance.on(index, event);
165
165
  });
166
- if (this.props.channel.toLowerCase() === 'wechat') {
166
+ const channel = _.get(this.props, 'channel');
167
+ if (channel && channel.toLowerCase() === 'wechat') {
167
168
  this.editorInstance.on('blur', this.onFocusOut);
168
169
  _.forEach(this.props.events, (event, index) => {
169
170
  this.editorInstance.on(index, event);
@@ -9,7 +9,6 @@ $classPrefix: email-mobile-preview-container;
9
9
  #emailPreivew-content-wrapper{
10
10
  width: 100%;
11
11
  height: 90%;
12
- overflow: auto;
13
12
  // display: table;
14
13
 
15
14
  #emailPreivew-content {
@@ -6,10 +6,13 @@ $classPrefix: email-preview-v2;
6
6
  overflow-y: auto;
7
7
  // font-family: 'proxima-nova';
8
8
  overflow: hidden;
9
+
10
+ #email-iframe {
11
+ width: -webkit-fill-available;
12
+ }
9
13
  #emailPreivew-content-wrapper{
10
14
  width: 100%;
11
15
  height: 90%;
12
- overflow: auto;
13
16
  // display: table;
14
17
 
15
18
  #emailPreivew-content {
@@ -88,7 +88,7 @@ class EmailPreviewV2 extends React.Component {
88
88
  {currentDevice === devices.mobile ?
89
89
  <img src={mobileBody} alt="capillary" width="85%" /> : ''}
90
90
  <div className={messageContainerName}>
91
- <iframe srcDoc={templateContent} {...deviceAspectRatio[currentDevice]} >
91
+ <iframe id="email-iframe" srcDoc={templateContent} {...deviceAspectRatio[currentDevice]} >
92
92
  <p><FormattedMessage {...messages.noIframeSupport}/></p>
93
93
  </iframe>
94
94
  </div>
@@ -421,7 +421,7 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
421
421
  if (this.props.schema.channel === 'SMS') {
422
422
 
423
423
  for (let count = 0; count < this.state.tabCount; count += 1) {
424
- if (_.isEmpty(errorData[count])) {
424
+ if (_.isEmpty(errorData[count]) && this.props.isNewVersionFlow) {
425
425
  return;
426
426
  }
427
427
  const index = count + 1;
@@ -432,7 +432,10 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
432
432
  const unicodeCheck = this.state.formData[count][`unicode-validity${index > 1 ? index : ''}`];
433
433
  const ifUnicode = content && content !== '' ? checkUnicode(content) : false;
434
434
 
435
- const tagValidationResponse = this.validateTags(content, tags, injectedTags);
435
+ let tagValidationResponse = false;
436
+ if (content) {
437
+ tagValidationResponse = this.validateTags(content, tags, injectedTags);
438
+ }
436
439
 
437
440
  if (tagValidationResponse.valid) {
438
441
  errorData[count][`sms-editor${index > 1 ? index : ''}`] = false;
@@ -585,6 +588,10 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
585
588
  }
586
589
  }
587
590
 
591
+ } else {
592
+ errorData[parseInt(index)][`message-editor${selector}`] = true;
593
+ isValid = false;
594
+ isCurrentTabValid = false;
588
595
  }
589
596
 
590
597
 
@@ -607,6 +614,10 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
607
614
  isValid = false;
608
615
  }
609
616
  }
617
+ } else {
618
+ errorData[parseInt(index)][`message-title${selector}`] = true;
619
+ isValid = false;
620
+ isCurrentTabValid = false;
610
621
  }
611
622
  // if(tab['primary-cta-link'].trim() === ""){
612
623
  // errorData[parseInt(index)][`primary-cta-link`] = true;
@@ -802,7 +813,7 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
802
813
  }
803
814
  // Check if template subject present in form data from Loyalty, DVS, Timeline
804
815
  if (index === 'template-subject' && type.toLowerCase() === 'embedded' && (currentModule.toLowerCase() === 'loyalty' || currentModule.toLowerCase() === 'dvs' || currentModule.toLowerCase() === 'timeline' || currentModule.toLowerCase() === 'library')) {
805
- if (data.trim() === '') {
816
+ if (data && data.trim() === '') {
806
817
  errorData[index] = true;
807
818
  isValid = false;
808
819
  } else {
@@ -2007,6 +2018,8 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
2007
2018
  // this.setState({currentEvent: {}, currentEventData: {}});
2008
2019
  } else if (id === 'email-version-delete-modal') {
2009
2020
  this.deleteVersion(false, this.state.currentTab);
2021
+ } else if ( id === 'template-delete-confirm-modal') {
2022
+ this.props.handleDelete(this.props.modal);
2010
2023
  }
2011
2024
  };
2012
2025
  handleCancel = (ev) => {
@@ -2412,7 +2425,7 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
2412
2425
  columns.push(
2413
2426
  <CapColumn>
2414
2427
  <CapButton
2415
- onClick={(data) => val.id === 'save-button' ? this.saveForm() : this.callChildEvent(data, val, val.submitAction)}>
2428
+ onClick={(data) => this.callChildEvent(data, val, val.submitAction)}>
2416
2429
  {val.value}
2417
2430
  </CapButton>
2418
2431
  </CapColumn>
@@ -2474,7 +2487,9 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
2474
2487
  if (_.isEmpty(value) && !_.isEmpty(val.value)) {
2475
2488
  children = val.value;
2476
2489
  }
2490
+ const ref = _.get(this, `props.refs[${val.id}]`);
2477
2491
  return (<div
2492
+ ref={ref}
2478
2493
  className={val.className ? val.className : ''}
2479
2494
  id={`${val.id}${childIndex > 1 ? childIndex : ''}`}
2480
2495
  onClick={(data) => this.callChildEvent(data, val, val.submitAction)}
@@ -2679,9 +2694,9 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
2679
2694
  );
2680
2695
  break;
2681
2696
  case 'upload':
2682
- ifError = this.state.checkValidation && (isVersionEnable ? this.state.errorData[`${this.state.currentTab - 1}`][val.id] : this.state.errorData[val.id]);
2697
+ ifError = (this.state.checkValidation || this.props.startValidation) && (isVersionEnable ? this.state.errorData[`${this.state.currentTab - 1}`][val.id] : this.state.errorData[val.id]);
2683
2698
  const ImageComponent = (props) => (
2684
- <div>
2699
+ <div key={`${val.id}-${this.state.currentTab}`}>
2685
2700
  <div className={`image-container ${props.ifError ? 'error' : ''}`}>
2686
2701
  {self.state && !!self.state.formData[`${self.state.currentTab - 1}`].image ?
2687
2702
  <img src={self.state.formData[`${self.state.currentTab - 1}`].image} alt={props.alt} style={props.style}/>
@@ -2689,14 +2704,13 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
2689
2704
  <div style={{width: "100%", textAlign: "center"}}><span className="image-placeholder">{props.placeholder}</span></div>
2690
2705
  }
2691
2706
  </div>
2692
-
2693
2707
  </div>
2694
2708
  );
2695
2709
  const WithLabel = LabelHOC(ImageComponent);
2696
- const {errorMessage, ...rest} = val.previewProps;
2710
+ const {errorMessage, ...rest} = val.previewProps || {};
2697
2711
  columns.push(
2698
2712
  <CapColumn span={val.width} offset={val.offset} style={val.style}>
2699
- {val.showPreview && <WithLabel key={`${val.id}-with-label`} {...rest} errorMessage={ifError && errorMessage}/>}
2713
+ {val.showPreview && <WithLabel key={`${val.id}-with-label`} {...rest} errorMessage={ifError && errorMessage} ifError={ifError}/>}
2700
2714
  <form encType="multipart/form-data" id={val.id}>
2701
2715
  <input key={val.id} style={{ display: 'none'}} id="fileName" type="file" onChange={(e) => this.uploadImages(e, {files: e.target.files}, val)} accept={val.supportedExtensions ? val.supportedExtensions : "image/*"} />
2702
2716
  <CapButton disabled={val.disabled ? val.disabled : false} type="secondary" onClick={(e) => this.openFileDialog(e, val.id)} style={{float: 'right'}}>
@@ -2741,7 +2755,7 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
2741
2755
  type={val.buttonType}
2742
2756
  icon={val.icon}
2743
2757
  disabled={val.disabled ? val.disabled : false}
2744
- onClick={(data) => val.id === 'save-button' ? this.saveForm() : this.callChildEvent(data, val, val.submitAction)}>
2758
+ onClick={(data) => this.callChildEvent(data, val, val.submitAction)}>
2745
2759
  {val.value}
2746
2760
  </CapButton>
2747
2761
  </CapColumn>
@@ -3272,6 +3286,7 @@ FormBuilder.propTypes = {
3272
3286
  startValidation: PropTypes.bool,
3273
3287
  // saveForm: PropTypes.bool,
3274
3288
  stopValidation: PropTypes.func,
3289
+ handleDelete: PropTypes.func,
3275
3290
  };
3276
3291
 
3277
3292
  export default FormBuilder;
@@ -4,7 +4,9 @@
4
4
  *
5
5
  */
6
6
 
7
- import React, { PropTypes } from 'react';
7
+ import PropTypes from 'prop-types';
8
+
9
+ import React from 'react';
8
10
  // import styled from 'styled-components';
9
11
  import { FormattedMessage } from 'react-intl';
10
12
 
@@ -27,7 +27,7 @@ class WechatRichmediaTemplatePreview extends React.PureComponent { // eslint-dis
27
27
  <div className="preview-overflow-wrap-fields" style={{ position: "absolute", bottom: "5%", left: "5%" }}>{contentData.title ? contentData.title : ""}</div>
28
28
  </CapRow>
29
29
  {Object.keys(mediaList).length === 1 ?
30
- <CapRow style={{ height: 32, left: "5%" }}>
30
+ <CapRow style={{ height: 32 }}>
31
31
  {contentData.digest ? contentData.digest : ""}
32
32
  </CapRow>
33
33
  :
@@ -38,7 +38,7 @@ class WechatRichmediaTemplatePreview extends React.PureComponent { // eslint-dis
38
38
  } else {
39
39
  returnObj.push(
40
40
  <CapRow style={{ "width": "100%", "height": 64, "border-bottom": "0.5px solid lightgrey" }}>
41
- <CapColumn className="preview-overflow-wrap-fields" style={{ padding: "5% 0% 0% 5%", float: "left" }}>
41
+ <CapColumn className="preview-overflow-wrap-fields" style={{ padding: "5% 0% 0% 5%", float: "left", width: "auto" }}>
42
42
  {contentData.title}
43
43
  </CapColumn>
44
44
  <CapColumn style={{ float: "right" }}>
@@ -50,6 +50,41 @@ class WechatRichmediaTemplatePreview extends React.PureComponent { // eslint-dis
50
50
  });
51
51
  return returnObj;
52
52
  }
53
+ prepareCardLayoutPreviewData = (mediaList) => {
54
+ const returnObj = [];
55
+ _.forEach(mediaList, (contentData, contentIndex) => {
56
+ const id = parseInt(contentIndex, 10);
57
+ if (id === 0) {
58
+ returnObj.push(
59
+ <div style={{ width: "100%", height: 116, position: "relative" }}>
60
+ <CapRow>
61
+ <img alt="default" width="100%" height="110px" src={contentData.image_url} />
62
+ <div className="preview-overflow-wrap-fields" style={{ position: "absolute", bottom: "5%", left: "10%", width: "auto" }}>{contentData.title ? contentData.title : ""}</div>
63
+ </CapRow>
64
+ {Object.keys(mediaList).length === 1 ?
65
+ <CapRow style={{ height: 32, left: "12%" }}>
66
+ {contentData.digest ? contentData.digest : ""}
67
+ </CapRow>
68
+ :
69
+ ""
70
+ }
71
+ </div>
72
+ );
73
+ } else {
74
+ returnObj.push(
75
+ <CapRow style={{ "width": "100%", "height": 64, "border-bottom": "0.5px solid lightgrey", "padding": "0 8px" }}>
76
+ <CapColumn className="preview-overflow-wrap-fields" style={{ padding: "5% 0% 0% 8%", float: "left", width: "auto" }}>
77
+ {contentData.title}
78
+ </CapColumn>
79
+ <CapColumn style={{ float: "right" }}>
80
+ <img alt="default" width="60px" height="60px" src={contentData.image_url}/>
81
+ </CapColumn>
82
+ </CapRow>
83
+ );
84
+ }
85
+ });
86
+ return returnObj;
87
+ }
53
88
  goToEdit(e, path) {
54
89
  this.props.onEditClick(e, this.props.templateId, this.props.modeType, path);
55
90
  }
@@ -78,7 +113,7 @@ class WechatRichmediaTemplatePreview extends React.PureComponent { // eslint-dis
78
113
  <div className={`preview-container ${this.props.type === 'embedded' ? 'embedded-preview' : ''}`}>
79
114
  <div className="shell align-center" id="sms-preview">
80
115
  <div className="wechatMsgContainerCardLayout">
81
- <div>{this.preparePreviewData(this.props.content)}
116
+ <div>{this.prepareCardLayoutPreviewData(this.props.content)}
82
117
  </div>
83
118
  </div>
84
119
  </div>
@@ -8,10 +8,9 @@ import PropTypes from 'prop-types';
8
8
 
9
9
  import React from 'react';
10
10
  import _ from 'lodash';
11
- import { injectIntl, intlShape, FormattedMessage} from 'react-intl';
11
+ import { injectIntl, FormattedMessage} from 'react-intl';
12
12
  // import styled from 'styled-components';
13
- import {CapColumn} from '@capillarytech/cap-ui-library';
14
- import moment from 'moment';
13
+ import {CapColumn, CapRow, CapHeading} from '@capillarytech/cap-ui-library';
15
14
  import './_templatePreview.scss';
16
15
  import {updateCharCount} from '../../utils/smsCharCountV2';
17
16
  import messages from './messages';
@@ -33,7 +32,7 @@ class TemplatePreview extends React.Component { // eslint-disable-line react/pre
33
32
  for (let i = 0, limit = 0; i < smsDetails.parts; i += 1, limit += smsDetails.chars_sms) {
34
33
  content.push(smsDetails.char_list.slice(limit, smsDetails.chars_sms * (i + 1)));
35
34
  }
36
- if (document.getElementById("msg_count")) {
35
+ if (document.getElementById("msg_count") && this.props.showCount) {
37
36
  document.getElementById("msg_count").val = smsDetails.parts;
38
37
  }
39
38
  //smsText = this.props.intl.formatMessage(messages.previewGenerationMessage);
@@ -52,36 +51,46 @@ class TemplatePreview extends React.Component { // eslint-disable-line react/pre
52
51
  });
53
52
  }
54
53
  return (
55
- <div className={`preview-container ${type === 'embedded' ? 'embedded-preview' : ''}`}>
56
- { channel && channel.toLowerCase() === 'sms' &&
57
- <div className="shell align-center" id="sms-preview">
58
- <img className="preview-image sms" src={smsBody} alt="Preview is being generated"/>
59
- <div className="msgContainer sms">
60
- <img className="sms-icon" src={smsIcon} alt="Sms icon" />
61
- <div className={"message-pop sms"}>
62
- {content && content.length && content.map((msg, index) =>
63
- <CapColumn key={`"message-pop-content-${index}`} className="message-pop-item align-left" style={{ background: '#3F51B5', color: '#ffffff'}}>
64
- {msg}
65
- </CapColumn>)
54
+ <CapRow>
55
+ {this.props.showCount && <CapColumn span={16}>
56
+ {channel && channel.toLowerCase() === 'sms' && <CapHeading type="h3">
57
+ <FormattedMessage {...messages.charactersTotal} values={{smsCount: smsDetails.parts, charCount: smsDetails.chars_used}}/>
58
+ {smsDetails.unicode &&
59
+ <FormattedMessage {...messages.smsFormatType}/>
60
+ }
61
+ </CapHeading>}
62
+ </CapColumn>}
63
+ <CapColumn span={this.props.showCount ? 8 : 24}>
64
+ <div className={`preview-container ${type === 'embedded' ? 'embedded-preview' : ''}`}>
65
+ { channel && channel.toLowerCase() === 'sms' &&
66
+ <div className="shell align-center" id="sms-preview">
67
+ <img className="preview-image sms" src={smsBody} alt="Preview is being generated"/>
68
+ <div className="msgContainer sms">
69
+ <img className="sms-icon" src={smsIcon} alt="Sms icon" />
70
+ <div className={"message-pop sms"}>
71
+ {content && content.length && content.map((msg, index) =>
72
+ <CapColumn key={`"message-pop-content-${index}`} className="message-pop-item align-left" style={{ background: '#3F51B5', color: '#ffffff'}}>
73
+ {msg}
74
+ </CapColumn>)
66
75
  }
76
+ </div>
77
+ </div>
67
78
  </div>
68
- </div>
69
- </div>
70
- }
71
- {channel && channel.toLowerCase() === 'wechat' ?
72
- ( <div className="shell align-center" id="sms-preview">
73
- <img className="preview-image" src={channel.toLowerCase() === 'wechat' ? wechatBody : smsBody} alt="Preview is being generated"/>
74
- <div className="msgContainer">
75
- {this.props.channel.toLowerCase() === 'wechat' ? <div className="sms-icon" style={{ width: '25px', height: '25px', background: '#2E89DF' }}></div> : <img className="sms-icon" src={smsIcon} alt="Sms icon" />}
76
- <div className="message-pop align-left" style={{ background: `${this.props.channel.toLowerCase() === 'wechat' ? '#ffffff' : '#3F51B5'}`, color: `${this.props.channel.toLowerCase() === 'wechat' ? '#333333' : '#ffffff'}`}}>{content}
79
+ }
80
+ {channel && channel.toLowerCase() === 'wechat' ?
81
+ ( <div className="shell align-center" id="sms-preview">
82
+ <img className="preview-image" src={channel.toLowerCase() === 'wechat' ? wechatBody : smsBody} alt="Preview is being generated"/>
83
+ <div className="msgContainer">
84
+ {this.props.channel.toLowerCase() === 'wechat' ? <div className="sms-icon" style={{ width: '25px', height: '25px', background: '#2E89DF' }}></div> : <img className="sms-icon" src={smsIcon} alt="Sms icon" />}
85
+ <div className="message-pop align-left" style={{ background: `${this.props.channel.toLowerCase() === 'wechat' ? '#ffffff' : '#3F51B5'}`, color: `${this.props.channel.toLowerCase() === 'wechat' ? '#333333' : '#ffffff'}`}}>{content}
86
+ </div>
77
87
  </div>
78
88
  </div>
79
- </div>
80
89
  ) : ''
81
90
  }
82
- { channel && (channel.toLowerCase() === 'mobilepush') &&
83
- (<div className="shell align-center" id="mobilepush-preview">
84
- <img className="preview-image" src={this.props.device === "android" ? androidPushMessagePhone : iPhonePushMessagePhone} alt="Preview is being generated"/>
91
+ { channel && (channel.toLowerCase() === 'mobilepush') &&
92
+ (<div className="shell align-center" id="mobilepush-preview">
93
+ <img className="preview-image" src={this.props.device === "android" ? androidPushMessagePhone : iPhonePushMessagePhone} alt="Preview is being generated"/>
85
94
  {(!!content.header || !!content.bodyText || !!content.bodyImage) &&
86
95
  <div className={`${this.props.device}-push-message-Container`}>
87
96
  {this.props.device === "android" ?
@@ -124,10 +133,10 @@ class TemplatePreview extends React.Component { // eslint-disable-line react/pre
124
133
  }
125
134
  </div>
126
135
  }
127
- </div>
136
+ </div>
128
137
  )
129
138
  }
130
- {
139
+ {
131
140
  channel && channel.toLowerCase() === 'line' ? (
132
141
  <div className="shell align-center" id="sms-preview">
133
142
  <img className="preview-image" src={wechatBody} alt="Preview is being generated"/>
@@ -142,25 +151,11 @@ class TemplatePreview extends React.Component { // eslint-disable-line react/pre
142
151
  </div>
143
152
  ) : ''
144
153
  }
145
- {
146
- this.props.charCounterEnabled && !_.isEmpty(smsDetails) ?
147
- <div>
148
- <p className="preview-info">
149
- {smsDetails.unicode &&
150
- <div style={{fontSize: '16px'}}>{`${this.props.intl.formatMessage(messages.smsFormatType)}`}</div>
151
- }
152
- <div style={{marginTop: '8px', fontSize: '16px'}} >{`${this.props.intl.formatMessage(messages.sms)}: ${smsDetails.parts}`}</div>
153
- <div style={{fontSize: '16px'}}>{`${this.props.intl.formatMessage(messages.charactersPerSms)}: ${smsDetails.chars_used}`}</div>
154
- </p>
155
- </div>
156
- : ''
157
- }
158
- {this.props.templateData && this.props.templateData.updatedByName &&
159
- [<p className="preview-info" key="preview-info-modified"><FormattedMessage {...messages.lastModified} />: {moment(this.props.templateData.updatedAt).format('MM-DD-YYYY')}</p>,
160
- <p style={{marginBottom: '8px'}} className="preview-info" key="preview-info-updated"><FormattedMessage {...messages.uploadedBy} /> : {this.props.templateData.updatedByName}</p>,
161
- ]
162
- }
163
- </div>
154
+
155
+ </div>
156
+
157
+ </CapColumn>
158
+ </CapRow>
164
159
  );
165
160
  }
166
161
  }
@@ -172,10 +167,9 @@ TemplatePreview.propTypes = {
172
167
  channel: PropTypes.string,
173
168
  charCounterEnabled: PropTypes.bool,
174
169
  location: PropTypes.object,
175
- intl: intlShape.isRequired,
176
170
  device: PropTypes.string,
177
171
  unicodeEnabled: PropTypes.bool,
178
- templateData: PropTypes.object,
172
+ showCount: PropTypes.bool,
179
173
  };
180
174
 
181
175
  export default (injectIntl(TemplatePreview));
@@ -20,7 +20,7 @@ export default defineMessages({
20
20
  },
21
21
  charactersTotal: {
22
22
  id: 'app.components.TemplatePreview.charactersTotal',
23
- defaultMessage: "SMS Char total",
23
+ defaultMessage: "{smsCount} SMS ({charCount} characters)",
24
24
  },
25
25
  smsFormatType: {
26
26
  id: 'app.components.TemplatePreview.smsFormatType',
package/config/app.js CHANGED
@@ -8,6 +8,7 @@ const config = {
8
8
  login_url: 'auth/login',
9
9
  //dashboard_url: '/sms',
10
10
  dashboard_url: '/v2',
11
+ accountConfig: (strs, accountId) => `org/config/AccountAdd?q=a&channelId=2&accountId=${accountId}&edit=1`,
11
12
  },
12
13
  development: {
13
14
  api_endpoint: 'https://nightly.capillary.in/arya/api/v1/creatives',
@@ -51,11 +51,6 @@ export function fetchSchemaForEntity(queryParams) {
51
51
  };
52
52
  }
53
53
 
54
- export function clearMetaEntities() {
55
- return {
56
- type: types.CLEAR_META_ENTITIES,
57
- };
58
- }
59
54
  export function setInjectedTags(injectedTags) {
60
55
  return {
61
56
  type: types.SET_INJECTED_TAGS, injectedTags,
@@ -6,7 +6,7 @@ import _ from 'lodash';
6
6
  import * as types from './constants';
7
7
  import initialState from '../../initialState';
8
8
 
9
- function capReducer(state = fromJS(initialState.cap), action) {
9
+ function capReducer(state = fromJS(initialState), action) {
10
10
  switch (action.type) {
11
11
  case types.LOGIN_REQUEST:
12
12
  return state.set('login_progress', true);
@@ -18,10 +18,6 @@ const makeSelectMetaEntities = () => createSelector(
18
18
  (globalState) => globalState.get('metaEntities')
19
19
  );
20
20
 
21
- const isLoadingMetaEntities = () => createSelector(
22
- selectCapDomain,
23
- (globalState) => globalState.get('fetchingSchema')
24
- );
25
21
  const setInjectedTags = () => createSelector(
26
22
  selectCapDomain,
27
23
  (globalState) => {
@@ -58,13 +54,6 @@ const makeSelectUser = () => createSelector(
58
54
  selectCapDomain,
59
55
  (globalState) => globalState.get('user')
60
56
  );
61
- const selectCurrentOrgDetails = () => createSelector(
62
- selectCapDomain,
63
- (globalState) => {
64
- const currentOrgDetails = globalState.get('currentOrgDetails');
65
- return currentOrgDetails ? currentOrgDetails.toJS() : null;
66
- }
67
- );
68
57
 
69
58
  const makeSelectFetchingSchema = () => createSelector(
70
59
  selectCapDomain,
@@ -78,8 +67,6 @@ export {
78
67
  makeSelectOrgId,
79
68
  makeSelectMetaEntities,
80
69
  makeSelectUser,
81
- selectCurrentOrgDetails,
82
- isLoadingMetaEntities,
83
70
  makeSelectFetchingSchema,
84
71
  setInjectedTags,
85
72
  };
@@ -25,7 +25,6 @@ import makeSelectEbill from './selectors';
25
25
  import messages from './messages';
26
26
  import EmailPreview from '../../components/EmailPreview';
27
27
  import './_ebill.scss';
28
- import callNativeEvent from '../../utils/callNativeEvent';
29
28
  const BreadcrumbItem = Breadcrumb.Item;
30
29
 
31
30
  export class Ebill extends React.Component { // eslint-disable-line react/prefer-stateless-function
@@ -884,7 +883,7 @@ export class Ebill extends React.Component { // eslint-disable-line react/prefer
884
883
  myField.value += myValue;
885
884
  }
886
885
  const event = new Event('input', { bubbles: true });
887
- callNativeEvent({field, value: myField.value, event});
886
+ myField.dispatchEvent(event);
888
887
  };
889
888
 
890
889
  injectMessages(elem) {
@@ -77,6 +77,7 @@
77
77
  .ant-tabs-extra-content{
78
78
  flex: 1;
79
79
  align-self: flex-end;
80
+ padding: 4px;
80
81
  height: 42px;
81
82
  }
82
83
 
@@ -6,11 +6,10 @@
6
6
 
7
7
  import * as types from './constants';
8
8
 
9
- export function createTemplate(template, onCreateTemplateComplete) {
9
+ export function createTemplate(template) {
10
10
  return {
11
11
  type: types.CREATE_TEMPLATE_REQUEST,
12
12
  template,
13
- onCreateTemplateComplete,
14
13
  };
15
14
  }
16
15
 
@@ -23,6 +22,7 @@ export function duplicateTemplate(id, channel) {
23
22
  }
24
23
 
25
24
  export function getTemplateDetails(id, channel) {
25
+ console.log('getting template', id, channel);
26
26
  return {
27
27
  type: types.GET_TEMPLATE_DETAILS_REQUEST,
28
28
  id,
@@ -39,6 +39,7 @@ export function getAllAssets(assetType, queryParams) {
39
39
  }
40
40
 
41
41
  export function getCmsSetting(cmsType, projectId, cmsMode, langId, isEdmSupport) {
42
+ console.log('cms actions', langId, isEdmSupport);
42
43
  return {
43
44
  type: types.GET_CMS_EDITOR_DETAILS_REQUEST,
44
45
  cmsType,
@@ -78,9 +79,3 @@ export function uploadAsset(file, assetType, fileParams) {
78
79
  fileParams,
79
80
  };
80
81
  }
81
-
82
- export function resetCmsData() {
83
- return {
84
- type: types.RESET_CMS_EDITOR_DATA,
85
- };
86
- }
@@ -23,7 +23,6 @@ export const GET_CMS_EDITOR_DETAILS_FAILURE = 'app/containers/Email/GET_CMS_EDIT
23
23
  export const GET_CMS_EDITOR_DATA_REQUEST = 'app/containers/Email/GET_CMS_EDITOR_DATA_REQUEST';
24
24
  export const GET_CMS_EDITOR_DATA_SUCCESS = 'app/containers/Email/GET_CMS_EDITOR_DATA_SUCCESS';
25
25
  export const GET_CMS_EDITOR_DATA_FAILURE = 'app/containers/Email/GET_CMS_EDITOR_DATA_FAILURE';
26
- export const RESET_CMS_EDITOR_DATA = 'app/containers/Email/RESET_CMS_EDITOR_DATA';
27
26
 
28
27
  export const UPLOAD_ASSET_REQUEST = 'app/containers/Email/UPLOAD_ASSET_REQUEST';
29
28
  export const UPLOAD_ASSET_SUCCESS = 'app/containers/Email/UPLOAD_ASSET_SUCCESS';