@capillarytech/creatives-library 8.0.136-alpha.4 → 8.0.136-beta.3

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 (292) hide show
  1. package/components/BreadCrumbs/index.js +65 -0
  2. package/components/BreadCrumbs/messages.js +13 -0
  3. package/components/CapTagList/index.js +235 -0
  4. package/components/CapTagList/messages.js +45 -0
  5. package/components/Card/_customCard.scss +40 -0
  6. package/components/Card/index.js +78 -0
  7. package/components/Card/tests/__snapshots__/index.test.js.snap +22 -0
  8. package/components/Card/tests/index.test.js +20 -0
  9. package/components/CardGrid/index.js +71 -0
  10. package/components/Ckeditor/index.js +238 -0
  11. package/components/Ckeditor/messages.js +13 -0
  12. package/components/Ckeditor/style.scss +3 -0
  13. package/components/Component/index.js +29 -0
  14. package/components/CustomPopOver/index.js +81 -0
  15. package/components/CustomPopOver/messages.js +17 -0
  16. package/components/DateFilter/index.js +349 -0
  17. package/components/DateFilter/messages.js +57 -0
  18. package/components/DateRange/index.js +114 -0
  19. package/components/DateRange/messages.js +25 -0
  20. package/components/Edmeditor/index.js +65 -0
  21. package/components/Edmeditor/messages.js +13 -0
  22. package/components/EmailPreview/_emailPreview.scss +119 -0
  23. package/components/EmailPreview/assets/images/iPad.svg +10 -0
  24. package/components/EmailPreview/assets/images/mobile.png +0 -0
  25. package/components/EmailPreview/index.js +107 -0
  26. package/components/EmailPreview/messages.js +33 -0
  27. package/components/Footer/index.js +27 -0
  28. package/components/Footer/messages.js +13 -0
  29. package/components/FormBuilder/_formBuilder.scss +83 -0
  30. package/components/FormBuilder/index.js +3279 -0
  31. package/components/FormBuilder/messages.js +61 -0
  32. package/components/Header/index.js +44 -0
  33. package/components/Header/messages.js +29 -0
  34. package/components/ImagePreview/_imagePreview.scss +63 -0
  35. package/components/ImagePreview/index.js +52 -0
  36. package/components/ImagePreview/messages.js +17 -0
  37. package/components/PageHeader/_pageHeader.scss +22 -0
  38. package/components/PageHeader/index.js +37 -0
  39. package/components/PageHeader/messages.js +13 -0
  40. package/components/Pagination/_pagination.scss +5 -0
  41. package/components/Pagination/index.js +49 -0
  42. package/components/PreviewSideBar/_previewsidebar.scss +28 -0
  43. package/components/PreviewSideBar/index.js +152 -0
  44. package/components/PreviewSideBar/messages.js +41 -0
  45. package/components/Sidebar/_sidebar.scss +115 -0
  46. package/components/Sidebar/index.js +214 -0
  47. package/components/Sidebar/messages.js +21 -0
  48. package/components/SlideBox/_slideBox.scss +63 -0
  49. package/components/SlideBox/index.js +47 -0
  50. package/components/SlideBox/tests/index.test.js +103 -0
  51. package/components/SmsEditor/index.js +55 -0
  52. package/components/SmsTest/index.js +117 -0
  53. package/components/SmsTest/messages.js +21 -0
  54. package/components/TemplatePreview/WechatRichmediaTemplatePreview/_wechatRichmediaTemplatePrev.scss +42 -0
  55. package/components/TemplatePreview/WechatRichmediaTemplatePreview/index.js +141 -0
  56. package/components/TemplatePreview/WechatRichmediaTemplatePreview/messages.js +21 -0
  57. package/components/TemplatePreview/_templatePreview.scss +642 -0
  58. package/components/TemplatePreview/assets/images/WECHAT_5x.png +0 -0
  59. package/components/TemplatePreview/assets/images/androidPushMessage.svg +45 -0
  60. package/components/TemplatePreview/assets/images/home-screen-android.svg +21 -0
  61. package/components/TemplatePreview/assets/images/home-screen-ios.svg +16 -0
  62. package/components/TemplatePreview/assets/images/iPhonePushMessage.svg +135 -0
  63. package/components/TemplatePreview/assets/images/mobile.svg +24 -0
  64. package/components/TemplatePreview/assets/images/sms-body.png +0 -0
  65. package/components/TemplatePreview/assets/images/sms-icon.png +0 -0
  66. package/components/TemplatePreview/assets/images/sms_mobile.png +0 -0
  67. package/components/TemplatePreview/assets/images/sms_mobile_android.svg +22 -0
  68. package/components/TemplatePreview/assets/images/sms_mobile_ios.svg +16 -0
  69. package/components/TemplatePreview/assets/images/user-icon.svg +19 -0
  70. package/components/TemplatePreview/assets/images/wechat-mobile.svg +78 -0
  71. package/components/TemplatePreview/assets/images/wechat_mobile_android.svg +20 -0
  72. package/components/TemplatePreview/index.js +617 -0
  73. package/components/TemplatePreview/messages.js +78 -0
  74. package/components/Toastr/index.js +60 -0
  75. package/components/Toastr/messages.js +13 -0
  76. package/components/ToastrMessage/index.js +113 -0
  77. package/components/ToastrMessage/messages.js +17 -0
  78. package/components/TopBar/_topbar.scss +46 -0
  79. package/components/TopBar/assets/images/capillary_logo.png +0 -0
  80. package/components/TopBar/assets/images/old_capillary_logo.png +0 -0
  81. package/components/TopBar/index.js +113 -0
  82. package/components/TopBar/messages.js +29 -0
  83. package/containers/App/actions.js +7 -0
  84. package/containers/App/constants.js +114 -0
  85. package/containers/App/index.js +52 -0
  86. package/containers/App/reducer.js +19 -0
  87. package/containers/App/sagas.js +31 -0
  88. package/containers/App/selectors.js +25 -0
  89. package/containers/App/test/saga.test.js +11 -0
  90. package/containers/Assets/Gallery/_gallery.scss +126 -0
  91. package/containers/Assets/Gallery/actions.js +37 -0
  92. package/containers/Assets/Gallery/constants.js +23 -0
  93. package/containers/Assets/Gallery/index.js +473 -0
  94. package/containers/Assets/Gallery/messages.js +93 -0
  95. package/containers/Assets/Gallery/reducer.js +81 -0
  96. package/containers/Assets/Gallery/sagas.js +80 -0
  97. package/containers/Assets/Gallery/selectors.js +25 -0
  98. package/containers/Assets/Gallery/tests/__snapshots__/reducer.test.js.snap +9 -0
  99. package/containers/Assets/Gallery/tests/actions.test.js +25 -0
  100. package/containers/Assets/Gallery/tests/reducer.test.js +96 -0
  101. package/containers/Assets/Gallery/tests/saga.test.js +157 -0
  102. package/containers/Cap/actions.js +66 -0
  103. package/containers/Cap/constants.js +25 -0
  104. package/containers/Cap/index.js +402 -0
  105. package/containers/Cap/messages.js +75 -0
  106. package/containers/Cap/reducer.js +113 -0
  107. package/containers/Cap/sagas.js +159 -0
  108. package/containers/Cap/selectors.js +75 -0
  109. package/containers/Cap/tests/__snapshots__/index.test.js.snap +2269 -0
  110. package/containers/Cap/tests/index.test.js +22 -0
  111. package/containers/Cap/tests/saga.test.js +284 -0
  112. package/containers/Dashboard/actions.js +15 -0
  113. package/containers/Dashboard/constants.js +7 -0
  114. package/containers/Dashboard/index.js +76 -0
  115. package/containers/Dashboard/messages.js +13 -0
  116. package/containers/Dashboard/reducer.js +21 -0
  117. package/containers/Dashboard/sagas.js +17 -0
  118. package/containers/Dashboard/selectors.js +25 -0
  119. package/containers/Dashboard/test/saga.test.js +9 -0
  120. package/containers/Ebill/_ebill.scss +5 -0
  121. package/containers/Ebill/actions.js +43 -0
  122. package/containers/Ebill/constants.js +20 -0
  123. package/containers/Ebill/index.js +1278 -0
  124. package/containers/Ebill/messages.js +77 -0
  125. package/containers/Ebill/reducer.js +72 -0
  126. package/containers/Ebill/sagas.js +74 -0
  127. package/containers/Ebill/selectors.js +25 -0
  128. package/containers/Ebill/test/saga.test.js +11 -0
  129. package/containers/Email/_email.scss +141 -0
  130. package/containers/Email/actions.js +81 -0
  131. package/containers/Email/constants.js +36 -0
  132. package/containers/Email/index.js +3325 -0
  133. package/containers/Email/messages.js +289 -0
  134. package/containers/Email/reducer.js +142 -0
  135. package/containers/Email/sagas.js +135 -0
  136. package/containers/Email/selectors.js +31 -0
  137. package/containers/Email/test/saga.test.js +671 -0
  138. package/containers/LanguageProvider/actions.js +17 -0
  139. package/containers/LanguageProvider/constants.js +8 -0
  140. package/containers/LanguageProvider/index.js +80 -0
  141. package/containers/LanguageProvider/reducer.js +30 -0
  142. package/containers/LanguageProvider/selectors.js +20 -0
  143. package/containers/LanguageProvider/tests/actions.test.js +19 -0
  144. package/containers/LanguageProvider/tests/index.test.js +78 -0
  145. package/containers/LanguageProvider/tests/reducer.test.js +20 -0
  146. package/containers/LanguageProvider/tests/selectors.test.js +15 -0
  147. package/containers/Line/Create/_lineCreate.scss +54 -0
  148. package/containers/Line/Create/actions.js +90 -0
  149. package/containers/Line/Create/constants.js +39 -0
  150. package/containers/Line/Create/index.js +836 -0
  151. package/containers/Line/Create/messages.js +189 -0
  152. package/containers/Line/Create/reducer.js +99 -0
  153. package/containers/Line/Create/sagas.js +121 -0
  154. package/containers/Line/Create/selectors.js +36 -0
  155. package/containers/Line/Create/tests/saga.test.js +202 -0
  156. package/containers/Line/Edit/_lineEdit.scss +35 -0
  157. package/containers/Line/Edit/actions.js +79 -0
  158. package/containers/Line/Edit/constants.js +27 -0
  159. package/containers/Line/Edit/index.js +1050 -0
  160. package/containers/Line/Edit/messages.js +177 -0
  161. package/containers/Line/Edit/reducer.js +83 -0
  162. package/containers/Line/Edit/sagas.js +80 -0
  163. package/containers/Line/Edit/selectors.js +29 -0
  164. package/containers/Line/Edit/test/saga.test.js +160 -0
  165. package/containers/Login/assets/images/capillary_logo.png +0 -0
  166. package/containers/Login/components/LoginForm/index.js +62 -0
  167. package/containers/Login/components/LoginForm/messages.js +33 -0
  168. package/containers/Login/index.js +130 -0
  169. package/containers/Login/messages.js +25 -0
  170. package/containers/Login/selectors.js +25 -0
  171. package/containers/MobilePush/Create/_mobilePushCreate.scss +39 -0
  172. package/containers/MobilePush/Create/actions.js +46 -0
  173. package/containers/MobilePush/Create/constants.js +23 -0
  174. package/containers/MobilePush/Create/index.js +2303 -0
  175. package/containers/MobilePush/Create/messages.js +269 -0
  176. package/containers/MobilePush/Create/reducer.js +70 -0
  177. package/containers/MobilePush/Create/sagas.js +74 -0
  178. package/containers/MobilePush/Create/selectors.js +28 -0
  179. package/containers/MobilePush/Create/test/saga.test.js +19 -0
  180. package/containers/MobilePush/Edit/_mobilePushCreate.scss +39 -0
  181. package/containers/MobilePush/Edit/actions.js +91 -0
  182. package/containers/MobilePush/Edit/constants.js +35 -0
  183. package/containers/MobilePush/Edit/index.js +2601 -0
  184. package/containers/MobilePush/Edit/messages.js +266 -0
  185. package/containers/MobilePush/Edit/reducer.js +112 -0
  186. package/containers/MobilePush/Edit/sagas.js +126 -0
  187. package/containers/MobilePush/Edit/selectors.js +29 -0
  188. package/containers/MobilePush/Edit/tests/saga.test.js +255 -0
  189. package/containers/NotFoundPage/index.js +25 -0
  190. package/containers/NotFoundPage/messages.js +13 -0
  191. package/containers/NotFoundPage/tests/index.test.js +17 -0
  192. package/containers/Sms/Create/_smsCreate.scss +42 -0
  193. package/containers/Sms/Create/actions.js +27 -0
  194. package/containers/Sms/Create/constants.js +16 -0
  195. package/containers/Sms/Create/index.js +1488 -0
  196. package/containers/Sms/Create/messages.js +109 -0
  197. package/containers/Sms/Create/reducer.js +41 -0
  198. package/containers/Sms/Create/sagas.js +40 -0
  199. package/containers/Sms/Create/selectors.js +28 -0
  200. package/containers/Sms/Create/test/saga.test.js +11 -0
  201. package/containers/Sms/Edit/actions.js +40 -0
  202. package/containers/Sms/Edit/constants.js +17 -0
  203. package/containers/Sms/Edit/index.js +1472 -0
  204. package/containers/Sms/Edit/messages.js +105 -0
  205. package/containers/Sms/Edit/reducer.js +50 -0
  206. package/containers/Sms/Edit/sagas.js +60 -0
  207. package/containers/Sms/Edit/selectors.js +32 -0
  208. package/containers/Sms/Edit/test/saga.test.js +13 -0
  209. package/containers/TagList/_tagList.scss +8 -0
  210. package/containers/TagList/actions.js +15 -0
  211. package/containers/TagList/constants.js +32 -0
  212. package/containers/TagList/index.js +236 -0
  213. package/containers/TagList/messages.js +13 -0
  214. package/containers/TagList/reducer.js +23 -0
  215. package/containers/TagList/sagas.js +11 -0
  216. package/containers/TagList/selectors.js +25 -0
  217. package/containers/Templates/_templates.scss +333 -0
  218. package/containers/Templates/actions.js +103 -0
  219. package/containers/Templates/constants.js +60 -0
  220. package/containers/Templates/index.js +1756 -0
  221. package/containers/Templates/messages.js +337 -0
  222. package/containers/Templates/reducer.js +142 -0
  223. package/containers/Templates/sagas.js +163 -0
  224. package/containers/Templates/selectors.js +28 -0
  225. package/containers/Templates/test/saga.test.js +241 -0
  226. package/containers/WeChat/MapTemplates/_mapTemplates.scss +8 -0
  227. package/containers/WeChat/MapTemplates/actions.js +52 -0
  228. package/containers/WeChat/MapTemplates/constants.js +28 -0
  229. package/containers/WeChat/MapTemplates/index.js +1610 -0
  230. package/containers/WeChat/MapTemplates/messages.js +157 -0
  231. package/containers/WeChat/MapTemplates/reducer.js +74 -0
  232. package/containers/WeChat/MapTemplates/sagas.js +84 -0
  233. package/containers/WeChat/MapTemplates/selectors.js +25 -0
  234. package/containers/WeChat/MapTemplates/test/saga.test.js +155 -0
  235. package/containers/WeChat/RichmediaTemplates/Create/_createRichmedia.scss +57 -0
  236. package/containers/WeChat/RichmediaTemplates/Create/actions.js +36 -0
  237. package/containers/WeChat/RichmediaTemplates/Create/constants.js +15 -0
  238. package/containers/WeChat/RichmediaTemplates/Create/index.js +1071 -0
  239. package/containers/WeChat/RichmediaTemplates/Create/messages.js +165 -0
  240. package/containers/WeChat/RichmediaTemplates/Create/reducer.js +60 -0
  241. package/containers/WeChat/RichmediaTemplates/Create/richmediaschema.js +497 -0
  242. package/containers/WeChat/RichmediaTemplates/Create/sagas.js +51 -0
  243. package/containers/WeChat/RichmediaTemplates/Create/selectors.js +37 -0
  244. package/containers/WeChat/RichmediaTemplates/Create/test/saga.test.js +13 -0
  245. package/containers/WeChat/RichmediaTemplates/Edit/actions.js +20 -0
  246. package/containers/WeChat/RichmediaTemplates/Edit/constants.js +10 -0
  247. package/containers/WeChat/RichmediaTemplates/Edit/index.js +136 -0
  248. package/containers/WeChat/RichmediaTemplates/Edit/messages.js +13 -0
  249. package/containers/WeChat/RichmediaTemplates/Edit/reducer.js +28 -0
  250. package/containers/WeChat/RichmediaTemplates/Edit/sagas.js +36 -0
  251. package/containers/WeChat/RichmediaTemplates/Edit/selectors.js +30 -0
  252. package/containers/WeChat/RichmediaTemplates/Edit/test/saga.test.js +12 -0
  253. package/containers/WeChat/RichmediaTemplates/View/actions.js +15 -0
  254. package/containers/WeChat/RichmediaTemplates/View/constants.js +7 -0
  255. package/containers/WeChat/RichmediaTemplates/View/index.js +47 -0
  256. package/containers/WeChat/RichmediaTemplates/View/messages.js +21 -0
  257. package/containers/WeChat/RichmediaTemplates/View/reducer.js +23 -0
  258. package/containers/WeChat/RichmediaTemplates/View/sagas.js +11 -0
  259. package/containers/WeChat/RichmediaTemplates/View/selectors.js +25 -0
  260. package/index.js +2 -4
  261. package/package.json +1 -1
  262. package/routes.js +202 -136
  263. package/services/getSchema.js +1 -1
  264. package/services/localStorageApi.js +0 -1
  265. package/tests/i18n.test.js +1 -1
  266. package/utils/asyncInjectors.js +78 -0
  267. package/utils/authWrapper.js +1 -1
  268. package/utils/callNativeEvent.js +16 -0
  269. package/utils/checkStore.js +21 -0
  270. package/utils/common.js +2 -2
  271. package/utils/customAuthWrapper.js +62 -0
  272. package/utils/customConnectedAuthWrapper.js +26 -0
  273. package/utils/tagValidations.js +1 -1
  274. package/utils/tests/checkStore.test.js +1 -1
  275. package/utils/tests/customAuth.test.js +1 -1
  276. package/utils/transformerUtils.js +195 -1
  277. package/v2Components/CapTagList/index.js +14 -9
  278. package/v2Components/Carousel/style.scss +1 -1
  279. package/v2Components/EmailMobilePreview/index.js +2 -2
  280. package/v2Components/FormBuilder/index.js +2 -2
  281. package/v2Components/TemplatePreview/index.js +1 -2
  282. package/v2Containers/Cap/tests/saga.test.js +1 -1
  283. package/v2Containers/Email/index.js +1 -1
  284. package/v2Containers/FTP/index.js +1 -1
  285. package/v2Containers/Line/Container/Text/index.js +6 -6
  286. package/v2Containers/Sms/Create/index.js +2 -2
  287. package/v2Containers/Sms/Edit/index.js +1 -1
  288. package/v2Containers/TagList/index.js +1 -1
  289. package/v2Containers/TagList/utils.js +1 -1
  290. package/v2Containers/Templates/index.js +1 -1
  291. package/v2Containers/Templates/sagas.js +1 -1
  292. package/constants/unified.js +0 -189
@@ -0,0 +1,337 @@
1
+ /*
2
+ * Templates Messages
3
+ *
4
+ * This contains all the text for the Templates component.
5
+ */
6
+ import { defineMessages } from 'react-intl';
7
+
8
+ export default defineMessages({
9
+ "header": {
10
+ id: 'creatives.containers.Templates.header',
11
+ defaultMessage: 'This is Templates container !',
12
+ },
13
+ "uploadedAt": {
14
+ id: 'creatives.containers.Templates.uploadedAt',
15
+ defaultMessage: 'Modified',
16
+ },
17
+ "uploadedBy": {
18
+ id: 'creatives.containers.Templates.uploadedBy',
19
+ defaultMessage: 'Uploaded by',
20
+ },
21
+ "mapTemplate": {
22
+ id: 'creatives.containers.Templates.mapTemplate',
23
+ defaultMessage: 'Map template',
24
+ },
25
+ "weChatRichmediaTemplate": {
26
+ id: 'creatives.containers.Templates.weChatRichmediaTemplate',
27
+ defaultMessage: 'Richmedia template',
28
+ },
29
+ "somethingWentWrong": {
30
+ id: 'creatives.containers.Templates.somethingWentWrong',
31
+ defaultMessage: 'Something went wrong!!',
32
+ },
33
+ "wechatHeader": {
34
+ id: 'creatives.containers.Templates.wechatHeader',
35
+ defaultMessage: 'WECHAT',
36
+ },
37
+ "smsHeader": {
38
+ id: 'creatives.containers.Templates.smsHeader',
39
+ defaultMessage: 'SMS',
40
+ },
41
+ "emailHeader": {
42
+ id: 'creatives.containers.Templates.emailHeader',
43
+ defaultMessage: 'Email',
44
+ },
45
+ "mobilepushHeader": {
46
+ id: 'creatives.containers.Templates.mobilepushHeader',
47
+ defaultMessage: 'Mobile Push',
48
+ },
49
+ "ebillHeader": {
50
+ id: 'creatives.containers.Templates.ebillHeader',
51
+ defaultMessage: 'Ebill',
52
+ },
53
+ "lineHeader": {
54
+ id: 'creatives.containers.Templates.lineHeader',
55
+ defaultMessage: 'Line',
56
+ },
57
+ "selectWechatHeader": {
58
+ id: 'creatives.containers.Templates.selectWechatHeader',
59
+ defaultMessage: 'Select WECHAT template',
60
+ },
61
+ "selectSmsHeader": {
62
+ id: 'creatives.containers.Templates.selectSmsHeader',
63
+ defaultMessage: 'Select SMS template',
64
+ },
65
+ "selectAccount": {
66
+ id: 'creatives.containers.Templates.selectAccount',
67
+ defaultMessage: "Select account",
68
+ },
69
+ "gettingAllTemplates": {
70
+ id: 'creatives.containers.Templates.gettingAllTemplates',
71
+ defaultMessage: "Getting all templates...",
72
+ },
73
+ "smsChannelTemplatesHeader": {
74
+ id: 'creatives.containers.Templates.smsChannelTemplatesHeader',
75
+ defaultMessage: "SMS templates",
76
+ },
77
+ "mobilePushChannel": {
78
+ id: 'creatives.containers.Templates.mobilePushChannel',
79
+ defaultMessage: "Mobile push",
80
+ },
81
+ "mobilePushChannelTemplatesHeader": {
82
+ id: 'creatives.containers.Templates.mobilePushChannelTemplatesHeader',
83
+ defaultMessage: "Select Mobile push Template",
84
+ },
85
+ "emailChannel": {
86
+ id: 'creatives.containers.Templates.emailChannel',
87
+ defaultMessage: "Email",
88
+ },
89
+ "emailChannelTemplatesHeader": {
90
+ id: 'creatives.containers.Templates.emailChannelTemplatesHeader',
91
+ defaultMessage: "Select Email Template",
92
+ },
93
+ "ebillChannel": {
94
+ id: 'creatives.containers.Templates.ebillChannel',
95
+ defaultMessage: "Ebill",
96
+ },
97
+ "ebillChannelTemplatesHeader": {
98
+ id: 'creatives.containers.Templates.ebillChannelTemplatesHeader',
99
+ defaultMessage: "Select Ebill Template",
100
+ },
101
+ "lineChannel": {
102
+ id: 'creatives.containers.Templates.lineChannel',
103
+ defaultMessage: "Line",
104
+ },
105
+ "lineChannelTemplatesHeader": {
106
+ id: 'creatives.containers.Templates.lineChannelTemplatesHeader',
107
+ defaultMessage: "Select Line Template",
108
+ },
109
+ "wechatChannelTemplatesHeader": {
110
+ id: 'creatives.containers.Templates.wechatChannelTemplatesHeader',
111
+ defaultMessage: "WECHAT templates",
112
+ },
113
+ "uploadFile": {
114
+ id: 'creatives.containers.Templates.uploadFile',
115
+ defaultMessage: "Upload File",
116
+ },
117
+ "useEditor": {
118
+ id: 'creatives.containers.Templates.useEditor',
119
+ defaultMessage: "Use Editor",
120
+ },
121
+ "blankTemplate": {
122
+ id: 'creatives.containers.Templates.blankTemplate',
123
+ defaultMessage: "Blank template",
124
+ },
125
+ "selectButton": {
126
+ id: 'creatives.containers.Templates.selectButton',
127
+ defaultMessage: "Select",
128
+ },
129
+ "previewButton": {
130
+ id: 'creatives.containers.Templates.previewButton',
131
+ defaultMessage: "Preview",
132
+ },
133
+ "editButton": {
134
+ id: 'creatives.containers.Templates.editButton',
135
+ defaultMessage: "Edit",
136
+ },
137
+ "duplicateButton": {
138
+ id: 'creatives.containers.Templates.duplicateButton',
139
+ defaultMessage: "Duplicate",
140
+ },
141
+ "deleteButton": {
142
+ id: 'creatives.containers.Templates.deleteButton',
143
+ defaultMessage: "Delete",
144
+ },
145
+ "mostRecentOption": {
146
+ id: 'creatives.containers.Templates.mostRecentOption',
147
+ defaultMessage: "Most recent",
148
+ },
149
+ "alphabeticallyOption": {
150
+ id: 'creatives.containers.Templates.alphabeticallyOption',
151
+ defaultMessage: "Alphabetically",
152
+ },
153
+ "searchText": {
154
+ id: 'creatives.containers.Templates.searchText',
155
+ defaultMessage: "Search",
156
+ },
157
+ "noAccountMessage": {
158
+ id: 'creatives.containers.Templates.noAccountMessage',
159
+ defaultMessage: "Please select an account to proceed",
160
+ },
161
+ "noTemplatesMessage": {
162
+ id: 'creatives.containers.Templates.noTemplatesMessage',
163
+ defaultMessage: "No templates available",
164
+ },
165
+ "createSmsActionButton": {
166
+ id: 'creatives.containers.Templates.createSmsActionButton',
167
+ defaultMessage: "Create SMS",
168
+ },
169
+ "createEmailActionButton": {
170
+ id: 'creatives.containers.Templates.createEmailActionButton',
171
+ defaultMessage: "Create email",
172
+ },
173
+ "sortBy": {
174
+ id: 'creatives.containers.Templates.sortBy',
175
+ defaultMessage: "Sort by",
176
+ },
177
+ "unMapButton": {
178
+ id: 'creatives.containers.Templates.unMapButton',
179
+ defaultMessage: "Unmap",
180
+ },
181
+ "templateDuplicateSuccess": {
182
+ id: 'creatives.containers.Templates.templateDuplicateSuccess',
183
+ defaultMessage: "Template duplicated successfully",
184
+ },
185
+ "templateDeleteSuccess": {
186
+ id: 'creatives.containers.Templates.templateDeleteSuccess',
187
+ defaultMessage: "SMS template deleted successfully",
188
+ },
189
+ "newTemplate": {
190
+ id: 'creatives.containers.Templates.newTemplate',
191
+ defaultMessage: "New template",
192
+ },
193
+ "uploadingFile": {
194
+ id: 'creatives.containers.Templates.uploadingFile',
195
+ defaultMessage: "Uploading file",
196
+ },
197
+ "zipUploadFailed": {
198
+ id: 'creatives.containers.Templates.zipUploadFailed',
199
+ defaultMessage: 'Failed to upload zip file',
200
+ },
201
+ "campaigns": {
202
+ id: 'creatives.containers.Templates.campaigns',
203
+ defaultMessage: 'Campaigns',
204
+ },
205
+ "creatives": {
206
+ id: 'creatives.containers.Templates.creatives',
207
+ defaultMessage: 'Creatives',
208
+ },
209
+ "ebillPreview": {
210
+ id: 'creatives.containers.Templates.ebillPreview',
211
+ defaultMessage: 'Ebill preview',
212
+ },
213
+ "emailPreview": {
214
+ id: 'creatives.containers.Templates.emailPreview',
215
+ defaultMessage: 'Email preview',
216
+ },
217
+ "Template deleted successfully": {
218
+ id: 'creatives.containers.Templates.deletedSuccssfully',
219
+ defaultMessage: 'Template deleted successfully',
220
+ },
221
+ "Template deletion failed": {
222
+ id: 'creatives.containers.Templates.deletionFailed',
223
+ defaultMessage: 'Template deletion failed',
224
+ },
225
+ "preview": {
226
+ id: 'creatives.containers.Templates.preview',
227
+ defaultMessage: 'Preview',
228
+ },
229
+ "invalidUploadFileError": {
230
+ id: 'creatives.containers.Templates.invalidUploadFileError',
231
+ defaultMessage: 'File cannot be uploaded. Please select another file with valid file format.',
232
+ },
233
+ "templateDeleteConfirm": {
234
+ id: 'creatives.containers.Templates.templateDeleteConfirm',
235
+ defaultMessage: 'Are you sure you want to delete this template?',
236
+ },
237
+ "cancelText": {
238
+ id: 'creatives.containers.Templates.cancelText',
239
+ defaultMessage: 'Cancel',
240
+ },
241
+ "yesText": {
242
+ id: 'creatives.containers.Templates.yesText',
243
+ defaultMessage: 'Yes',
244
+ },
245
+ "templateSelection": {
246
+ id: 'creatives.containers.Templates.templateSelection',
247
+ defaultMessage: 'Template selection',
248
+ },
249
+ "layoutSelection": {
250
+ id: 'creatives.containers.Templates.layoutSelection',
251
+ defaultMessage: 'Select layout',
252
+ },
253
+ "textTemplate": {
254
+ id: 'creatives.containers.Templates.textTemplate',
255
+ defaultMessage: 'Text',
256
+ },
257
+ "imageTemplate": {
258
+ id: 'creatives.containers.Templates.imageTemplate',
259
+ defaultMessage: 'Image',
260
+ },
261
+ "selectDefaultButton": {
262
+ id: 'creatives.containers.Templates.selectDefaultButton',
263
+ defaultMessage: 'Select',
264
+ },
265
+ "previewGenerateText": {
266
+ id: 'creatives.containers.Templates.previewGenerateText',
267
+ defaultMessage: 'Preview is being generated...',
268
+ },
269
+ "wechatAccountNotConfigured": {
270
+ id: 'creatives.containers.Templates.wechatAccountNotConfigured',
271
+ defaultMessage: 'Selected wechat account is not configured to create wechat templates',
272
+ },
273
+ "smsChannel": {
274
+ id: 'creatives.containers.Templates.smsChannel',
275
+ defaultMessage: 'Sms',
276
+ },
277
+ "MobilePush": {
278
+ id: 'creatives.containers.Templates.MobilePush',
279
+ defaultMessage: 'MobilePush',
280
+ },
281
+ "wechat": {
282
+ id: 'creatives.containers.Templates.wechat',
283
+ defaultMessage: 'wechat',
284
+ },
285
+ "all": {
286
+ id: 'creatives.containers.Templates.all',
287
+ defaultMessage: 'All',
288
+ },
289
+ "text": {
290
+ id: 'creatives.containers.Templates.text',
291
+ defaultMessage: 'Text',
292
+ },
293
+ "image": {
294
+ id: 'creatives.containers.Templates.image',
295
+ defaultMessage: 'Image',
296
+ },
297
+ "type": {
298
+ id: 'creatives.containers.Templates.type',
299
+ defaultMessage: 'Type',
300
+ },
301
+ "loadingEDMTemplates": {
302
+ id: 'creatives.containers.Templates.loadingEDMTemplates',
303
+ defaultMessage: 'Loading EDM Templates',
304
+ },
305
+ "descriptionTemplates": {
306
+ id: 'creatives.containers.Templates.descriptionTemplates',
307
+ defaultMessage: 'Description of templates',
308
+ },
309
+ "Sms": {
310
+ id: 'creatives.containers.Templates.Sms',
311
+ defaultMessage: 'Sms',
312
+ },
313
+ "mobilepush": {
314
+ id: 'creatives.containers.Templates.mobilepush',
315
+ defaultMessage: 'mobilepush',
316
+ },
317
+ "Gallery": {
318
+ id: 'creatives.containers.Templates.Gallery',
319
+ defaultMessage: 'Gallery',
320
+ },
321
+ "Email": {
322
+ id: 'creatives.containers.Templates.Email',
323
+ defaultMessage: 'Email',
324
+ },
325
+ "Ebill": {
326
+ id: 'creatives.containers.Templates.Ebill',
327
+ defaultMessage: 'Ebill',
328
+ },
329
+ "Line": {
330
+ id: 'creatives.containers.Templates.Line',
331
+ defaultMessage: 'Line',
332
+ },
333
+ "copyOf": {
334
+ id: 'creatives.containers.Templates.copyOf',
335
+ defaultMessage: 'Copy of',
336
+ }
337
+ });
@@ -0,0 +1,142 @@
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
+ getAllTemplatesInProgress: false,
12
+ templates: [],
13
+ deleteResponse: {},
14
+ deleteTemplateInProgress: false,
15
+ });
16
+
17
+ function templatesReducer(state = initialState, action) {
18
+ switch (action.type) {
19
+ case types.DEFAULT_ACTION:
20
+ return state;
21
+ case types.GET_ALL_TEMPLATES_REQUEST:
22
+ return state.set('getAllTemplatesInProgress', true);
23
+ case types.GET_ALL_TEMPLATES_SUCCESS:
24
+ if (action.isReset) {
25
+ return state.set('getAllTemplatesInProgress', false)
26
+ .set('templates', action.data ? action.data.templates : [])
27
+ .set('isSearch', action.data ? action.data.search : false)
28
+ .set('weCRMtemplates', action.weCRMTemplate ? action.weCRMTemplate : []);
29
+ }
30
+ return state.set('getAllTemplatesInProgress', false)
31
+ .set('templates', action.data ? state.get('templates').concat(action.data.templates) : [])
32
+ .set('isSearch', action.data ? action.data.search : false)
33
+ .set('weCRMtemplates', action.weCRMTemplate ? state.get('weCRMtemplates').concat(action.weCRMTemplate) : []);
34
+ case types.GET_ALL_TEMPLATES_FAILURE:
35
+ return state.set('getAllTemplatesInProgress', false);
36
+ case types.DELETE_TEMPLATE_REQUEST:
37
+ return state.set('deleteTemplateInProgress', true);
38
+ case types.DELETE_TEMPLATE_SUCCESS:
39
+ return state.set('deleteTemplateInProgress', false)
40
+ .set('deleteResponse', action.data);
41
+ case types.DELETE_TEMPLATE_FAILURE:
42
+ return state.set('deleteTemplateInProgress', false);
43
+ case types.GET_USER_LIST_REQUEST:
44
+ return state
45
+ .set('fetchingUserList', true)
46
+ .set('userList', fromJS({}))
47
+ .set('userListFetchError', false);
48
+ case types.GET_USER_LIST_SUCCESS:
49
+ return state
50
+ .set('fetchingUserList', false)
51
+ .set('userList', fromJS(action.data))
52
+ .set('userListFetchError', false);
53
+ case types.GET_USER_LIST_FAILURE:
54
+ return state
55
+ .set('fetchingUserList', false)
56
+ .set('userList', fromJS({}))
57
+ .set('userListFetchError', true);
58
+ case types.GET_WECRM_ACCOUNTS_REQUEST:
59
+ return state
60
+ .set('fetchingWeCrmAccounts', true)
61
+ .set('weCrmAccountFetchingError', false);
62
+ case types.GET_WECRM_ACCOUNTS_SUCCESS:
63
+ return state
64
+ .set('fetchingWeCrmAccounts', false)
65
+ .set('weCrmAccounts', fromJS(action.data));
66
+ case types.GET_WECRM_ACCOUNTS_FAILURE:
67
+ return state
68
+ .set('fetchingWeCrmAccounts', false)
69
+ .set('weCrmAccountFetchingError', true);
70
+ case types.SET_WECHAT_ACCOUNT:
71
+ return state
72
+ .set('selectedWeChatAccount', fromJS(action.weChatAccount));
73
+ case types.RESET_ACCOUNT:
74
+ return state
75
+ .remove('selectedWeChatAccount')
76
+ .remove('weCrmAccounts');
77
+ case types.RESET_TEMPLATE:
78
+ return state
79
+ .set('weCRMtemplates', fromJS([]))
80
+ .set('weChatDefaultTemplate', fromJS([]))
81
+ .set('templates', fromJS([]));
82
+ case types.SET_SELECTED_LAYOUT:
83
+ return state
84
+ .set('selectedEmailLayout', fromJS(action.selectedTemplate))
85
+ .set('edmTemplate', fromJS({}));
86
+ case types.RESET_UPLOAD_DATA:
87
+ return state
88
+ .set('selectedEmailLayout', "");
89
+ case types.SEND_ZIPPED_FILE_REQUEST:
90
+ return state
91
+ .set('sendingFile', true)
92
+ .set('errorSendingFile', false)
93
+ .set('selectedEmailLayout', "");
94
+ case types.SEND_ZIPPED_FILE_SUCCESS:
95
+ return state
96
+ .set('sendingFile', false)
97
+ .set('selectedEmailLayout', fromJS(action.selectedTemplate))
98
+ .set('edmTemplate', fromJS({}));
99
+ case types.SEND_ZIPPED_FILE_FAILURE:
100
+ return state
101
+ .set('sendingFile', false)
102
+ .set('errorSendingFile', true)
103
+ .set('errorMessage', action.data)
104
+ .set('selectedEmailLayout', "");
105
+ case types.GET_EDM_DEAFULT_TEMPLATES_REQUEST:
106
+ return state.set('getCmsTemplatesInProgress', true);
107
+ case types.GET_EDM_DEAFULT_TEMPLATES_SUCCESS:
108
+ return state.set('getCmsTemplatesInProgress', false)
109
+ .set('cmsTemplates', action.data ? fromJS(action.data.templates) : fromJS([]));
110
+ case types.GET_EDM_DEAFULT_TEMPLATES_FAILURE:
111
+ return state.set('getCmsTemplatesInProgress', false);
112
+ case types.SET_EDM_TEMPLATE:
113
+ return state
114
+ .set('edmTemplate', fromJS(action.template))
115
+ .set('selectedEmailLayout', "");
116
+ case types.RESET_TEMPLATE_DATA:
117
+ return state
118
+ .set('edmTemplate', fromJS({}))
119
+ .set('selectedEmailLayout', "")
120
+ .set('templateDetails', fromJS({}));
121
+ case types.GET_TEMPLATE_DETAILS_REQUEST:
122
+ return state
123
+ .set('getTemplateDetailsInProgress', true)
124
+ .set('templateDetails', fromJS({}));
125
+ case types.GET_TEMPLATE_DETAILS_SUCCESS:
126
+ return state
127
+ .set('getTemplateDetailsInProgress', false)
128
+ .set('templateDetails', fromJS(action.data));
129
+ case types.GET_TEMPLATE_DETAILS_FAILURE:
130
+ return state
131
+ .set('getTemplateDetailsInProgress', false)
132
+ .set('templateDetails', fromJS({}));
133
+ case types.CLEAR_TEMPLATE_STORE_DATA:
134
+ return state
135
+ .set('templates', fromJS({}))
136
+ .set('weCRMtemplates', fromJS({}));
137
+ default:
138
+ return state;
139
+ }
140
+ }
141
+
142
+ export default templatesReducer;
@@ -0,0 +1,163 @@
1
+ import {
2
+ call, put, takeLatest, all,
3
+ } from 'redux-saga/effects';
4
+ // import { schema, normalize } from 'normalizr';
5
+ import * as Api from '../../services/api';
6
+ import * as types from './constants';
7
+
8
+ // Individual exports for testing
9
+ export function* getAllTemplates(channel, queryParams) {
10
+ try {
11
+ const result = yield call(Api.getAllTemplates, channel, queryParams);
12
+ const channelTemplates = (channel.channel === 'wechat') ? {templates: [...result.response.mapped, ...result.response.richmedia]} : result.response;
13
+ // const sidebar = result.response.sidebar;
14
+ if (channel.channel === 'wechat' && channel.queryParams && channel.queryParams.sortBy && channel.queryParams.sortBy.toLocaleLowerCase() === ("Most Recent").toLocaleLowerCase()) {
15
+ channelTemplates.templates.sort((a, b) => {
16
+ const dateA = new Date(a.updatedAt);
17
+ const dateB = new Date(b.updatedAt);
18
+ return dateB - dateA;
19
+ });
20
+ } else if (channel.channel === 'wechat' && channel.queryParams && channel.queryParams.sortBy && channel.queryParams.sortBy.toLocaleLowerCase() === ("Alphabetically").toLocaleLowerCase()) {
21
+ channelTemplates.templates.sort((a, b) => b.name - a.name);
22
+ }
23
+ yield put({ type: types.GET_ALL_TEMPLATES_SUCCESS, data: channelTemplates, weCRMTemplate: result.response.unMapped, isReset: channel.queryParams.page === 1 });
24
+ } catch (error) {
25
+ yield put({ type: types.GET_ALL_TEMPLATES_FAILURE, error });
26
+ }
27
+ }
28
+
29
+ export function* deleteTemplate(channel, id) {
30
+ try {
31
+
32
+ const result = yield call(Api.deleteTemplate, channel, id);
33
+ // const sidebar = result.response.sidebar;
34
+ yield put({ type: types.DELETE_TEMPLATE_SUCCESS, data: result.response });
35
+ } catch (error) {
36
+ yield put({ type: types.DELETE_TEMPLATE_FAILURE, error });
37
+ }
38
+ }
39
+
40
+ export function* fetchUserList() {
41
+ try {
42
+ const result = yield call(Api.getUserList);
43
+ yield put({
44
+ type: types.GET_USER_LIST_SUCCESS,
45
+ data: result.data.result,
46
+ });
47
+ } catch (error) {
48
+ yield put({
49
+ type: types.GET_USER_LIST_FAILURE,
50
+ data: error,
51
+ });
52
+ }
53
+ }
54
+
55
+ export function* fetchWeCrmAccounts(action) {
56
+ try {
57
+ const result = yield call(Api.fetchWeCrmAccounts, action.source);
58
+ yield put({
59
+ type: types.GET_WECRM_ACCOUNTS_SUCCESS,
60
+ data: result.response,
61
+ });
62
+ } catch (error) {
63
+ yield put({
64
+ type: types.GET_WECRM_ACCOUNTS_FAILURE,
65
+ data: error,
66
+ });
67
+ }
68
+ }
69
+
70
+ export function* sendZippedFile({selectedFile}) {
71
+ let errorMessage = "";
72
+ try {
73
+ const result = yield call(Api.sendZippedFile, selectedFile);
74
+ if (result.status.isError) {
75
+ errorMessage = result.message;
76
+ }
77
+
78
+ console.log("Got decoded result", decodeURIComponent(result.response.metaEntity.htmlContent));
79
+ yield put({
80
+ type: types.SEND_ZIPPED_FILE_SUCCESS,
81
+ selectedTemplate: decodeURIComponent(result.response.metaEntity.htmlContent),
82
+ });
83
+ } catch (error) {
84
+ yield put({
85
+ type: types.SEND_ZIPPED_FILE_FAILURE,
86
+ data: errorMessage,
87
+ });
88
+ }
89
+ }
90
+
91
+ export function* getEdmTemplates() {
92
+ try {
93
+
94
+ const result = yield call(Api.getEdmTemplates);
95
+ const edmTemplates = result.response;
96
+ yield put({ type: types.GET_EDM_DEAFULT_TEMPLATES_SUCCESS, data: edmTemplates });
97
+ } catch (error) {
98
+ yield put({ type: types.GET_EDM_DEAFULT_TEMPLATES_FAILURE, error });
99
+ }
100
+ }
101
+
102
+ export function* getTemplateDetails(id, channel) {
103
+ try {
104
+
105
+ const result = yield call(Api.getTemplateDetails, id, channel);
106
+ // const sidebar = result.response.sidebar;
107
+ yield put({ type: types.GET_TEMPLATE_DETAILS_SUCCESS, data: result.response });
108
+ } catch (error) {
109
+ yield put({ type: types.GET_TEMPLATE_DETAILS_FAILURE, error });
110
+ }
111
+ }
112
+
113
+ function* watchGetAllTemplates() {
114
+ yield takeLatest(types.GET_ALL_TEMPLATES_REQUEST, getAllTemplates);
115
+ }
116
+
117
+ function* watchDeleteTemplate() {
118
+ yield takeLatest(types.DELETE_TEMPLATE_REQUEST, deleteTemplate);
119
+ }
120
+
121
+ function* watchGetUserList() {
122
+ yield takeLatest(types.GET_USER_LIST_REQUEST, fetchUserList);
123
+ }
124
+
125
+ function* watchFetchWeCrmAccounts() {
126
+
127
+ yield takeLatest(types.GET_WECRM_ACCOUNTS_REQUEST, fetchWeCrmAccounts);
128
+ }
129
+
130
+ function* watchSendingFile() {
131
+ yield takeLatest(types.SEND_ZIPPED_FILE_REQUEST, sendZippedFile);
132
+ }
133
+
134
+ function* watchGetEdmDefaultTemplates() {
135
+ yield takeLatest(types.GET_EDM_DEAFULT_TEMPLATES_REQUEST, getEdmTemplates);
136
+ }
137
+
138
+ function* watchGetTemplateDetails() {
139
+ yield takeLatest(types.GET_TEMPLATE_DETAILS_REQUEST, getTemplateDetails);
140
+ }
141
+
142
+ // All sagas to be loaded
143
+ export default [
144
+ watchGetAllTemplates,
145
+ watchDeleteTemplate,
146
+ watchGetUserList,
147
+ watchFetchWeCrmAccounts,
148
+ watchSendingFile,
149
+ watchGetEdmDefaultTemplates,
150
+ watchGetTemplateDetails,
151
+ ];
152
+
153
+ export function* templateSaga() {
154
+ yield all([
155
+ watchGetAllTemplates(),
156
+ watchDeleteTemplate(),
157
+ watchGetUserList(),
158
+ watchFetchWeCrmAccounts(),
159
+ watchSendingFile(),
160
+ watchGetEdmDefaultTemplates(),
161
+ watchGetTemplateDetails(),
162
+ ]);
163
+ }
@@ -0,0 +1,28 @@
1
+ import { createSelector } from 'reselect';
2
+
3
+ /**
4
+ * Direct selector to the templates state domain
5
+ */
6
+ const selectTemplatesDomain = () => (state) => state.get('templates');
7
+
8
+ /**
9
+ * Other specific selectors
10
+ */
11
+
12
+
13
+ /**
14
+ * Default selector used by Templates
15
+ */
16
+
17
+ const makeSelectTemplates = () => createSelector(
18
+ selectTemplatesDomain(),
19
+ (substate) => substate.toJS()
20
+ );
21
+
22
+ const makeSelectTemplatesResponse = () => createSelector(
23
+ selectTemplatesDomain(), (templatesState) => templatesState.get('templates')
24
+ );
25
+
26
+ export {
27
+ makeSelectTemplates, makeSelectTemplatesResponse,
28
+ };