@capillarytech/creatives-library 0.1.32 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1067) hide show
  1. package/index.js +8 -9
  2. package/package.json +7 -62
  3. package/app.js +0 -92
  4. package/assets/loading_img.gif +0 -0
  5. package/components/BreadCrumbs/index.js +0 -64
  6. package/components/BreadCrumbs/messages.js +0 -13
  7. package/components/BreadCrumbs/tests/index.test.js +0 -10
  8. package/components/CapTagList/index.js +0 -233
  9. package/components/CapTagList/messages.js +0 -25
  10. package/components/CapTagList/tests/index.test.js +0 -10
  11. package/components/Card/_customCard.scss +0 -35
  12. package/components/Card/index.js +0 -76
  13. package/components/Card/tests/index.test.js +0 -10
  14. package/components/CardGrid/index.js +0 -69
  15. package/components/CardGrid/tests/index.test.js +0 -10
  16. package/components/Ckeditor/index.js +0 -204
  17. package/components/Ckeditor/messages.js +0 -13
  18. package/components/Ckeditor/tests/index.test.js +0 -10
  19. package/components/Component/index.js +0 -27
  20. package/components/Component/tests/index.test.js +0 -10
  21. package/components/CustomPopOver/index.js +0 -80
  22. package/components/CustomPopOver/messages.js +0 -13
  23. package/components/CustomPopOver/tests/index.test.js +0 -10
  24. package/components/DateFilter/index.js +0 -347
  25. package/components/DateFilter/messages.js +0 -17
  26. package/components/DateFilter/tests/index.test.js +0 -15
  27. package/components/DateRange/index.js +0 -111
  28. package/components/DateRange/messages.js +0 -13
  29. package/components/DateRange/tests/index.test.js +0 -10
  30. package/components/Edmeditor/index.js +0 -63
  31. package/components/Edmeditor/messages.js +0 -13
  32. package/components/Edmeditor/tests/index.test.js +0 -10
  33. package/components/EmailPreview/_emailPreview.scss +0 -119
  34. package/components/EmailPreview/assets/images/iPad.svg +0 -10
  35. package/components/EmailPreview/assets/images/mobile.png +0 -0
  36. package/components/EmailPreview/index.js +0 -103
  37. package/components/EmailPreview/messages.js +0 -17
  38. package/components/EmailPreview/tests/index.test.js +0 -10
  39. package/components/Footer/index.js +0 -27
  40. package/components/Footer/messages.js +0 -13
  41. package/components/Footer/tests/index.test.js +0 -10
  42. package/components/FormBuilder/_formBuilder.scss +0 -85
  43. package/components/FormBuilder/index.js +0 -3296
  44. package/components/FormBuilder/messages.js +0 -13
  45. package/components/FormBuilder/tests/index.test.js +0 -10
  46. package/components/ImagePreview/_imagePreview.scss +0 -63
  47. package/components/ImagePreview/index.js +0 -50
  48. package/components/ImagePreview/messages.js +0 -13
  49. package/components/ImagePreview/tests/index.test.js +0 -10
  50. package/components/PageHeader/_pageHeader.scss +0 -22
  51. package/components/PageHeader/index.js +0 -36
  52. package/components/PageHeader/messages.js +0 -13
  53. package/components/PageHeader/tests/index.test.js +0 -10
  54. package/components/Pagination/_pagination.scss +0 -5
  55. package/components/Pagination/index.js +0 -47
  56. package/components/Pagination/tests/index.test.js +0 -10
  57. package/components/PreviewSideBar/_previewsidebar.scss +0 -28
  58. package/components/PreviewSideBar/index.js +0 -146
  59. package/components/PreviewSideBar/messages.js +0 -33
  60. package/components/PreviewSideBar/tests/index.test.js +0 -10
  61. package/components/Sidebar/_sidebar.scss +0 -115
  62. package/components/Sidebar/index.js +0 -234
  63. package/components/Sidebar/messages.js +0 -21
  64. package/components/Sidebar/tests/index.test.js +0 -10
  65. package/components/SlideBox/_slideBox.scss +0 -63
  66. package/components/SlideBox/index.js +0 -47
  67. package/components/SlideBox/tests/index.test.js +0 -103
  68. package/components/SmsEditor/index.js +0 -53
  69. package/components/SmsEditor/tests/index.test.js +0 -10
  70. package/components/SmsTest/index.js +0 -115
  71. package/components/SmsTest/messages.js +0 -13
  72. package/components/SmsTest/tests/index.test.js +0 -10
  73. package/components/TemplatePreview/_templatePreview.scss +0 -352
  74. package/components/TemplatePreview/assets/images/WECHAT_5x.png +0 -0
  75. package/components/TemplatePreview/assets/images/androidPushMessage.svg +0 -45
  76. package/components/TemplatePreview/assets/images/iPhonePushMessage.svg +0 -135
  77. package/components/TemplatePreview/assets/images/mobile.svg +0 -24
  78. package/components/TemplatePreview/assets/images/sms-body.png +0 -0
  79. package/components/TemplatePreview/assets/images/sms-icon.png +0 -0
  80. package/components/TemplatePreview/assets/images/sms_mobile.png +0 -0
  81. package/components/TemplatePreview/assets/images/user-icon.svg +0 -19
  82. package/components/TemplatePreview/assets/images/wechat-mobile.svg +0 -78
  83. package/components/TemplatePreview/index.js +0 -174
  84. package/components/TemplatePreview/messages.js +0 -29
  85. package/components/TemplatePreview/tests/index.test.js +0 -10
  86. package/components/Toastr/index.js +0 -59
  87. package/components/Toastr/messages.js +0 -13
  88. package/components/Toastr/tests/index.test.js +0 -10
  89. package/components/ToastrMessage/index.js +0 -108
  90. package/components/ToastrMessage/messages.js +0 -13
  91. package/components/ToastrMessage/tests/index.test.js +0 -10
  92. package/components/TopBar/_topbar.scss +0 -46
  93. package/components/TopBar/assets/images/capillary_logo.png +0 -0
  94. package/components/TopBar/index.js +0 -112
  95. package/components/TopBar/messages.js +0 -29
  96. package/components/TopBar/tests/index.test.js +0 -10
  97. package/config/app.js +0 -24
  98. package/config/path.js +0 -3
  99. package/config/request.js +0 -135
  100. package/config/toastr.js +0 -44
  101. package/containers/App/actions.js +0 -7
  102. package/containers/App/constants.js +0 -3
  103. package/containers/App/reducer.js +0 -19
  104. package/containers/App/sagas.js +0 -26
  105. package/containers/App/selectors.js +0 -25
  106. package/containers/App/tests/actions.test.js +0 -18
  107. package/containers/App/tests/reducer.test.js +0 -9
  108. package/containers/App/tests/sagas.test.js +0 -15
  109. package/containers/App/tests/selectors.test.js +0 -10
  110. package/containers/Assets/Gallery/_gallery.scss +0 -126
  111. package/containers/Assets/Gallery/actions.js +0 -37
  112. package/containers/Assets/Gallery/constants.js +0 -23
  113. package/containers/Assets/Gallery/index.js +0 -463
  114. package/containers/Assets/Gallery/messages.js +0 -89
  115. package/containers/Assets/Gallery/reducer.js +0 -81
  116. package/containers/Assets/Gallery/sagas.js +0 -84
  117. package/containers/Assets/Gallery/selectors.js +0 -25
  118. package/containers/Assets/Gallery/tests/__snapshots__/reducer.test.js.snap +0 -7
  119. package/containers/Assets/Gallery/tests/actions.test.js +0 -26
  120. package/containers/Assets/Gallery/tests/index.test.js +0 -10
  121. package/containers/Assets/Gallery/tests/reducer.test.js +0 -95
  122. package/containers/Assets/Gallery/tests/sagas.test.js +0 -15
  123. package/containers/Assets/Gallery/tests/selectors.test.js +0 -10
  124. package/containers/Cap/actions.js +0 -52
  125. package/containers/Cap/constants.js +0 -22
  126. package/containers/Cap/index.js +0 -369
  127. package/containers/Cap/messsages.js +0 -63
  128. package/containers/Cap/reducer.js +0 -108
  129. package/containers/Cap/sagas.js +0 -143
  130. package/containers/Cap/selectors.js +0 -54
  131. package/containers/Cap/tests/index.test.js +0 -16
  132. package/containers/Cap/tests/selectors.test.js +0 -28
  133. package/containers/Dashboard/actions.js +0 -15
  134. package/containers/Dashboard/constants.js +0 -7
  135. package/containers/Dashboard/index.js +0 -53
  136. package/containers/Dashboard/messages.js +0 -13
  137. package/containers/Dashboard/reducer.js +0 -21
  138. package/containers/Dashboard/sagas.js +0 -11
  139. package/containers/Dashboard/selectors.js +0 -25
  140. package/containers/Dashboard/tests/actions.test.js +0 -18
  141. package/containers/Dashboard/tests/index.test.js +0 -10
  142. package/containers/Dashboard/tests/reducer.test.js +0 -9
  143. package/containers/Dashboard/tests/sagas.test.js +0 -15
  144. package/containers/Dashboard/tests/selectors.test.js +0 -10
  145. package/containers/Ebill/_ebill.scss +0 -5
  146. package/containers/Ebill/actions.js +0 -43
  147. package/containers/Ebill/constants.js +0 -20
  148. package/containers/Ebill/index.js +0 -1273
  149. package/containers/Ebill/messages.js +0 -73
  150. package/containers/Ebill/reducer.js +0 -72
  151. package/containers/Ebill/sagas.js +0 -65
  152. package/containers/Ebill/selectors.js +0 -25
  153. package/containers/Ebill/tests/actions.test.js +0 -18
  154. package/containers/Ebill/tests/index.test.js +0 -10
  155. package/containers/Ebill/tests/reducer.test.js +0 -9
  156. package/containers/Ebill/tests/sagas.test.js +0 -15
  157. package/containers/Ebill/tests/selectors.test.js +0 -10
  158. package/containers/Email/_email.scss +0 -141
  159. package/containers/Email/actions.js +0 -81
  160. package/containers/Email/constants.js +0 -36
  161. package/containers/Email/index.js +0 -3282
  162. package/containers/Email/messages.js +0 -233
  163. package/containers/Email/reducer.js +0 -142
  164. package/containers/Email/sagas.js +0 -136
  165. package/containers/Email/selectors.js +0 -31
  166. package/containers/Email/tests/actions.test.js +0 -18
  167. package/containers/Email/tests/index.test.js +0 -10
  168. package/containers/Email/tests/reducer.test.js +0 -9
  169. package/containers/Email/tests/sagas.test.js +0 -15
  170. package/containers/Email/tests/selectors.test.js +0 -10
  171. package/containers/LanguageProvider/actions.js +0 -17
  172. package/containers/LanguageProvider/constants.js +0 -8
  173. package/containers/LanguageProvider/index.js +0 -44
  174. package/containers/LanguageProvider/reducer.js +0 -30
  175. package/containers/LanguageProvider/selectors.js +0 -20
  176. package/containers/LanguageProvider/tests/actions.test.js +0 -19
  177. package/containers/LanguageProvider/tests/index.test.js +0 -49
  178. package/containers/LanguageProvider/tests/reducer.test.js +0 -20
  179. package/containers/LanguageProvider/tests/selectors.test.js +0 -15
  180. package/containers/Line/Create/_lineCreate.scss +0 -43
  181. package/containers/Line/Create/actions.js +0 -90
  182. package/containers/Line/Create/constants.js +0 -39
  183. package/containers/Line/Create/index.js +0 -815
  184. package/containers/Line/Create/messages.js +0 -173
  185. package/containers/Line/Create/reducer.js +0 -99
  186. package/containers/Line/Create/sagas.js +0 -107
  187. package/containers/Line/Create/selectors.js +0 -36
  188. package/containers/Line/Edit/_lineEdit.scss +0 -25
  189. package/containers/Line/Edit/actions.js +0 -72
  190. package/containers/Line/Edit/constants.js +0 -27
  191. package/containers/Line/Edit/index.js +0 -1043
  192. package/containers/Line/Edit/messages.js +0 -157
  193. package/containers/Line/Edit/reducer.js +0 -83
  194. package/containers/Line/Edit/sagas.js +0 -81
  195. package/containers/Line/Edit/selectors.js +0 -29
  196. package/containers/Line/Edit/tests/actions.test.js +0 -18
  197. package/containers/Line/Edit/tests/index.test.js +0 -10
  198. package/containers/Line/Edit/tests/reducer.test.js +0 -9
  199. package/containers/Line/Edit/tests/sagas.test.js +0 -15
  200. package/containers/Line/Edit/tests/selectors.test.js +0 -10
  201. package/containers/Login/assets/images/capillary_logo.png +0 -0
  202. package/containers/Login/components/LoginForm/index.js +0 -58
  203. package/containers/Login/components/LoginForm/messages.js +0 -21
  204. package/containers/Login/components/LoginForm/tests/index.test.js +0 -10
  205. package/containers/Login/index.js +0 -105
  206. package/containers/Login/messages.js +0 -21
  207. package/containers/Login/selectors.js +0 -25
  208. package/containers/Login/tests/index.test.js +0 -10
  209. package/containers/Login/tests/sagas.test.js +0 -15
  210. package/containers/Login/tests/selectors.test.js +0 -10
  211. package/containers/MobilePush/Create/_mobilePushCreate.scss +0 -25
  212. package/containers/MobilePush/Create/actions.js +0 -46
  213. package/containers/MobilePush/Create/constants.js +0 -23
  214. package/containers/MobilePush/Create/index.js +0 -2248
  215. package/containers/MobilePush/Create/messages.js +0 -233
  216. package/containers/MobilePush/Create/reducer.js +0 -70
  217. package/containers/MobilePush/Create/sagas.js +0 -60
  218. package/containers/MobilePush/Create/selectors.js +0 -28
  219. package/containers/MobilePush/Create/tests/actions.test.js +0 -18
  220. package/containers/MobilePush/Create/tests/index.test.js +0 -10
  221. package/containers/MobilePush/Create/tests/reducer.test.js +0 -9
  222. package/containers/MobilePush/Create/tests/sagas.test.js +0 -15
  223. package/containers/MobilePush/Create/tests/selectors.test.js +0 -10
  224. package/containers/MobilePush/Edit/_mobilePushCreate.scss +0 -25
  225. package/containers/MobilePush/Edit/actions.js +0 -84
  226. package/containers/MobilePush/Edit/constants.js +0 -35
  227. package/containers/MobilePush/Edit/index.js +0 -2536
  228. package/containers/MobilePush/Edit/messages.js +0 -249
  229. package/containers/MobilePush/Edit/reducer.js +0 -112
  230. package/containers/MobilePush/Edit/sagas.js +0 -118
  231. package/containers/MobilePush/Edit/selectors.js +0 -29
  232. package/containers/MobilePush/Edit/tests/actions.test.js +0 -18
  233. package/containers/MobilePush/Edit/tests/index.test.js +0 -10
  234. package/containers/MobilePush/Edit/tests/reducer.test.js +0 -9
  235. package/containers/MobilePush/Edit/tests/sagas.test.js +0 -15
  236. package/containers/MobilePush/Edit/tests/selectors.test.js +0 -10
  237. package/containers/NotFoundPage/index.js +0 -25
  238. package/containers/NotFoundPage/messages.js +0 -13
  239. package/containers/NotFoundPage/tests/index.test.js +0 -17
  240. package/containers/Sms/Create/_smsCreate.scss +0 -45
  241. package/containers/Sms/Create/actions.js +0 -27
  242. package/containers/Sms/Create/constants.js +0 -16
  243. package/containers/Sms/Create/index.js +0 -1486
  244. package/containers/Sms/Create/messages.js +0 -85
  245. package/containers/Sms/Create/reducer.js +0 -41
  246. package/containers/Sms/Create/sagas.js +0 -36
  247. package/containers/Sms/Create/selectors.js +0 -28
  248. package/containers/Sms/Create/tests/actions.test.js +0 -18
  249. package/containers/Sms/Create/tests/index.test.js +0 -10
  250. package/containers/Sms/Create/tests/reducer.test.js +0 -9
  251. package/containers/Sms/Create/tests/sagas.test.js +0 -15
  252. package/containers/Sms/Create/tests/selectors.test.js +0 -10
  253. package/containers/Sms/Edit/actions.js +0 -40
  254. package/containers/Sms/Edit/constants.js +0 -17
  255. package/containers/Sms/Edit/index.js +0 -1470
  256. package/containers/Sms/Edit/messages.js +0 -89
  257. package/containers/Sms/Edit/reducer.js +0 -50
  258. package/containers/Sms/Edit/sagas.js +0 -52
  259. package/containers/Sms/Edit/selectors.js +0 -32
  260. package/containers/Sms/Edit/tests/actions.test.js +0 -18
  261. package/containers/Sms/Edit/tests/index.test.js +0 -10
  262. package/containers/Sms/Edit/tests/reducer.test.js +0 -9
  263. package/containers/Sms/Edit/tests/sagas.test.js +0 -15
  264. package/containers/Sms/Edit/tests/selectors.test.js +0 -10
  265. package/containers/TagList/_tagList.scss +0 -8
  266. package/containers/TagList/actions.js +0 -15
  267. package/containers/TagList/constants.js +0 -7
  268. package/containers/TagList/index.js +0 -234
  269. package/containers/TagList/messages.js +0 -13
  270. package/containers/TagList/reducer.js +0 -23
  271. package/containers/TagList/sagas.js +0 -11
  272. package/containers/TagList/selectors.js +0 -25
  273. package/containers/TagList/tests/actions.test.js +0 -18
  274. package/containers/TagList/tests/index.test.js +0 -10
  275. package/containers/TagList/tests/reducer.test.js +0 -9
  276. package/containers/TagList/tests/sagas.test.js +0 -15
  277. package/containers/TagList/tests/selectors.test.js +0 -10
  278. package/containers/Templates/_templates.scss +0 -333
  279. package/containers/Templates/actions.js +0 -108
  280. package/containers/Templates/constants.js +0 -45
  281. package/containers/Templates/index.js +0 -1582
  282. package/containers/Templates/messages.js +0 -233
  283. package/containers/Templates/reducer.js +0 -141
  284. package/containers/Templates/sagas.js +0 -168
  285. package/containers/Templates/selectors.js +0 -28
  286. package/containers/Templates/tests/actions.test.js +0 -18
  287. package/containers/Templates/tests/index.test.js +0 -10
  288. package/containers/Templates/tests/reducer.test.js +0 -9
  289. package/containers/Templates/tests/sagas.test.js +0 -15
  290. package/containers/Templates/tests/selectors.test.js +0 -10
  291. package/containers/TestPage/constants.js +0 -7
  292. package/containers/TestPage/index.js +0 -31
  293. package/containers/TestPage/messages.js +0 -13
  294. package/containers/TestPage/reducer.js +0 -21
  295. package/containers/TestPage/sagas.js +0 -11
  296. package/containers/Testv2/actions.js +0 -15
  297. package/containers/Testv2/constants.js +0 -7
  298. package/containers/Testv2/index.js +0 -45
  299. package/containers/Testv2/messages.js +0 -13
  300. package/containers/Testv2/reducer.js +0 -23
  301. package/containers/Testv2/sagas.js +0 -11
  302. package/containers/Testv2/selectors.js +0 -25
  303. package/containers/Testv2/tests/actions.test.js +0 -18
  304. package/containers/Testv2/tests/index.test.js +0 -10
  305. package/containers/Testv2/tests/reducer.test.js +0 -9
  306. package/containers/Testv2/tests/sagas.test.js +0 -15
  307. package/containers/Testv2/tests/selectors.test.js +0 -10
  308. package/containers/WeChat/_wechat.scss +0 -8
  309. package/containers/WeChat/actions.js +0 -46
  310. package/containers/WeChat/constants.js +0 -28
  311. package/containers/WeChat/index.js +0 -1618
  312. package/containers/WeChat/messages.js +0 -73
  313. package/containers/WeChat/reducer.js +0 -74
  314. package/containers/WeChat/sagas.js +0 -86
  315. package/containers/WeChat/selectors.js +0 -25
  316. package/containers/WeChat/tests/actions.test.js +0 -18
  317. package/containers/WeChat/tests/index.test.js +0 -10
  318. package/containers/WeChat/tests/reducer.test.js +0 -9
  319. package/containers/WeChat/tests/sagas.test.js +0 -15
  320. package/containers/WeChat/tests/selectors.test.js +0 -10
  321. package/favicon.ico +0 -0
  322. package/global-styles.js +0 -15
  323. package/gtm/eventDefinitions.js +0 -17
  324. package/gtm/eventDefinitionsMap.js +0 -12
  325. package/gtm/tests/events.test.js +0 -3
  326. package/i18n.js +0 -39
  327. package/index.html +0 -42
  328. package/initialState.js +0 -38
  329. package/reducers.js +0 -65
  330. package/routes.js +0 -562
  331. package/schemas/user.js +0 -8
  332. package/services/api.js +0 -306
  333. package/services/localStorageApi.js +0 -33
  334. package/store.js +0 -61
  335. package/styles/_variables.scss +0 -53
  336. package/styles/abstracts/_functions.scss +0 -1
  337. package/styles/abstracts/_mixins.scss +0 -0
  338. package/styles/abstracts/_module.scss +0 -6
  339. package/styles/abstracts/_placeholders.scss +0 -0
  340. package/styles/abstracts/_variables.scss +0 -34
  341. package/styles/base/_animations.scss +0 -0
  342. package/styles/base/_base.scss +0 -64
  343. package/styles/base/_module.scss +0 -5
  344. package/styles/base/_reset.scss +0 -0
  345. package/styles/base/_typography.scss +0 -0
  346. package/styles/components/_module.scss +0 -11
  347. package/styles/components/autocompletebox/_module.scss +0 -60
  348. package/styles/components/breadcrumbs/_breadcrumbs.scss +0 -14
  349. package/styles/components/common/_accordianDropdown.scss +0 -35
  350. package/styles/components/common/_message.scss +0 -3
  351. package/styles/components/dimension/_dimension.scss +0 -77
  352. package/styles/components/filters/_dateFilter.scss +0 -68
  353. package/styles/components/filters/_dimensionFilter.scss +0 -66
  354. package/styles/components/footer/_footer.scss +0 -13
  355. package/styles/components/login/_loginForm.scss +0 -0
  356. package/styles/components/navigation/_leftnav.scss +0 -213
  357. package/styles/components/navigation/_topnav.scss +0 -52
  358. package/styles/containers/_module.scss +0 -3
  359. package/styles/containers/layout/_layoutPage.scss +0 -169
  360. package/styles/containers/login/_loginPage.scss +0 -60
  361. package/styles/containers/reports/_reportPage.scss +0 -128
  362. package/styles/layout/_footer.scss +0 -0
  363. package/styles/layout/_forms.scss +0 -3
  364. package/styles/layout/_grid.scss +0 -3
  365. package/styles/layout/_header.scss +0 -25
  366. package/styles/layout/_module.scss +0 -1
  367. package/styles/layout/_navigation.scss +0 -0
  368. package/styles/layout/_sidebar.scss +0 -0
  369. package/styles/main.scss +0 -6
  370. package/styles/vendor/_module.scss +0 -0
  371. package/styles/vendor/semantic/dist/components/accordion.css +0 -311
  372. package/styles/vendor/semantic/dist/components/accordion.js +0 -610
  373. package/styles/vendor/semantic/dist/components/accordion.min.css +0 -9
  374. package/styles/vendor/semantic/dist/components/accordion.min.js +0 -10
  375. package/styles/vendor/semantic/dist/components/accordion.rtl.css +0 -252
  376. package/styles/vendor/semantic/dist/components/accordion.rtl.min.css +0 -9
  377. package/styles/vendor/semantic/dist/components/ad.css +0 -275
  378. package/styles/vendor/semantic/dist/components/ad.min.css +0 -10
  379. package/styles/vendor/semantic/dist/components/ad.rtl.css +0 -275
  380. package/styles/vendor/semantic/dist/components/ad.rtl.min.css +0 -10
  381. package/styles/vendor/semantic/dist/components/api.js +0 -1167
  382. package/styles/vendor/semantic/dist/components/api.min.js +0 -10
  383. package/styles/vendor/semantic/dist/components/breadcrumb.css +0 -124
  384. package/styles/vendor/semantic/dist/components/breadcrumb.min.css +0 -9
  385. package/styles/vendor/semantic/dist/components/breadcrumb.rtl.css +0 -124
  386. package/styles/vendor/semantic/dist/components/breadcrumb.rtl.min.css +0 -9
  387. package/styles/vendor/semantic/dist/components/button.css +0 -3557
  388. package/styles/vendor/semantic/dist/components/button.min.css +0 -9
  389. package/styles/vendor/semantic/dist/components/button.rtl.css +0 -3450
  390. package/styles/vendor/semantic/dist/components/button.rtl.min.css +0 -9
  391. package/styles/vendor/semantic/dist/components/card.css +0 -964
  392. package/styles/vendor/semantic/dist/components/card.min.css +0 -9
  393. package/styles/vendor/semantic/dist/components/card.rtl.css +0 -964
  394. package/styles/vendor/semantic/dist/components/card.rtl.min.css +0 -9
  395. package/styles/vendor/semantic/dist/components/checkbox.css +0 -625
  396. package/styles/vendor/semantic/dist/components/checkbox.js +0 -831
  397. package/styles/vendor/semantic/dist/components/checkbox.min.css +0 -9
  398. package/styles/vendor/semantic/dist/components/checkbox.min.js +0 -10
  399. package/styles/vendor/semantic/dist/components/checkbox.rtl.css +0 -625
  400. package/styles/vendor/semantic/dist/components/checkbox.rtl.min.css +0 -9
  401. package/styles/vendor/semantic/dist/components/comment.css +0 -270
  402. package/styles/vendor/semantic/dist/components/comment.min.css +0 -9
  403. package/styles/vendor/semantic/dist/components/comment.rtl.css +0 -270
  404. package/styles/vendor/semantic/dist/components/comment.rtl.min.css +0 -9
  405. package/styles/vendor/semantic/dist/components/container.css +0 -147
  406. package/styles/vendor/semantic/dist/components/container.min.css +0 -9
  407. package/styles/vendor/semantic/dist/components/container.rtl.css +0 -147
  408. package/styles/vendor/semantic/dist/components/container.rtl.min.css +0 -9
  409. package/styles/vendor/semantic/dist/components/dimmer.css +0 -200
  410. package/styles/vendor/semantic/dist/components/dimmer.js +0 -708
  411. package/styles/vendor/semantic/dist/components/dimmer.min.css +0 -9
  412. package/styles/vendor/semantic/dist/components/dimmer.min.js +0 -10
  413. package/styles/vendor/semantic/dist/components/dimmer.rtl.css +0 -200
  414. package/styles/vendor/semantic/dist/components/dimmer.rtl.min.css +0 -9
  415. package/styles/vendor/semantic/dist/components/divider.css +0 -260
  416. package/styles/vendor/semantic/dist/components/divider.min.css +0 -9
  417. package/styles/vendor/semantic/dist/components/divider.rtl.css +0 -260
  418. package/styles/vendor/semantic/dist/components/divider.rtl.min.css +0 -9
  419. package/styles/vendor/semantic/dist/components/dropdown.css +0 -1487
  420. package/styles/vendor/semantic/dist/components/dropdown.js +0 -3741
  421. package/styles/vendor/semantic/dist/components/dropdown.min.css +0 -9
  422. package/styles/vendor/semantic/dist/components/dropdown.min.js +0 -11
  423. package/styles/vendor/semantic/dist/components/dropdown.rtl.css +0 -1417
  424. package/styles/vendor/semantic/dist/components/dropdown.rtl.min.css +0 -9
  425. package/styles/vendor/semantic/dist/components/embed.css +0 -166
  426. package/styles/vendor/semantic/dist/components/embed.js +0 -696
  427. package/styles/vendor/semantic/dist/components/embed.min.css +0 -9
  428. package/styles/vendor/semantic/dist/components/embed.min.js +0 -10
  429. package/styles/vendor/semantic/dist/components/embed.rtl.css +0 -166
  430. package/styles/vendor/semantic/dist/components/embed.rtl.min.css +0 -9
  431. package/styles/vendor/semantic/dist/components/feed.css +0 -296
  432. package/styles/vendor/semantic/dist/components/feed.min.css +0 -9
  433. package/styles/vendor/semantic/dist/components/feed.rtl.css +0 -296
  434. package/styles/vendor/semantic/dist/components/feed.rtl.min.css +0 -9
  435. package/styles/vendor/semantic/dist/components/flag.css +0 -1031
  436. package/styles/vendor/semantic/dist/components/flag.min.css +0 -9
  437. package/styles/vendor/semantic/dist/components/flag.rtl.css +0 -1031
  438. package/styles/vendor/semantic/dist/components/flag.rtl.min.css +0 -9
  439. package/styles/vendor/semantic/dist/components/form.css +0 -1067
  440. package/styles/vendor/semantic/dist/components/form.js +0 -1558
  441. package/styles/vendor/semantic/dist/components/form.min.css +0 -9
  442. package/styles/vendor/semantic/dist/components/form.min.js +0 -10
  443. package/styles/vendor/semantic/dist/components/form.rtl.css +0 -1067
  444. package/styles/vendor/semantic/dist/components/form.rtl.min.css +0 -9
  445. package/styles/vendor/semantic/dist/components/grid.css +0 -2002
  446. package/styles/vendor/semantic/dist/components/grid.min.css +0 -9
  447. package/styles/vendor/semantic/dist/components/grid.rtl.css +0 -2002
  448. package/styles/vendor/semantic/dist/components/grid.rtl.min.css +0 -9
  449. package/styles/vendor/semantic/dist/components/header.css +0 -721
  450. package/styles/vendor/semantic/dist/components/header.min.css +0 -9
  451. package/styles/vendor/semantic/dist/components/header.rtl.css +0 -721
  452. package/styles/vendor/semantic/dist/components/header.rtl.min.css +0 -9
  453. package/styles/vendor/semantic/dist/components/icon.css +0 -3142
  454. package/styles/vendor/semantic/dist/components/icon.min.css +0 -9
  455. package/styles/vendor/semantic/dist/components/icon.rtl.css +0 -3142
  456. package/styles/vendor/semantic/dist/components/icon.rtl.min.css +0 -9
  457. package/styles/vendor/semantic/dist/components/image.css +0 -306
  458. package/styles/vendor/semantic/dist/components/image.min.css +0 -9
  459. package/styles/vendor/semantic/dist/components/image.rtl.css +0 -306
  460. package/styles/vendor/semantic/dist/components/image.rtl.min.css +0 -9
  461. package/styles/vendor/semantic/dist/components/input.css +0 -536
  462. package/styles/vendor/semantic/dist/components/input.min.css +0 -9
  463. package/styles/vendor/semantic/dist/components/input.rtl.css +0 -510
  464. package/styles/vendor/semantic/dist/components/input.rtl.min.css +0 -9
  465. package/styles/vendor/semantic/dist/components/item.css +0 -475
  466. package/styles/vendor/semantic/dist/components/item.min.css +0 -9
  467. package/styles/vendor/semantic/dist/components/item.rtl.css +0 -475
  468. package/styles/vendor/semantic/dist/components/item.rtl.min.css +0 -9
  469. package/styles/vendor/semantic/dist/components/label.css +0 -1320
  470. package/styles/vendor/semantic/dist/components/label.min.css +0 -9
  471. package/styles/vendor/semantic/dist/components/label.rtl.css +0 -1307
  472. package/styles/vendor/semantic/dist/components/label.rtl.min.css +0 -9
  473. package/styles/vendor/semantic/dist/components/list.css +0 -951
  474. package/styles/vendor/semantic/dist/components/list.min.css +0 -9
  475. package/styles/vendor/semantic/dist/components/list.rtl.css +0 -951
  476. package/styles/vendor/semantic/dist/components/list.rtl.min.css +0 -9
  477. package/styles/vendor/semantic/dist/components/loader.css +0 -347
  478. package/styles/vendor/semantic/dist/components/loader.min.css +0 -9
  479. package/styles/vendor/semantic/dist/components/loader.rtl.css +0 -347
  480. package/styles/vendor/semantic/dist/components/loader.rtl.min.css +0 -9
  481. package/styles/vendor/semantic/dist/components/menu.css +0 -2020
  482. package/styles/vendor/semantic/dist/components/menu.min.css +0 -1
  483. package/styles/vendor/semantic/dist/components/menu.rtl.css +0 -2002
  484. package/styles/vendor/semantic/dist/components/menu.rtl.min.css +0 -1
  485. package/styles/vendor/semantic/dist/components/message.css +0 -477
  486. package/styles/vendor/semantic/dist/components/message.min.css +0 -9
  487. package/styles/vendor/semantic/dist/components/message.rtl.css +0 -477
  488. package/styles/vendor/semantic/dist/components/message.rtl.min.css +0 -9
  489. package/styles/vendor/semantic/dist/components/modal.css +0 -512
  490. package/styles/vendor/semantic/dist/components/modal.js +0 -913
  491. package/styles/vendor/semantic/dist/components/modal.min.css +0 -9
  492. package/styles/vendor/semantic/dist/components/modal.min.js +0 -10
  493. package/styles/vendor/semantic/dist/components/modal.rtl.css +0 -499
  494. package/styles/vendor/semantic/dist/components/modal.rtl.min.css +0 -9
  495. package/styles/vendor/semantic/dist/components/nag.css +0 -147
  496. package/styles/vendor/semantic/dist/components/nag.js +0 -507
  497. package/styles/vendor/semantic/dist/components/nag.min.css +0 -9
  498. package/styles/vendor/semantic/dist/components/nag.min.js +0 -10
  499. package/styles/vendor/semantic/dist/components/nag.rtl.css +0 -147
  500. package/styles/vendor/semantic/dist/components/nag.rtl.min.css +0 -9
  501. package/styles/vendor/semantic/dist/components/popup.css +0 -733
  502. package/styles/vendor/semantic/dist/components/popup.js +0 -1475
  503. package/styles/vendor/semantic/dist/components/popup.min.css +0 -9
  504. package/styles/vendor/semantic/dist/components/popup.min.js +0 -10
  505. package/styles/vendor/semantic/dist/components/popup.rtl.css +0 -727
  506. package/styles/vendor/semantic/dist/components/popup.rtl.min.css +0 -9
  507. package/styles/vendor/semantic/dist/components/progress.css +0 -516
  508. package/styles/vendor/semantic/dist/components/progress.js +0 -931
  509. package/styles/vendor/semantic/dist/components/progress.min.css +0 -9
  510. package/styles/vendor/semantic/dist/components/progress.min.js +0 -10
  511. package/styles/vendor/semantic/dist/components/progress.rtl.css +0 -516
  512. package/styles/vendor/semantic/dist/components/progress.rtl.min.css +0 -9
  513. package/styles/vendor/semantic/dist/components/rail.css +0 -152
  514. package/styles/vendor/semantic/dist/components/rail.min.css +0 -9
  515. package/styles/vendor/semantic/dist/components/rail.rtl.css +0 -152
  516. package/styles/vendor/semantic/dist/components/rail.rtl.min.css +0 -9
  517. package/styles/vendor/semantic/dist/components/rating.css +0 -263
  518. package/styles/vendor/semantic/dist/components/rating.js +0 -508
  519. package/styles/vendor/semantic/dist/components/rating.min.css +0 -9
  520. package/styles/vendor/semantic/dist/components/rating.min.js +0 -10
  521. package/styles/vendor/semantic/dist/components/rating.rtl.css +0 -263
  522. package/styles/vendor/semantic/dist/components/rating.rtl.min.css +0 -9
  523. package/styles/vendor/semantic/dist/components/reset.css +0 -424
  524. package/styles/vendor/semantic/dist/components/reset.min.css +0 -9
  525. package/styles/vendor/semantic/dist/components/reset.rtl.css +0 -424
  526. package/styles/vendor/semantic/dist/components/reset.rtl.min.css +0 -9
  527. package/styles/vendor/semantic/dist/components/reveal.css +0 -284
  528. package/styles/vendor/semantic/dist/components/reveal.min.css +0 -9
  529. package/styles/vendor/semantic/dist/components/reveal.rtl.css +0 -284
  530. package/styles/vendor/semantic/dist/components/reveal.rtl.min.css +0 -9
  531. package/styles/vendor/semantic/dist/components/search.css +0 -408
  532. package/styles/vendor/semantic/dist/components/search.js +0 -1407
  533. package/styles/vendor/semantic/dist/components/search.min.css +0 -9
  534. package/styles/vendor/semantic/dist/components/search.min.js +0 -10
  535. package/styles/vendor/semantic/dist/components/search.rtl.css +0 -408
  536. package/styles/vendor/semantic/dist/components/search.rtl.min.css +0 -9
  537. package/styles/vendor/semantic/dist/components/segment.css +0 -791
  538. package/styles/vendor/semantic/dist/components/segment.min.css +0 -9
  539. package/styles/vendor/semantic/dist/components/segment.rtl.css +0 -791
  540. package/styles/vendor/semantic/dist/components/segment.rtl.min.css +0 -9
  541. package/styles/vendor/semantic/dist/components/shape.css +0 -157
  542. package/styles/vendor/semantic/dist/components/shape.js +0 -921
  543. package/styles/vendor/semantic/dist/components/shape.min.css +0 -9
  544. package/styles/vendor/semantic/dist/components/shape.min.js +0 -10
  545. package/styles/vendor/semantic/dist/components/shape.rtl.css +0 -157
  546. package/styles/vendor/semantic/dist/components/shape.rtl.min.css +0 -9
  547. package/styles/vendor/semantic/dist/components/sidebar.css +0 -638
  548. package/styles/vendor/semantic/dist/components/sidebar.js +0 -1036
  549. package/styles/vendor/semantic/dist/components/sidebar.min.css +0 -9
  550. package/styles/vendor/semantic/dist/components/sidebar.min.js +0 -10
  551. package/styles/vendor/semantic/dist/components/sidebar.rtl.css +0 -638
  552. package/styles/vendor/semantic/dist/components/sidebar.rtl.min.css +0 -9
  553. package/styles/vendor/semantic/dist/components/site.css +0 -154
  554. package/styles/vendor/semantic/dist/components/site.js +0 -487
  555. package/styles/vendor/semantic/dist/components/site.min.css +0 -9
  556. package/styles/vendor/semantic/dist/components/site.min.js +0 -10
  557. package/styles/vendor/semantic/dist/components/site.rtl.css +0 -154
  558. package/styles/vendor/semantic/dist/components/site.rtl.min.css +0 -9
  559. package/styles/vendor/semantic/dist/components/state.js +0 -708
  560. package/styles/vendor/semantic/dist/components/state.min.js +0 -10
  561. package/styles/vendor/semantic/dist/components/statistic.css +0 -569
  562. package/styles/vendor/semantic/dist/components/statistic.min.css +0 -9
  563. package/styles/vendor/semantic/dist/components/statistic.rtl.css +0 -569
  564. package/styles/vendor/semantic/dist/components/statistic.rtl.min.css +0 -9
  565. package/styles/vendor/semantic/dist/components/step.css +0 -623
  566. package/styles/vendor/semantic/dist/components/step.min.css +0 -9
  567. package/styles/vendor/semantic/dist/components/step.rtl.css +0 -623
  568. package/styles/vendor/semantic/dist/components/step.rtl.min.css +0 -9
  569. package/styles/vendor/semantic/dist/components/sticky.css +0 -78
  570. package/styles/vendor/semantic/dist/components/sticky.js +0 -942
  571. package/styles/vendor/semantic/dist/components/sticky.min.css +0 -9
  572. package/styles/vendor/semantic/dist/components/sticky.min.js +0 -10
  573. package/styles/vendor/semantic/dist/components/sticky.rtl.css +0 -78
  574. package/styles/vendor/semantic/dist/components/sticky.rtl.min.css +0 -9
  575. package/styles/vendor/semantic/dist/components/tab.css +0 -91
  576. package/styles/vendor/semantic/dist/components/tab.js +0 -946
  577. package/styles/vendor/semantic/dist/components/tab.min.css +0 -9
  578. package/styles/vendor/semantic/dist/components/tab.min.js +0 -10
  579. package/styles/vendor/semantic/dist/components/tab.rtl.css +0 -91
  580. package/styles/vendor/semantic/dist/components/tab.rtl.min.css +0 -9
  581. package/styles/vendor/semantic/dist/components/table.css +0 -1108
  582. package/styles/vendor/semantic/dist/components/table.min.css +0 -9
  583. package/styles/vendor/semantic/dist/components/table.rtl.css +0 -1108
  584. package/styles/vendor/semantic/dist/components/table.rtl.min.css +0 -9
  585. package/styles/vendor/semantic/dist/components/transition.css +0 -1964
  586. package/styles/vendor/semantic/dist/components/transition.js +0 -1095
  587. package/styles/vendor/semantic/dist/components/transition.min.css +0 -9
  588. package/styles/vendor/semantic/dist/components/transition.min.js +0 -10
  589. package/styles/vendor/semantic/dist/components/transition.rtl.css +0 -1964
  590. package/styles/vendor/semantic/dist/components/transition.rtl.min.css +0 -9
  591. package/styles/vendor/semantic/dist/components/visibility.js +0 -1283
  592. package/styles/vendor/semantic/dist/components/visibility.min.js +0 -10
  593. package/styles/vendor/semantic/dist/semantic.css +0 -36950
  594. package/styles/vendor/semantic/dist/semantic.js +0 -22500
  595. package/styles/vendor/semantic/dist/semantic.min.css +0 -364
  596. package/styles/vendor/semantic/dist/semantic.min.js +0 -19
  597. package/styles/vendor/semantic/dist/semantic.rtl.css +0 -36579
  598. package/styles/vendor/semantic/dist/semantic.rtl.min.css +0 -11
  599. package/styles/vendor/semantic/dist/themes/basic/assets/fonts/icons.eot +0 -0
  600. package/styles/vendor/semantic/dist/themes/basic/assets/fonts/icons.svg +0 -450
  601. package/styles/vendor/semantic/dist/themes/basic/assets/fonts/icons.ttf +0 -0
  602. package/styles/vendor/semantic/dist/themes/basic/assets/fonts/icons.woff +0 -0
  603. package/styles/vendor/semantic/dist/themes/default/assets/fonts/icons.eot +0 -0
  604. package/styles/vendor/semantic/dist/themes/default/assets/fonts/icons.svg +0 -685
  605. package/styles/vendor/semantic/dist/themes/default/assets/fonts/icons.ttf +0 -0
  606. package/styles/vendor/semantic/dist/themes/default/assets/fonts/icons.woff +0 -0
  607. package/styles/vendor/semantic/dist/themes/default/assets/fonts/icons.woff2 +0 -0
  608. package/styles/vendor/semantic/dist/themes/default/assets/images/flags.png +0 -0
  609. package/styles/vendor/semantic/dist/themes/github/assets/fonts/octicons-local.ttf +0 -0
  610. package/styles/vendor/semantic/dist/themes/github/assets/fonts/octicons.svg +0 -200
  611. package/styles/vendor/semantic/dist/themes/github/assets/fonts/octicons.ttf +0 -0
  612. package/styles/vendor/semantic/dist/themes/github/assets/fonts/octicons.woff +0 -0
  613. package/styles/vendor/semantic/dist/themes/material/assets/fonts/icons.eot +0 -0
  614. package/styles/vendor/semantic/dist/themes/material/assets/fonts/icons.svg +0 -2373
  615. package/styles/vendor/semantic/dist/themes/material/assets/fonts/icons.ttf +0 -0
  616. package/styles/vendor/semantic/dist/themes/material/assets/fonts/icons.woff +0 -0
  617. package/styles/vendor/semantic/gulpfile.js +0 -72
  618. package/styles/vendor/semantic/src/definitions/behaviors/api.js +0 -1167
  619. package/styles/vendor/semantic/src/definitions/behaviors/colorize.js +0 -280
  620. package/styles/vendor/semantic/src/definitions/behaviors/form.js +0 -1558
  621. package/styles/vendor/semantic/src/definitions/behaviors/state.js +0 -708
  622. package/styles/vendor/semantic/src/definitions/behaviors/visibility.js +0 -1283
  623. package/styles/vendor/semantic/src/definitions/behaviors/visit.js +0 -525
  624. package/styles/vendor/semantic/src/definitions/collections/breadcrumb.less +0 -122
  625. package/styles/vendor/semantic/src/definitions/collections/form.less +0 -1053
  626. package/styles/vendor/semantic/src/definitions/collections/grid.less +0 -1920
  627. package/styles/vendor/semantic/src/definitions/collections/menu.less +0 -1965
  628. package/styles/vendor/semantic/src/definitions/collections/message.less +0 -478
  629. package/styles/vendor/semantic/src/definitions/collections/table.less +0 -1114
  630. package/styles/vendor/semantic/src/definitions/elements/button.less +0 -3427
  631. package/styles/vendor/semantic/src/definitions/elements/container.less +0 -143
  632. package/styles/vendor/semantic/src/definitions/elements/divider.less +0 -255
  633. package/styles/vendor/semantic/src/definitions/elements/flag.less +0 -52
  634. package/styles/vendor/semantic/src/definitions/elements/header.less +0 -708
  635. package/styles/vendor/semantic/src/definitions/elements/icon.less +0 -477
  636. package/styles/vendor/semantic/src/definitions/elements/image.less +0 -324
  637. package/styles/vendor/semantic/src/definitions/elements/input.less +0 -507
  638. package/styles/vendor/semantic/src/definitions/elements/label.less +0 -1257
  639. package/styles/vendor/semantic/src/definitions/elements/list.less +0 -951
  640. package/styles/vendor/semantic/src/definitions/elements/loader.less +0 -332
  641. package/styles/vendor/semantic/src/definitions/elements/rail.less +0 -154
  642. package/styles/vendor/semantic/src/definitions/elements/reveal.less +0 -265
  643. package/styles/vendor/semantic/src/definitions/elements/segment.less +0 -768
  644. package/styles/vendor/semantic/src/definitions/elements/step.less +0 -562
  645. package/styles/vendor/semantic/src/definitions/globals/reset.less +0 -40
  646. package/styles/vendor/semantic/src/definitions/globals/site.js +0 -487
  647. package/styles/vendor/semantic/src/definitions/globals/site.less +0 -166
  648. package/styles/vendor/semantic/src/definitions/modules/accordion.js +0 -610
  649. package/styles/vendor/semantic/src/definitions/modules/accordion.less +0 -219
  650. package/styles/vendor/semantic/src/definitions/modules/checkbox.js +0 -831
  651. package/styles/vendor/semantic/src/definitions/modules/checkbox.less +0 -598
  652. package/styles/vendor/semantic/src/definitions/modules/dimmer.js +0 -708
  653. package/styles/vendor/semantic/src/definitions/modules/dimmer.less +0 -189
  654. package/styles/vendor/semantic/src/definitions/modules/dropdown.js +0 -3741
  655. package/styles/vendor/semantic/src/definitions/modules/dropdown.less +0 -1352
  656. package/styles/vendor/semantic/src/definitions/modules/embed.js +0 -696
  657. package/styles/vendor/semantic/src/definitions/modules/embed.less +0 -163
  658. package/styles/vendor/semantic/src/definitions/modules/modal.js +0 -913
  659. package/styles/vendor/semantic/src/definitions/modules/modal.less +0 -484
  660. package/styles/vendor/semantic/src/definitions/modules/nag.js +0 -507
  661. package/styles/vendor/semantic/src/definitions/modules/nag.less +0 -158
  662. package/styles/vendor/semantic/src/definitions/modules/popup.js +0 -1475
  663. package/styles/vendor/semantic/src/definitions/modules/popup.less +0 -712
  664. package/styles/vendor/semantic/src/definitions/modules/progress.js +0 -931
  665. package/styles/vendor/semantic/src/definitions/modules/progress.less +0 -503
  666. package/styles/vendor/semantic/src/definitions/modules/rating.js +0 -508
  667. package/styles/vendor/semantic/src/definitions/modules/rating.less +0 -191
  668. package/styles/vendor/semantic/src/definitions/modules/search.js +0 -1407
  669. package/styles/vendor/semantic/src/definitions/modules/search.less +0 -417
  670. package/styles/vendor/semantic/src/definitions/modules/shape.js +0 -921
  671. package/styles/vendor/semantic/src/definitions/modules/shape.less +0 -150
  672. package/styles/vendor/semantic/src/definitions/modules/sidebar.js +0 -1036
  673. package/styles/vendor/semantic/src/definitions/modules/sidebar.less +0 -552
  674. package/styles/vendor/semantic/src/definitions/modules/sticky.js +0 -942
  675. package/styles/vendor/semantic/src/definitions/modules/sticky.less +0 -74
  676. package/styles/vendor/semantic/src/definitions/modules/tab.js +0 -946
  677. package/styles/vendor/semantic/src/definitions/modules/tab.less +0 -94
  678. package/styles/vendor/semantic/src/definitions/modules/transition.js +0 -1095
  679. package/styles/vendor/semantic/src/definitions/modules/transition.less +0 -78
  680. package/styles/vendor/semantic/src/definitions/views/ad.less +0 -268
  681. package/styles/vendor/semantic/src/definitions/views/card.less +0 -1059
  682. package/styles/vendor/semantic/src/definitions/views/comment.less +0 -269
  683. package/styles/vendor/semantic/src/definitions/views/feed.less +0 -278
  684. package/styles/vendor/semantic/src/definitions/views/item.less +0 -464
  685. package/styles/vendor/semantic/src/definitions/views/statistic.less +0 -557
  686. package/styles/vendor/semantic/src/semantic.less +0 -66
  687. package/styles/vendor/semantic/src/site/collections/breadcrumb.overrides +0 -3
  688. package/styles/vendor/semantic/src/site/collections/breadcrumb.variables +0 -3
  689. package/styles/vendor/semantic/src/site/collections/form.overrides +0 -3
  690. package/styles/vendor/semantic/src/site/collections/form.variables +0 -3
  691. package/styles/vendor/semantic/src/site/collections/grid.overrides +0 -3
  692. package/styles/vendor/semantic/src/site/collections/grid.variables +0 -3
  693. package/styles/vendor/semantic/src/site/collections/menu.overrides +0 -24
  694. package/styles/vendor/semantic/src/site/collections/menu.variables +0 -6
  695. package/styles/vendor/semantic/src/site/collections/message.overrides +0 -3
  696. package/styles/vendor/semantic/src/site/collections/message.variables +0 -3
  697. package/styles/vendor/semantic/src/site/collections/table.overrides +0 -3
  698. package/styles/vendor/semantic/src/site/collections/table.variables +0 -3
  699. package/styles/vendor/semantic/src/site/elements/button.overrides +0 -110
  700. package/styles/vendor/semantic/src/site/elements/button.variables +0 -3
  701. package/styles/vendor/semantic/src/site/elements/container.overrides +0 -3
  702. package/styles/vendor/semantic/src/site/elements/container.variables +0 -3
  703. package/styles/vendor/semantic/src/site/elements/divider.overrides +0 -3
  704. package/styles/vendor/semantic/src/site/elements/divider.variables +0 -3
  705. package/styles/vendor/semantic/src/site/elements/flag.overrides +0 -3
  706. package/styles/vendor/semantic/src/site/elements/flag.variables +0 -3
  707. package/styles/vendor/semantic/src/site/elements/header.overrides +0 -3
  708. package/styles/vendor/semantic/src/site/elements/header.variables +0 -3
  709. package/styles/vendor/semantic/src/site/elements/icon.overrides +0 -3
  710. package/styles/vendor/semantic/src/site/elements/icon.variables +0 -3
  711. package/styles/vendor/semantic/src/site/elements/image.overrides +0 -3
  712. package/styles/vendor/semantic/src/site/elements/image.variables +0 -3
  713. package/styles/vendor/semantic/src/site/elements/input.overrides +0 -25
  714. package/styles/vendor/semantic/src/site/elements/input.variables +0 -3
  715. package/styles/vendor/semantic/src/site/elements/label.overrides +0 -18
  716. package/styles/vendor/semantic/src/site/elements/label.variables +0 -3
  717. package/styles/vendor/semantic/src/site/elements/list.overrides +0 -3
  718. package/styles/vendor/semantic/src/site/elements/list.variables +0 -3
  719. package/styles/vendor/semantic/src/site/elements/loader.overrides +0 -3
  720. package/styles/vendor/semantic/src/site/elements/loader.variables +0 -3
  721. package/styles/vendor/semantic/src/site/elements/rail.overrides +0 -3
  722. package/styles/vendor/semantic/src/site/elements/rail.variables +0 -3
  723. package/styles/vendor/semantic/src/site/elements/reveal.overrides +0 -3
  724. package/styles/vendor/semantic/src/site/elements/reveal.variables +0 -3
  725. package/styles/vendor/semantic/src/site/elements/segment.overrides +0 -3
  726. package/styles/vendor/semantic/src/site/elements/segment.variables +0 -3
  727. package/styles/vendor/semantic/src/site/elements/step.overrides +0 -3
  728. package/styles/vendor/semantic/src/site/elements/step.variables +0 -3
  729. package/styles/vendor/semantic/src/site/globals/reset.overrides +0 -3
  730. package/styles/vendor/semantic/src/site/globals/reset.variables +0 -3
  731. package/styles/vendor/semantic/src/site/globals/site.overrides +0 -3
  732. package/styles/vendor/semantic/src/site/globals/site.variables +0 -52
  733. package/styles/vendor/semantic/src/site/modules/accordion.overrides +0 -67
  734. package/styles/vendor/semantic/src/site/modules/accordion.variables +0 -3
  735. package/styles/vendor/semantic/src/site/modules/chatroom.overrides +0 -3
  736. package/styles/vendor/semantic/src/site/modules/chatroom.variables +0 -3
  737. package/styles/vendor/semantic/src/site/modules/checkbox.overrides +0 -3
  738. package/styles/vendor/semantic/src/site/modules/checkbox.variables +0 -3
  739. package/styles/vendor/semantic/src/site/modules/dimmer.overrides +0 -3
  740. package/styles/vendor/semantic/src/site/modules/dimmer.variables +0 -3
  741. package/styles/vendor/semantic/src/site/modules/dropdown.overrides +0 -80
  742. package/styles/vendor/semantic/src/site/modules/dropdown.variables +0 -3
  743. package/styles/vendor/semantic/src/site/modules/embed.overrides +0 -3
  744. package/styles/vendor/semantic/src/site/modules/embed.variables +0 -0
  745. package/styles/vendor/semantic/src/site/modules/modal.overrides +0 -13
  746. package/styles/vendor/semantic/src/site/modules/modal.variables +0 -3
  747. package/styles/vendor/semantic/src/site/modules/nag.overrides +0 -3
  748. package/styles/vendor/semantic/src/site/modules/nag.variables +0 -3
  749. package/styles/vendor/semantic/src/site/modules/popup.overrides +0 -3
  750. package/styles/vendor/semantic/src/site/modules/popup.variables +0 -3
  751. package/styles/vendor/semantic/src/site/modules/progress.overrides +0 -3
  752. package/styles/vendor/semantic/src/site/modules/progress.variables +0 -3
  753. package/styles/vendor/semantic/src/site/modules/rating.overrides +0 -3
  754. package/styles/vendor/semantic/src/site/modules/rating.variables +0 -3
  755. package/styles/vendor/semantic/src/site/modules/search.overrides +0 -3
  756. package/styles/vendor/semantic/src/site/modules/search.variables +0 -3
  757. package/styles/vendor/semantic/src/site/modules/shape.overrides +0 -3
  758. package/styles/vendor/semantic/src/site/modules/shape.variables +0 -3
  759. package/styles/vendor/semantic/src/site/modules/sidebar.overrides +0 -3
  760. package/styles/vendor/semantic/src/site/modules/sidebar.variables +0 -3
  761. package/styles/vendor/semantic/src/site/modules/sticky.overrides +0 -3
  762. package/styles/vendor/semantic/src/site/modules/sticky.variables +0 -3
  763. package/styles/vendor/semantic/src/site/modules/tab.overrides +0 -3
  764. package/styles/vendor/semantic/src/site/modules/tab.variables +0 -3
  765. package/styles/vendor/semantic/src/site/modules/transition.overrides +0 -3
  766. package/styles/vendor/semantic/src/site/modules/transition.variables +0 -3
  767. package/styles/vendor/semantic/src/site/views/ad.overrides +0 -3
  768. package/styles/vendor/semantic/src/site/views/ad.variables +0 -3
  769. package/styles/vendor/semantic/src/site/views/card.overrides +0 -3
  770. package/styles/vendor/semantic/src/site/views/card.variables +0 -3
  771. package/styles/vendor/semantic/src/site/views/comment.overrides +0 -3
  772. package/styles/vendor/semantic/src/site/views/comment.variables +0 -3
  773. package/styles/vendor/semantic/src/site/views/feed.overrides +0 -3
  774. package/styles/vendor/semantic/src/site/views/feed.variables +0 -3
  775. package/styles/vendor/semantic/src/site/views/item.overrides +0 -3
  776. package/styles/vendor/semantic/src/site/views/item.variables +0 -3
  777. package/styles/vendor/semantic/src/site/views/statistic.overrides +0 -3
  778. package/styles/vendor/semantic/src/site/views/statistic.variables +0 -3
  779. package/styles/vendor/semantic/src/theme.config +0 -92
  780. package/styles/vendor/semantic/src/theme.less +0 -61
  781. package/styles/vendor/semantic/src/themes/amazon/elements/button.overrides +0 -46
  782. package/styles/vendor/semantic/src/themes/amazon/elements/button.variables +0 -58
  783. package/styles/vendor/semantic/src/themes/amazon/globals/site.variables +0 -43
  784. package/styles/vendor/semantic/src/themes/basic/assets/fonts/icons.eot +0 -0
  785. package/styles/vendor/semantic/src/themes/basic/assets/fonts/icons.svg +0 -450
  786. package/styles/vendor/semantic/src/themes/basic/assets/fonts/icons.ttf +0 -0
  787. package/styles/vendor/semantic/src/themes/basic/assets/fonts/icons.woff +0 -0
  788. package/styles/vendor/semantic/src/themes/basic/collections/table.overrides +0 -4
  789. package/styles/vendor/semantic/src/themes/basic/collections/table.variables +0 -11
  790. package/styles/vendor/semantic/src/themes/basic/elements/button.overrides +0 -4
  791. package/styles/vendor/semantic/src/themes/basic/elements/button.variables +0 -44
  792. package/styles/vendor/semantic/src/themes/basic/elements/icon.overrides +0 -189
  793. package/styles/vendor/semantic/src/themes/basic/elements/icon.variables +0 -12
  794. package/styles/vendor/semantic/src/themes/basic/elements/step.overrides +0 -10
  795. package/styles/vendor/semantic/src/themes/basic/elements/step.variables +0 -18
  796. package/styles/vendor/semantic/src/themes/basic/globals/reset.overrides +0 -5
  797. package/styles/vendor/semantic/src/themes/basic/globals/reset.variables +0 -3
  798. package/styles/vendor/semantic/src/themes/basic/modules/progress.overrides +0 -3
  799. package/styles/vendor/semantic/src/themes/basic/modules/progress.variables +0 -15
  800. package/styles/vendor/semantic/src/themes/basic/views/card.overrides +0 -4
  801. package/styles/vendor/semantic/src/themes/basic/views/card.variables +0 -35
  802. package/styles/vendor/semantic/src/themes/bookish/elements/header.overrides +0 -15
  803. package/styles/vendor/semantic/src/themes/bookish/elements/header.variables +0 -37
  804. package/styles/vendor/semantic/src/themes/bootstrap3/elements/button.overrides +0 -0
  805. package/styles/vendor/semantic/src/themes/bootstrap3/elements/button.variables +0 -63
  806. package/styles/vendor/semantic/src/themes/chubby/collections/form.overrides +0 -16
  807. package/styles/vendor/semantic/src/themes/chubby/collections/form.variables +0 -9
  808. package/styles/vendor/semantic/src/themes/chubby/collections/menu.overrides +0 -0
  809. package/styles/vendor/semantic/src/themes/chubby/collections/menu.variables +0 -40
  810. package/styles/vendor/semantic/src/themes/chubby/elements/button.overrides +0 -21
  811. package/styles/vendor/semantic/src/themes/chubby/elements/button.variables +0 -57
  812. package/styles/vendor/semantic/src/themes/chubby/elements/header.overrides +0 -5
  813. package/styles/vendor/semantic/src/themes/chubby/elements/header.variables +0 -21
  814. package/styles/vendor/semantic/src/themes/chubby/modules/accordion.overrides +0 -7
  815. package/styles/vendor/semantic/src/themes/chubby/modules/accordion.variables +0 -15
  816. package/styles/vendor/semantic/src/themes/chubby/views/comment.overrides +0 -12
  817. package/styles/vendor/semantic/src/themes/chubby/views/comment.variables +0 -46
  818. package/styles/vendor/semantic/src/themes/classic/collections/table.overrides +0 -3
  819. package/styles/vendor/semantic/src/themes/classic/collections/table.variables +0 -14
  820. package/styles/vendor/semantic/src/themes/classic/elements/button.overrides +0 -3
  821. package/styles/vendor/semantic/src/themes/classic/elements/button.variables +0 -96
  822. package/styles/vendor/semantic/src/themes/classic/elements/header.overrides +0 -3
  823. package/styles/vendor/semantic/src/themes/classic/elements/header.variables +0 -12
  824. package/styles/vendor/semantic/src/themes/classic/modules/progress.overrides +0 -3
  825. package/styles/vendor/semantic/src/themes/classic/modules/progress.variables +0 -9
  826. package/styles/vendor/semantic/src/themes/classic/views/card.overrides +0 -98
  827. package/styles/vendor/semantic/src/themes/classic/views/card.variables +0 -22
  828. package/styles/vendor/semantic/src/themes/colored/modules/checkbox.overrides +0 -0
  829. package/styles/vendor/semantic/src/themes/colored/modules/checkbox.variables +0 -29
  830. package/styles/vendor/semantic/src/themes/default/assets/fonts/icons.eot +0 -0
  831. package/styles/vendor/semantic/src/themes/default/assets/fonts/icons.svg +0 -685
  832. package/styles/vendor/semantic/src/themes/default/assets/fonts/icons.ttf +0 -0
  833. package/styles/vendor/semantic/src/themes/default/assets/fonts/icons.woff +0 -0
  834. package/styles/vendor/semantic/src/themes/default/assets/fonts/icons.woff2 +0 -0
  835. package/styles/vendor/semantic/src/themes/default/assets/images/flags.png +0 -0
  836. package/styles/vendor/semantic/src/themes/default/collections/breadcrumb.overrides +0 -3
  837. package/styles/vendor/semantic/src/themes/default/collections/breadcrumb.variables +0 -33
  838. package/styles/vendor/semantic/src/themes/default/collections/form.overrides +0 -3
  839. package/styles/vendor/semantic/src/themes/default/collections/form.variables +0 -195
  840. package/styles/vendor/semantic/src/themes/default/collections/grid.overrides +0 -4
  841. package/styles/vendor/semantic/src/themes/default/collections/grid.variables +0 -103
  842. package/styles/vendor/semantic/src/themes/default/collections/menu.overrides +0 -3
  843. package/styles/vendor/semantic/src/themes/default/collections/menu.variables +0 -458
  844. package/styles/vendor/semantic/src/themes/default/collections/message.overrides +0 -3
  845. package/styles/vendor/semantic/src/themes/default/collections/message.variables +0 -158
  846. package/styles/vendor/semantic/src/themes/default/collections/table.overrides +0 -0
  847. package/styles/vendor/semantic/src/themes/default/collections/table.variables +0 -246
  848. package/styles/vendor/semantic/src/themes/default/elements/button.overrides +0 -3
  849. package/styles/vendor/semantic/src/themes/default/elements/button.variables +0 -358
  850. package/styles/vendor/semantic/src/themes/default/elements/container.overrides +0 -3
  851. package/styles/vendor/semantic/src/themes/default/elements/container.variables +0 -58
  852. package/styles/vendor/semantic/src/themes/default/elements/divider.overrides +0 -18
  853. package/styles/vendor/semantic/src/themes/default/elements/divider.variables +0 -53
  854. package/styles/vendor/semantic/src/themes/default/elements/flag.overrides +0 -986
  855. package/styles/vendor/semantic/src/themes/default/elements/flag.variables +0 -13
  856. package/styles/vendor/semantic/src/themes/default/elements/header.overrides +0 -4
  857. package/styles/vendor/semantic/src/themes/default/elements/header.variables +0 -151
  858. package/styles/vendor/semantic/src/themes/default/elements/icon.overrides +0 -941
  859. package/styles/vendor/semantic/src/themes/default/elements/icon.variables +0 -62
  860. package/styles/vendor/semantic/src/themes/default/elements/image.overrides +0 -3
  861. package/styles/vendor/semantic/src/themes/default/elements/image.variables +0 -44
  862. package/styles/vendor/semantic/src/themes/default/elements/input.overrides +0 -3
  863. package/styles/vendor/semantic/src/themes/default/elements/input.variables +0 -101
  864. package/styles/vendor/semantic/src/themes/default/elements/label.overrides +0 -3
  865. package/styles/vendor/semantic/src/themes/default/elements/label.variables +0 -254
  866. package/styles/vendor/semantic/src/themes/default/elements/list.overrides +0 -3
  867. package/styles/vendor/semantic/src/themes/default/elements/list.variables +0 -224
  868. package/styles/vendor/semantic/src/themes/default/elements/loader.overrides +0 -3
  869. package/styles/vendor/semantic/src/themes/default/elements/loader.variables +0 -72
  870. package/styles/vendor/semantic/src/themes/default/elements/rail.overrides +0 -3
  871. package/styles/vendor/semantic/src/themes/default/elements/rail.variables +0 -34
  872. package/styles/vendor/semantic/src/themes/default/elements/reveal.overrides +0 -3
  873. package/styles/vendor/semantic/src/themes/default/elements/reveal.variables +0 -17
  874. package/styles/vendor/semantic/src/themes/default/elements/segment.overrides +0 -3
  875. package/styles/vendor/semantic/src/themes/default/elements/segment.variables +0 -139
  876. package/styles/vendor/semantic/src/themes/default/elements/step.overrides +0 -16
  877. package/styles/vendor/semantic/src/themes/default/elements/step.variables +0 -130
  878. package/styles/vendor/semantic/src/themes/default/globals/reset.overrides +0 -429
  879. package/styles/vendor/semantic/src/themes/default/globals/reset.variables +0 -3
  880. package/styles/vendor/semantic/src/themes/default/globals/site.overrides +0 -3
  881. package/styles/vendor/semantic/src/themes/default/globals/site.variables +0 -936
  882. package/styles/vendor/semantic/src/themes/default/modules/accordion.overrides +0 -28
  883. package/styles/vendor/semantic/src/themes/default/modules/accordion.variables +0 -100
  884. package/styles/vendor/semantic/src/themes/default/modules/chatroom.overrides +0 -3
  885. package/styles/vendor/semantic/src/themes/default/modules/chatroom.variables +0 -3
  886. package/styles/vendor/semantic/src/themes/default/modules/checkbox.overrides +0 -36
  887. package/styles/vendor/semantic/src/themes/default/modules/checkbox.variables +0 -193
  888. package/styles/vendor/semantic/src/themes/default/modules/dimmer.overrides +0 -3
  889. package/styles/vendor/semantic/src/themes/default/modules/dimmer.variables +0 -61
  890. package/styles/vendor/semantic/src/themes/default/modules/dropdown.overrides +0 -62
  891. package/styles/vendor/semantic/src/themes/default/modules/dropdown.variables +0 -373
  892. package/styles/vendor/semantic/src/themes/default/modules/embed.overrides +0 -3
  893. package/styles/vendor/semantic/src/themes/default/modules/embed.variables +0 -53
  894. package/styles/vendor/semantic/src/themes/default/modules/modal.overrides +0 -3
  895. package/styles/vendor/semantic/src/themes/default/modules/modal.variables +0 -151
  896. package/styles/vendor/semantic/src/themes/default/modules/nag.overrides +0 -3
  897. package/styles/vendor/semantic/src/themes/default/modules/nag.variables +0 -74
  898. package/styles/vendor/semantic/src/themes/default/modules/popup.overrides +0 -3
  899. package/styles/vendor/semantic/src/themes/default/modules/popup.variables +0 -137
  900. package/styles/vendor/semantic/src/themes/default/modules/progress.overrides +0 -3
  901. package/styles/vendor/semantic/src/themes/default/modules/progress.variables +0 -113
  902. package/styles/vendor/semantic/src/themes/default/modules/rating.overrides +0 -68
  903. package/styles/vendor/semantic/src/themes/default/modules/rating.variables +0 -103
  904. package/styles/vendor/semantic/src/themes/default/modules/search.overrides +0 -3
  905. package/styles/vendor/semantic/src/themes/default/modules/search.variables +0 -158
  906. package/styles/vendor/semantic/src/themes/default/modules/shape.overrides +0 -3
  907. package/styles/vendor/semantic/src/themes/default/modules/shape.variables +0 -40
  908. package/styles/vendor/semantic/src/themes/default/modules/sidebar.overrides +0 -3
  909. package/styles/vendor/semantic/src/themes/default/modules/sidebar.variables +0 -45
  910. package/styles/vendor/semantic/src/themes/default/modules/sticky.overrides +0 -3
  911. package/styles/vendor/semantic/src/themes/default/modules/sticky.variables +0 -7
  912. package/styles/vendor/semantic/src/themes/default/modules/tab.overrides +0 -3
  913. package/styles/vendor/semantic/src/themes/default/modules/tab.variables +0 -11
  914. package/styles/vendor/semantic/src/themes/default/modules/transition.overrides +0 -910
  915. package/styles/vendor/semantic/src/themes/default/modules/transition.variables +0 -10
  916. package/styles/vendor/semantic/src/themes/default/views/ad.overrides +0 -3
  917. package/styles/vendor/semantic/src/themes/default/views/ad.variables +0 -13
  918. package/styles/vendor/semantic/src/themes/default/views/card.overrides +0 -3
  919. package/styles/vendor/semantic/src/themes/default/views/card.variables +0 -220
  920. package/styles/vendor/semantic/src/themes/default/views/comment.overrides +0 -3
  921. package/styles/vendor/semantic/src/themes/default/views/comment.variables +0 -104
  922. package/styles/vendor/semantic/src/themes/default/views/feed.overrides +0 -3
  923. package/styles/vendor/semantic/src/themes/default/views/feed.variables +0 -141
  924. package/styles/vendor/semantic/src/themes/default/views/item.overrides +0 -3
  925. package/styles/vendor/semantic/src/themes/default/views/item.variables +0 -154
  926. package/styles/vendor/semantic/src/themes/default/views/statistic.overrides +0 -3
  927. package/styles/vendor/semantic/src/themes/default/views/statistic.variables +0 -98
  928. package/styles/vendor/semantic/src/themes/duo/elements/loader.overrides +0 -3
  929. package/styles/vendor/semantic/src/themes/duo/elements/loader.variables +0 -6
  930. package/styles/vendor/semantic/src/themes/fixed-width/collections/grid.overrides +0 -3
  931. package/styles/vendor/semantic/src/themes/fixed-width/collections/grid.variables +0 -23
  932. package/styles/vendor/semantic/src/themes/fixed-width/modules/modal.overrides +0 -3
  933. package/styles/vendor/semantic/src/themes/fixed-width/modules/modal.variables +0 -37
  934. package/styles/vendor/semantic/src/themes/flat/collections/form.overrides +0 -28
  935. package/styles/vendor/semantic/src/themes/flat/collections/form.variables +0 -74
  936. package/styles/vendor/semantic/src/themes/flat/globals/site.overrides +0 -3
  937. package/styles/vendor/semantic/src/themes/flat/globals/site.variables +0 -107
  938. package/styles/vendor/semantic/src/themes/github/assets/fonts/octicons-local.ttf +0 -0
  939. package/styles/vendor/semantic/src/themes/github/assets/fonts/octicons.svg +0 -200
  940. package/styles/vendor/semantic/src/themes/github/assets/fonts/octicons.ttf +0 -0
  941. package/styles/vendor/semantic/src/themes/github/assets/fonts/octicons.woff +0 -0
  942. package/styles/vendor/semantic/src/themes/github/collections/breadcrumb.variables +0 -11
  943. package/styles/vendor/semantic/src/themes/github/collections/form.overrides +0 -16
  944. package/styles/vendor/semantic/src/themes/github/collections/form.variables +0 -40
  945. package/styles/vendor/semantic/src/themes/github/collections/grid.variables +0 -2
  946. package/styles/vendor/semantic/src/themes/github/collections/menu.overrides +0 -7
  947. package/styles/vendor/semantic/src/themes/github/collections/menu.variables +0 -61
  948. package/styles/vendor/semantic/src/themes/github/collections/message.overrides +0 -11
  949. package/styles/vendor/semantic/src/themes/github/collections/message.variables +0 -29
  950. package/styles/vendor/semantic/src/themes/github/collections/table.variables +0 -8
  951. package/styles/vendor/semantic/src/themes/github/elements/button.overrides +0 -4
  952. package/styles/vendor/semantic/src/themes/github/elements/button.variables +0 -77
  953. package/styles/vendor/semantic/src/themes/github/elements/header.variables +0 -9
  954. package/styles/vendor/semantic/src/themes/github/elements/icon.overrides +0 -208
  955. package/styles/vendor/semantic/src/themes/github/elements/icon.variables +0 -13
  956. package/styles/vendor/semantic/src/themes/github/elements/image.variables +0 -5
  957. package/styles/vendor/semantic/src/themes/github/elements/input.overrides +0 -32
  958. package/styles/vendor/semantic/src/themes/github/elements/input.variables +0 -16
  959. package/styles/vendor/semantic/src/themes/github/elements/label.overrides +0 -9
  960. package/styles/vendor/semantic/src/themes/github/elements/label.variables +0 -4
  961. package/styles/vendor/semantic/src/themes/github/elements/segment.overrides +0 -3
  962. package/styles/vendor/semantic/src/themes/github/elements/segment.variables +0 -40
  963. package/styles/vendor/semantic/src/themes/github/elements/step.overrides +0 -26
  964. package/styles/vendor/semantic/src/themes/github/elements/step.variables +0 -26
  965. package/styles/vendor/semantic/src/themes/github/globals/site.variables +0 -47
  966. package/styles/vendor/semantic/src/themes/github/modules/dropdown.overrides +0 -53
  967. package/styles/vendor/semantic/src/themes/github/modules/dropdown.variables +0 -35
  968. package/styles/vendor/semantic/src/themes/github/modules/popup.variables +0 -12
  969. package/styles/vendor/semantic/src/themes/gmail/collections/message.overrides +0 -0
  970. package/styles/vendor/semantic/src/themes/gmail/collections/message.variables +0 -15
  971. package/styles/vendor/semantic/src/themes/instagram/views/card.overrides +0 -12
  972. package/styles/vendor/semantic/src/themes/instagram/views/card.variables +0 -23
  973. package/styles/vendor/semantic/src/themes/material/assets/fonts/icons.eot +0 -0
  974. package/styles/vendor/semantic/src/themes/material/assets/fonts/icons.svg +0 -2373
  975. package/styles/vendor/semantic/src/themes/material/assets/fonts/icons.ttf +0 -0
  976. package/styles/vendor/semantic/src/themes/material/assets/fonts/icons.woff +0 -0
  977. package/styles/vendor/semantic/src/themes/material/collections/menu.overrides +0 -1
  978. package/styles/vendor/semantic/src/themes/material/collections/menu.variables +0 -10
  979. package/styles/vendor/semantic/src/themes/material/elements/button.overrides +0 -15
  980. package/styles/vendor/semantic/src/themes/material/elements/button.variables +0 -97
  981. package/styles/vendor/semantic/src/themes/material/elements/header.overrides +0 -15
  982. package/styles/vendor/semantic/src/themes/material/elements/header.variables +0 -21
  983. package/styles/vendor/semantic/src/themes/material/elements/icon.overrides +0 -934
  984. package/styles/vendor/semantic/src/themes/material/elements/icon.variables +0 -11
  985. package/styles/vendor/semantic/src/themes/material/globals/site.overrides +0 -0
  986. package/styles/vendor/semantic/src/themes/material/globals/site.variables +0 -128
  987. package/styles/vendor/semantic/src/themes/material/modules/dropdown.overrides +0 -5
  988. package/styles/vendor/semantic/src/themes/material/modules/dropdown.variables +0 -20
  989. package/styles/vendor/semantic/src/themes/material/modules/modal.overrides +0 -6
  990. package/styles/vendor/semantic/src/themes/material/modules/modal.variables +0 -15
  991. package/styles/vendor/semantic/src/themes/pulsar/elements/loader.overrides +0 -70
  992. package/styles/vendor/semantic/src/themes/pulsar/elements/loader.variables +0 -7
  993. package/styles/vendor/semantic/src/themes/raised/elements/button.overrides +0 -3
  994. package/styles/vendor/semantic/src/themes/raised/elements/button.variables +0 -27
  995. package/styles/vendor/semantic/src/themes/resetcss/globals/reset.overrides +0 -52
  996. package/styles/vendor/semantic/src/themes/resetcss/globals/reset.variables +0 -3
  997. package/styles/vendor/semantic/src/themes/round/elements/button.overrides +0 -0
  998. package/styles/vendor/semantic/src/themes/round/elements/button.variables +0 -138
  999. package/styles/vendor/semantic/src/themes/rtl/globals/site.overrides +0 -6
  1000. package/styles/vendor/semantic/src/themes/rtl/globals/site.variables +0 -14
  1001. package/styles/vendor/semantic/src/themes/striped/modules/progress.overrides +0 -29
  1002. package/styles/vendor/semantic/src/themes/striped/modules/progress.variables +0 -3
  1003. package/styles/vendor/semantic/src/themes/timeline/views/feed.overrides +0 -27
  1004. package/styles/vendor/semantic/src/themes/timeline/views/feed.variables +0 -36
  1005. package/styles/vendor/semantic/src/themes/twitter/elements/button.overrides +0 -13
  1006. package/styles/vendor/semantic/src/themes/twitter/elements/button.variables +0 -44
  1007. package/styles/vendor/semantic/tasks/README.md +0 -17
  1008. package/styles/vendor/semantic/tasks/admin/components/create.js +0 -332
  1009. package/styles/vendor/semantic/tasks/admin/components/init.js +0 -170
  1010. package/styles/vendor/semantic/tasks/admin/components/update.js +0 -184
  1011. package/styles/vendor/semantic/tasks/admin/distributions/create.js +0 -219
  1012. package/styles/vendor/semantic/tasks/admin/distributions/init.js +0 -169
  1013. package/styles/vendor/semantic/tasks/admin/distributions/update.js +0 -179
  1014. package/styles/vendor/semantic/tasks/admin/publish.js +0 -25
  1015. package/styles/vendor/semantic/tasks/admin/register.js +0 -55
  1016. package/styles/vendor/semantic/tasks/admin/release.js +0 -29
  1017. package/styles/vendor/semantic/tasks/build/assets.js +0 -35
  1018. package/styles/vendor/semantic/tasks/build/css.js +0 -113
  1019. package/styles/vendor/semantic/tasks/build/javascript.js +0 -77
  1020. package/styles/vendor/semantic/tasks/build.js +0 -50
  1021. package/styles/vendor/semantic/tasks/check-install.js +0 -28
  1022. package/styles/vendor/semantic/tasks/clean.js +0 -14
  1023. package/styles/vendor/semantic/tasks/collections/README.md +0 -16
  1024. package/styles/vendor/semantic/tasks/collections/admin.js +0 -49
  1025. package/styles/vendor/semantic/tasks/collections/build.js +0 -19
  1026. package/styles/vendor/semantic/tasks/collections/internal.js +0 -227
  1027. package/styles/vendor/semantic/tasks/collections/rtl.js +0 -16
  1028. package/styles/vendor/semantic/tasks/config/admin/github.js +0 -37
  1029. package/styles/vendor/semantic/tasks/config/admin/oauth.example.js +0 -11
  1030. package/styles/vendor/semantic/tasks/config/admin/release.js +0 -111
  1031. package/styles/vendor/semantic/tasks/config/admin/templates/README.md +0 -32
  1032. package/styles/vendor/semantic/tasks/config/admin/templates/bower.json +0 -29
  1033. package/styles/vendor/semantic/tasks/config/admin/templates/component-package.js +0 -14
  1034. package/styles/vendor/semantic/tasks/config/admin/templates/composer.json +0 -20
  1035. package/styles/vendor/semantic/tasks/config/admin/templates/css-package.js +0 -34
  1036. package/styles/vendor/semantic/tasks/config/admin/templates/less-package.js +0 -21
  1037. package/styles/vendor/semantic/tasks/config/admin/templates/package.json +0 -17
  1038. package/styles/vendor/semantic/tasks/config/defaults.js +0 -117
  1039. package/styles/vendor/semantic/tasks/config/docs.js +0 -32
  1040. package/styles/vendor/semantic/tasks/config/npm/gulpfile.js +0 -72
  1041. package/styles/vendor/semantic/tasks/config/project/config.js +0 -141
  1042. package/styles/vendor/semantic/tasks/config/project/install.js +0 -763
  1043. package/styles/vendor/semantic/tasks/config/project/release.js +0 -65
  1044. package/styles/vendor/semantic/tasks/config/tasks.js +0 -166
  1045. package/styles/vendor/semantic/tasks/config/user.js +0 -58
  1046. package/styles/vendor/semantic/tasks/docs/build.js +0 -189
  1047. package/styles/vendor/semantic/tasks/docs/metadata.js +0 -138
  1048. package/styles/vendor/semantic/tasks/docs/serve.js +0 -255
  1049. package/styles/vendor/semantic/tasks/install.js +0 -459
  1050. package/styles/vendor/semantic/tasks/rtl/build.js +0 -132
  1051. package/styles/vendor/semantic/tasks/rtl/watch.js +0 -221
  1052. package/styles/vendor/semantic/tasks/version.js +0 -11
  1053. package/styles/vendor/semantic/tasks/watch.js +0 -231
  1054. package/tests/i18n.test.js +0 -32
  1055. package/tests/store.test.js +0 -26
  1056. package/translations/en.json +0 -383
  1057. package/translations/zh.json +0 -383
  1058. package/utils/ApiCaller.js +0 -101
  1059. package/utils/Formatter.js +0 -77
  1060. package/utils/asyncInjectors.js +0 -78
  1061. package/utils/authWrapper.js +0 -38
  1062. package/utils/common.js +0 -23
  1063. package/utils/jed.js +0 -1497
  1064. package/utils/messageUtils.js +0 -11
  1065. package/utils/smsCharCount.js +0 -351
  1066. package/utils/smsCharCountV2.js +0 -143
  1067. package/utils/tests/asyncInjectors.test.js +0 -173
@@ -1,2536 +0,0 @@
1
-
2
- /*
3
- *
4
- * Create
5
- *
6
- */
7
-
8
- import React, { PropTypes } from 'react';
9
- import {bindActionCreators} from "redux";
10
- import { connect } from 'react-redux';
11
- import { Row, Col, Spin, Breadcrumb, notification } from 'antd';
12
- import { createStructuredSelector } from 'reselect';
13
- import { injectIntl, intlShape } from 'react-intl';
14
- import _ from 'lodash';
15
- import {makeSelectEdit, makeSelectEditResponse, makeSelectTemplateDetailsResponse} from "../../MobilePush/Edit/selectors";
16
- import {makeSelectMetaEntities} from "../../Cap/selectors";
17
- import {getMessageObject} from "../../../utils/messageUtils";
18
- import FormBuilder from '../../../components/FormBuilder';
19
- import * as globalActions from "../../Cap/actions";
20
- import * as actions from "../../MobilePush/Edit/actions";
21
- import * as templatesActions from "../../Templates/actions";
22
- import {makeSelectTemplates} from "../../Templates/selectors";
23
- import messages from './messages';
24
- import './_mobilePushCreate.scss';
25
- import {makeSelectCreate} from "../Create/selectors";
26
- const BreadcrumbItem = Breadcrumb.Item;
27
-
28
- export class Edit extends React.Component { // eslint-disable-line react/prefer-stateless-function
29
- constructor(props) {
30
- super(props);
31
- const map = {
32
- "template-name": {
33
- "onChange": this.onTemplateNameChange,
34
- },
35
- "cta-deeplink-secondary-cta-0": {
36
- "onChange": this.onLinkTypeChange,
37
- },
38
- "cta-deeplink-secondary-cta-1": {
39
- "onChange": this.onLinkTypeChange,
40
- },
41
- "cta-deeplink-delete": {
42
- "onDelete": this.deletePrimaryCTA,
43
- },
44
- "cta-deeplink2-delete": {
45
- "onDelete": this.deletePrimaryCTA,
46
- },
47
- "secondary-cta-0-delete": {
48
- "onDelete": this.deleteSecondaryCTA,
49
- },
50
- "secondary-cta-1-delete": {
51
- "onDelete": this.deleteSecondaryCTA,
52
- },
53
- "secondary-cta-1-delete-ios": {
54
- "onDelete": this.deleteSecondaryCtaIos,
55
- },
56
- "discard-button": {
57
- "discardValues": this.discardValues,
58
- },
59
- "cancel-button": {
60
- "cancelTemplate": this.cancelTemplate,
61
- },
62
- "copy-android-content": {
63
- "onClick": this.copyAndroidContent,
64
- },
65
- "copy-iphone-content": {
66
- "onClick": this.copyIphoneContent,
67
- },
68
- "save-button": {
69
- saveFormData: this.saveFormData,
70
- },
71
- "message-editor": {
72
- "onChange": this.onTemplateContentChange,
73
- },
74
- "message-editor2": {
75
- "onChange": this.onTemplateContentChange,
76
- },
77
- "message-tagList": {
78
- "onTagSelect": this.onTagSelect,
79
- },
80
- "message-tagList2": {
81
- "onTagSelect": this.onTagSelect,
82
- },
83
- "title-tagList": {
84
- "onTagSelect": this.onTagSelect,
85
- },
86
- "title-tagList2": {
87
- "onTagSelect": this.onTagSelect,
88
- },
89
- "pane": {
90
- onTabChange: this.onTabChange,
91
- },
92
- "cta-deeplink": {
93
- "onChange": this.onLinkTypeChange,
94
- },
95
- "cta-deeplink2": {
96
- "onChange": this.onLinkTypeChange,
97
- },
98
- "cta-deeplink-secondary-cta-1-select": {
99
- "onSelect": this.showCtaKeys,
100
- },
101
- "cta-deeplink-secondary-cta-1-select2": {
102
- "onSelect": this.showCtaKeys,
103
- },
104
- "cta-deeplink-secondary-cta-0-select": {
105
- "onSelect": this.showCtaKeys,
106
- },
107
- "cta-deeplink-select": {
108
- "onSelect": this.showCtaKeys,
109
- },
110
- "cta-deeplink2-select": {
111
- "onSelect": this.showCtaKeys,
112
- },
113
- "add-pri-cta": {
114
- "addPrimaryCta": this.addPrimaryCta,
115
- },
116
- "add-pri-cta-ios": {
117
- "addPrimaryCta": this.addPrimaryCta,
118
- },
119
- "add-sec-cta": {
120
- "addSecondaryCta": this.addSecondoryCta,
121
- },
122
- "add-sec-cta-ios": {
123
- "addSecondaryCtaIos": this.addSecondoryCtaIos,
124
- },
125
- "image-upload-android": {
126
- "onUpload": this.uploadImage,
127
- },
128
- "image-upload-ios": {
129
- "onUpload": this.uploadImage,
130
- },
131
- "secondary-cta-1-table": {
132
- "onRowClick": this.selectCtaIos,
133
- },
134
- "cta-deeplink-select-show-keys": {
135
- "onShowCtaKeys": this.showCtaKeys,
136
- },
137
- "cta-deeplink-secondary-cta-0-select-show-keys": {
138
- "onShowCtaKeys": this.showCtaKeys,
139
- },
140
- "cta-deeplink-secondary-cta-1-select-show-keys": {
141
- "onShowCtaKeys": this.showCtaKeys,
142
- },
143
- "mobilepush-template": {
144
- "onSelect": this.onTemplateChange,
145
- },
146
- };
147
- this.state = {
148
- formData: {},
149
- tabCount: 1,
150
- schema: {},
151
- currentTab: 1,
152
- editData: {},
153
- loading: false,
154
- isFormValid: true,
155
- injectedTags: {},
156
- showModal: false,
157
- eventsMap: map,
158
- modalContent: {title: "Alert", body: this.props.intl.formatMessage(messages['template not configured,']), type: 'confirm'},
159
- };
160
- }
161
- componentWillMount() {
162
- console.log('edit mounting');
163
- this.props.actions.getWeCrmAccounts("mobilepush");
164
- if (!this.props.Templates.selectedWeChatAccount && this.props.location.query.type !== 'embedded') {
165
- const type = this.props.location.query.type;
166
- const module = this.props.location.query.module ? this.props.location.query.module : 'default';
167
- this.props.router.push({
168
- pathname: `/mobilepush/`,
169
- query: type === 'embedded' ? {type: 'embedded', module} : {module},
170
- });
171
- } else {
172
- const query = {
173
- layout: 'MOBILEPUSH',
174
- type: 'LAYOUT',
175
- };
176
- this.props.globalActions.fetchSchemaForEntity(query);
177
- console.log(this.props.params);
178
- }
179
- }
180
- componentDidMount() {
181
- window.addEventListener("message", this.handleFrameTasks);
182
- const type = this.props.location.query.type;
183
- if (type === 'embedded') {
184
- const response = {
185
- action: 'startTemplateCreation',
186
- };
187
- parent.postMessage(JSON.stringify(response), '*');
188
- }
189
- if (!_.isEmpty(this.state.schema)) {
190
- this.injectEvents(this.state.schema);
191
- }
192
- }
193
- componentWillReceiveProps(nextProps) {
194
- const selectedWeChatAccount = (!_.isEmpty(this.props.Templates.selectedWeChatAccount) ? this.props.Templates.selectedWeChatAccount : this.props.Edit.selectedWeChatAccount);
195
- if (this.props.location.query.type === 'embedded' && !nextProps.Edit.fetchingWeCrmAccounts && !_.isEqual(this.props.Edit.weCrmAccounts, nextProps.Edit.weCrmAccounts) && (!selectedWeChatAccount || _.isEmpty(selectedWeChatAccount))) {
196
- console.log('got new accounts setting account again', nextProps.Edit.weCrmAccounts);
197
- this.setMobilePushAccountOptions(nextProps.Edit.weCrmAccounts);
198
- }
199
- if (!_.isEmpty(nextProps.Edit.selectedWeChatAccount) && !_.isEqual(this.props.Edit.selectedWeChatAccount, nextProps.Edit.selectedWeChatAccount) && (this.props.location.query.type === 'embedded') && this.props.location.query.module === "loyalty") {
200
- const params = {
201
- name: '',
202
- sortBy: 'Most Recent',
203
- accountId: nextProps.Edit.selectedWeChatAccount.id,
204
- };
205
- this.props.actions.getMobilepushTemplatesList('mobilepush', params);
206
- }
207
- if (nextProps.metaEntities && nextProps.metaEntities.layouts && nextProps.metaEntities.layouts.length > 0 && _.isEmpty(this.state.fullSchema)) {
208
- this.setState({fullSchema: nextProps.metaEntities.layouts[0].definition, schema: nextProps.location.query.module === 'loyalty' ? nextProps.metaEntities.layouts[0].definition.textSchema : {}}, () => {
209
- if (nextProps.location.query.module !== 'loyalty') {
210
- this.props.actions.getTemplateDetails(this.props.params.id);
211
- }
212
- });
213
- if (this.props.location.query.type === 'embedded') {
214
- this.showNext();
215
- }
216
- }
217
- if (nextProps.metaEntities && nextProps.metaEntities.layouts && nextProps.metaEntities.layouts.length > 0 && nextProps.Edit.mobilepushTemplates && !_.isEqual(nextProps.Edit.mobilepushTemplates, this.props.Edit.mobilepushTemplates)) { //used inloyalty
218
- if (nextProps.location.query.type === 'embedded' && nextProps.location.query.module === 'loyalty') {
219
- this.setTemplateOptions(nextProps.Edit.mobilepushTemplates);
220
- }
221
- }
222
- if (nextProps.templateDetails && nextProps.templateDetails.name && _.isEmpty(this.state.editData) && (this.props.location.query.type !== 'embedded' || (!_.isEmpty(this.state.fullSchema) && selectedWeChatAccount))) {
223
- this.props = nextProps;
224
- const mode = nextProps.templateDetails.definition ? nextProps.templateDetails.definition.mode : nextProps.templateDetails.mode;
225
- const schema = mode === "text" ? this.state.fullSchema.textSchema : this.state.fullSchema.imageSchema;
226
- this.setEditState(nextProps.templateDetails, schema);
227
- const query = {
228
- layout: 'mobilepush',
229
- type: 'TAG',
230
- context: this.props.location.query.type === 'embedded' ? this.props.location.query.module : 'default',
231
- embedded: this.props.location.query.type === 'embedded' ? this.props.location.query.type : 'full',
232
- };
233
- this.props.globalActions.fetchSchemaForEntity(query);
234
- }
235
- if (nextProps.Edit.uploadedAssetData) {
236
- const formData = _.cloneDeep(this.state.formData);
237
- formData[this.state.currentTab - 1].image = nextProps.Edit.uploadedAssetData.metaInfo.public_url;
238
- this.setState({formData});
239
- this.props.actions.clearAsset();
240
- }
241
- if (nextProps.Edit.iosCtasData) {
242
- this.setState({iosCtasData: nextProps.Edit.iosCtasData});
243
- }
244
- if (nextProps.Edit.editResponse && nextProps.Edit.editResponse.templateId) {
245
- console.log('reseting schema');
246
- this.resetSchema();
247
- this.setState({
248
- formData: {},
249
- tabCount: 1,
250
- currentTab: 1,
251
- editData: {},
252
- });
253
- const message = getMessageObject('success', this.props.intl.formatMessage(messages['MOBILEPUSH Template Edited Successfully']), true);
254
- this.props.globalActions.addMessageToQueue(message);
255
- this.props.actions.clearEditResponse();
256
- const module = this.props.location.query.module ? this.props.location.query.module : 'default';
257
- const type = this.props.location.query.type;
258
- this.props.router.push({
259
- pathname: `/mobilepush/`,
260
- query: type === 'embedded' ? {type: 'embedded', module} : {module},
261
- });
262
- }
263
-
264
- if (nextProps.Edit.editTemplateError && !_.isEqual(nextProps.Edit.editTemplateError, this.props.Edit.editTemplateError)) {
265
- const message = getMessageObject('error', (nextProps.Edit.editTemplateErrorMessage && nextProps.Edit.editTemplateErrorMessage !== '') ? nextProps.Edit.editTemplateErrorMessage : this.props.intl.formatMessage(messages.somethingWentWrong), true);
266
- this.props.globalActions.addMessageToQueue(message);
267
- }
268
- // if (nextProps.metaEntities && nextProps.metaEntities.tags && nextProps.metaEntities.tags.custom && this.props.metaEntities.tags !== nextProps.metaEntities.tags) {
269
- // let injectedTags = _.cloneDeep(this.state.injectedTags);
270
- // injectedTags = _.merge({}, injectedTags, nextProps.metaEntities.tags.custom);
271
- // this.setState({injectedTags});
272
- // }
273
- if (nextProps.metaEntities && nextProps.metaEntities.tags && nextProps.metaEntities.tags.custom && !_.isEqual(this.props.metaEntities.tags, nextProps.metaEntities.tags)) {
274
- let injectedTags = _.cloneDeep(this.state.injectedTags);
275
- delete injectedTags["Registration custom fields"];
276
- delete injectedTags["Store custom fields"];
277
- delete injectedTags["Transaction custom fields"];
278
- injectedTags = _.merge({}, injectedTags, nextProps.metaEntities.tags.custom);
279
- console.log('new injected tags', nextProps.metaEntities.tags.custom);
280
- if (!_.has(nextProps.metaEntities.tags.custom, "Registration custom fields")) {
281
- delete injectedTags["Registration custom fields"];
282
- }
283
- if (!_.has(nextProps.metaEntities.tags.custom, "Store custom fields")) {
284
- delete injectedTags["Store custom fields"];
285
- }
286
- if (!_.has(nextProps.metaEntities.tags.custom, "Transaction custom fields")) {
287
- delete injectedTags["Transaction custom fields"];
288
- }
289
- this.setState({injectedTags});
290
- }
291
- }
292
- componentWillUnmount() {
293
- this.props.actions.clearData();
294
- window.removeEventListener("message", this.handleFrameTasks);
295
- }
296
- onTemplateChange = (isEvent, formData) => {
297
- _.forEach(this.props.Edit.mobilepushTemplates, (template) => {
298
- if (template._id === formData['mobilepush-template']) {
299
- this.setState({editData: {}, formData: {}}, () => {
300
- this.props.actions.setSelectedTemplate(template);
301
- });
302
- }
303
- });
304
- };
305
- onFormDataChange = (formData, tabCount, currentTab) => {
306
- console.log('Form data changed is ', formData, tabCount, currentTab);
307
- const newFormData = _.cloneDeep(formData);
308
- if (newFormData[this.state.currentTab - 1] && newFormData[this.state.currentTab - 1][`secondary-cta-${this.state.currentTab - 1}-table`]) {
309
- newFormData[this.state.currentTab - 1][`secondary-cta-${this.state.currentTab - 1}-label`] = newFormData[this.state.currentTab - 1][`secondary-cta-${this.state.currentTab - 1}-table`].name;
310
- newFormData[this.state.currentTab - 1][`secondary-cta-${this.state.currentTab - 1}-action`] = newFormData[this.state.currentTab - 1][`secondary-cta-${this.state.currentTab - 1}-table`].ctaTemplateDetails[0].buttonText;
311
- delete newFormData[this.state.currentTab - 1][`secondary-cta-${this.state.currentTab - 1}-action2`];
312
- if (newFormData[this.state.currentTab - 1][`secondary-cta-${this.state.currentTab - 1}-table`].ctaTemplateDetails[1]) {
313
- newFormData[this.state.currentTab - 1][`secondary-cta-${this.state.currentTab - 1}-action2`] = newFormData[this.state.currentTab - 1][`secondary-cta-${this.state.currentTab - 1}-table`].ctaTemplateDetails[1].buttonText;
314
- }
315
- }
316
- if (newFormData["mobilepush-accounts"] !== this.state.formData["mobilepush-accounts"]) {
317
- this.setMobilePushAccountOptions(this.props.Edit.weCrmAccounts, newFormData["mobilepush-accounts"]);
318
- delete newFormData['mobilepush-template'];
319
- delete newFormData['template-name'];
320
- if (!_.isEmpty(newFormData[0])) {
321
- delete newFormData[0];
322
- }
323
- if (!_.isEmpty(newFormData[1])) {
324
- delete newFormData[1];
325
- }
326
- }
327
- if (this.state.isSchemaChanged) {
328
- this.setState({isSchemaChanged: false});
329
- }
330
- this.setState({formData: newFormData, tabCount});
331
- if (currentTab) {
332
- this.setState({currentTab});
333
- }
334
- };
335
-
336
- onLinkTypeChange = (eventTriggered, formData, field, tabIndex, inputSchema) => {
337
- const currentTab = tabIndex || this.state.currentTab;
338
- const selectedWeChatAccount = (!_.isEmpty(this.props.Templates.selectedWeChatAccount) ? this.props.Templates.selectedWeChatAccount : this.props.Edit.selectedWeChatAccount);
339
- const schema = inputSchema ? _.cloneDeep(inputSchema) : _.cloneDeep(this.state.schema);
340
- _.forEach(schema.containers, (container) => {
341
- _.forEach(container.panes, (pane, paneIndex) => {
342
- _.forEach(pane.sections, (section) => {
343
- _.forEach(section.childSections, (childeSection) => {
344
- _.forEach(childeSection.childSections, (child) => {
345
- const formChaild = child;
346
- if (child.type === 'multicols') {
347
- _.forEach(child.inputFields, (inputField, fieldIndex) => {
348
- if (inputField) {
349
- _.forEach(inputField.cols, (col) => {
350
- if (col.id === field.id && currentTab === paneIndex + 1) {
351
- console.log(child, fieldIndex, this.state.formData);
352
- const ck = selectedWeChatAccount.configs ? !!selectedWeChatAccount.configs.deeplink : false;
353
- const deepLinkOptions = _.map(JSON.parse(ck ? selectedWeChatAccount.configs.deeplink : '[]'), (link) => ({label: link.name, value: link.link, title: link.link }) );
354
- const deeplinkValue = formData[currentTab - 1][field.id];
355
- const componentIndex = fieldIndex + 1;
356
- let inputId = deeplinkValue && deeplinkValue.toLowerCase() === "deeplink" ? `${col.id}-select` : `${col.id}-text`;
357
- if (field.id === "cta-deeplink-secondary-cta-1" && (tabIndex > 1 || this.state.currentTab > 1)) {
358
- inputId = `${inputId}${tabIndex || this.state.currentTab}`;
359
- }
360
- if ( deeplinkValue && deeplinkValue.toLowerCase() === "deeplink" && (fieldIndex === child.inputFields.length - 1 || child.inputFields[componentIndex].id !== "cta-deeplink-select-section")) {
361
- const row = {
362
- rowClassName: 'mobile-push-row',
363
- id: 'cta-deeplink-select-section',
364
- cols: [
365
- {
366
- id: "cta-label",
367
- metaType: "label",
368
- value: "",
369
- primitive: true,
370
- dynamicTab: false,
371
- type: "div",
372
- width: 4,
373
- onlyDisplay: true,
374
- colStyle: {
375
- flex: 1,
376
- },
377
- },
378
- {
379
- id: inputId,
380
- placeholder: "Select DeepLink",
381
- type: "select", //Resembles component to be used
382
- options: deepLinkOptions,
383
- errorMessage: "Select a deeplink",
384
- metaType: "text",
385
- datatype: "string",
386
- required: true,
387
- fluid: true,
388
- width: 19,
389
- style: {
390
- fontSize: '14px',
391
- fontFamily: 'open-sans',
392
- fontStyle: 'normal',
393
- // fontWeight: 600,
394
- marginBottom: '16px',
395
- },
396
- styling: "semantic",
397
- order: 1,
398
- disabled: this.props.location.query.type === 'embedded',
399
- customComponent: false,
400
- supportedEvents: [
401
- 'onSelect',
402
- ],
403
- },
404
- ],
405
- };
406
- if (!child.inputFields[fieldIndex + 1] || child.inputFields[componentIndex].id === "cta-external-link") {
407
- formChaild.inputFields[componentIndex] = row;
408
- } else {
409
- formChaild.inputFields.splice(componentIndex, 0, row);
410
- }
411
- } else if ( deeplinkValue && deeplinkValue.toLowerCase() === "external link") {
412
- const row = {
413
- rowClassName: 'mobile-push-row',
414
- id: 'cta-external-link',
415
- cols: [
416
- {
417
- id: "cta-label",
418
- metaType: "label",
419
- value: "",
420
- primitive: true,
421
- dynamicTab: false,
422
- type: "div",
423
- width: 4,
424
- offset: 0,
425
- onlyDisplay: true,
426
- },
427
- {
428
- id: inputId,
429
- placeholder: "External Link",
430
- type: "input", //Resembles component to be used
431
- metaType: "text",
432
- datatype: "string",
433
- errorMessage: "External Link cannot be empty.",
434
- required: true,
435
- fluid: true,
436
- width: 19,
437
- style: {
438
- fontSize: '14px',
439
- fontFamily: 'open-sans',
440
- fontStyle: 'normal',
441
- // fontWeight: 600,
442
- marginBottom: '16px',
443
- },
444
- styling: "semantic",
445
- order: 1,
446
- disabled: this.props.location.query.type === 'embedded',
447
- offSet: 4,
448
- customComponent: false,
449
- standalone: false,
450
- },
451
- ],
452
- };
453
- if (!child.inputFields[fieldIndex + 1] || child.inputFields[componentIndex].id === "cta-deeplink-select-section") {
454
- formChaild.inputFields[componentIndex] = row;
455
- if (child.inputFields[componentIndex + 1] && child.inputFields[componentIndex + 1].id === "show-cta-deeplink-keys-label") {
456
- formChaild.inputFields.splice(componentIndex + 1, 1);
457
- }
458
- if (child.inputFields[componentIndex + 1] && child.inputFields[componentIndex + 1].id === "cta-deeplink-keys") {
459
- const dataIndex = tabIndex || this.state.currentTab;
460
- let selector = `${col.id}-select`;
461
- if (field.id === "cta-deeplink-secondary-cta-1" && (tabIndex > 1 || this.state.currentTab > 1)) {
462
- selector = `${selector}${tabIndex || this.state.currentTab}`;
463
- }
464
- let configkeys = _.filter(JSON.parse(ck ? selectedWeChatAccount.configs.deeplink : '[]'), (dl) => dl.link === formData[dataIndex - 1][selector]);
465
- if (configkeys[0]) {
466
- configkeys = configkeys[0].keys;
467
- }
468
- if (configkeys.length) {
469
- formChaild.inputFields = formChaild.inputFields.slice(0, componentIndex + 1).concat(formChaild.inputFields.slice( componentIndex + 1 + configkeys.length, formChaild.inputFields.length));
470
- }
471
- }
472
- } else {
473
- formChaild.inputFields.splice(componentIndex, 0, row);
474
- }
475
- }
476
- }
477
- });
478
- }
479
- });
480
- }
481
- });
482
- });
483
- });
484
- });
485
- });
486
- if (tabIndex) {
487
- return schema;
488
- }
489
- this.setState({schema, initialState: this.state.initialState ? this.state.initialState : this.state.schema, isSchemaChanged: true});
490
- this.injectEvents(schema);
491
- return schema;
492
- };
493
-
494
- onTabChange = (data) => {
495
- console.log('inside parent ontabchange', data, this.state);
496
- this.setState({currentTab: data});
497
- };
498
-
499
- onTagSelect = (data, currentTab, srcComp) => {
500
- console.log('parent data tag', data, currentTab);
501
- const editorId = srcComp.target;
502
- this.insertAtCursor(document.getElementById(editorId), `{{${data}}}`);
503
- document.getElementById(editorId).focus();
504
- };
505
- onModalCancel = () => {
506
- if (this.state.modalContent && this.state.modalContent.show) {
507
- this.setState({modalContent: {...this.state.modalContent, show: false}});
508
- }
509
- };
510
- setTemplateOptions = (mobilepushTemplates) => {
511
- const templateOptions = [];
512
- let selectedTemplate = {};
513
- if (!_.isEmpty(mobilepushTemplates)) {
514
- _.forEach(mobilepushTemplates, (template) => {
515
- templateOptions.push({
516
- key: template._id,
517
- label: template.name,
518
- value: template._id,
519
- });
520
- if (this.state.formData['mobilepush-template'] && template._id === this.state.formData['mobilepush-template']) {
521
- selectedTemplate = template;
522
- }
523
- });
524
- }
525
- this.setState({templateOptions}, () => {
526
- if (!_.isEmpty(selectedTemplate)) {
527
- this.props.actions.setSelectedTemplate(selectedTemplate);
528
- }
529
- if (!_.isEmpty(this.state.schema)) {
530
- this.injectEvents(this.state.schema);
531
- }
532
- });
533
- };
534
- setMobilePushAccountOptions = (accounts, newAccountId) => {
535
- let accId = newAccountId || this.props.location.query.account_id;
536
- if (this.props.location.query.module !== "loyalty") {
537
- accId = Number(accId);
538
- }
539
- const formData = _.cloneDeep(this.state.formData);
540
- let selectedAccount = {};
541
- if (accId) {
542
- _.forEach(accounts, (account) => {
543
- let acccountId = account.id;
544
- if (this.props.location.query.module === "loyalty" && typeof accId === 'string') {
545
- acccountId = account.sourceAccountIdentifier;
546
- }
547
- if (acccountId === accId) {
548
- this.props.templatesActions.setWeChatAccount(account);
549
- selectedAccount = account;
550
- formData['mobilepush-accounts'] = account.id;
551
- if (this.props.location.query.account_id) {
552
- formData['mobilepush-template'] = this.props.params.id;
553
- }
554
- }
555
- });
556
- } else {
557
- selectedAccount = accounts[0];
558
- formData['mobilepush-accounts'] = accounts[0].id;
559
- }
560
- this.props.actions.setWeChatAccount(selectedAccount);
561
- this.setState({formData, accountsOptions: accounts.map((acc) => ({key: acc.id, label: acc.name, value: acc.id}))});
562
- };
563
-
564
- getTransformedData = (formData) => {
565
- const selectedWeChatAccount = (!_.isEmpty(this.props.Templates.selectedWeChatAccount) ? this.props.Templates.selectedWeChatAccount : this.props.Edit.selectedWeChatAccount);
566
- const obj = _.cloneDeep(this.state.editData);
567
- obj.versions = {
568
- base: {},
569
- };
570
- obj.name = formData['template-name'];
571
- obj.definition = {
572
- accountId: selectedWeChatAccount.id,
573
- licenseCode: selectedWeChatAccount.sourceAccountIdentifier,
574
- mode: this.props.Edit.templateDetails.mode,
575
- };
576
- const android = {};
577
- Object.keys(formData[0]).forEach((data) => {
578
- if (!!formData[0][data] && data !== "tabKey") {
579
- android[data] = formData[0][data];
580
- }
581
- });
582
- const ios = {};
583
- Object.keys(formData[1]).forEach((data) => {
584
- if (!!formData[1][data] && data !== "tabKey") {
585
- ios[data] = formData[1][data];
586
- }
587
- });
588
- obj.versions.base = {};
589
- delete android.base;
590
- if (!_.isEmpty(android)) {
591
- obj.versions.base.ANDROID = {
592
- "luid": "{{luid}}",
593
- "cuid": "{{cuid}}",
594
- "communicationId": "{{communicationId}}",
595
- "title": android['message-title'],
596
- "message": android['message-editor'],
597
- expandableDetails: {
598
- "style": "BIG_TEXT",
599
- "message": android['message-editor'],
600
- },
601
- "custom": _.map(android, (field, key) => {
602
- if (key.indexOf('custom-value') > -1) {
603
- return field !== "" ? {key: key.replace('custom-value-', "").replace('-cta-deeplink-select', '').replace('-cta-deeplink-secondary-cta-0-select', '').replace('-cta-deeplink-secondary-cta-1-select', ''), value: field} : undefined;
604
- }
605
- return undefined;
606
- }).filter((custom) => custom),
607
- };
608
- }
609
- if (android['cta-deeplink'] && android['cta-deeplink'] !== "") {
610
- obj.versions.base.ANDROID.cta = {
611
- "type": android['cta-deeplink'] && android['cta-deeplink'].toLowerCase() === "deeplink" ? "DEEP_LINK" : "EXTERNAL_URL",
612
- "actionLink": android['cta-deeplink'] && android['cta-deeplink'].toLowerCase() === "deeplink" ? android['cta-deeplink-select'] : android['cta-deeplink-text'],
613
- "deepLinkName": android['cta-deeplink'] && android['cta-deeplink'].toLowerCase() === "deeplink" ? this.getLinkName(android['cta-deeplink-select']) : undefined,
614
- };
615
- if (this.props.location.query.type === 'embedded') {
616
- delete obj.versions.base.ANDROID.cta.deepLinkName;
617
- }
618
- }
619
- if (!_.isEmpty(ios)) {
620
- obj.versions.base.IOS = {
621
- "luid": "{{luid}}",
622
- "cuid": "{{cuid}}",
623
- "communicationId": "{{communicationId}}",
624
- "title": ios['message-title2'],
625
- "message": ios['message-editor2'],
626
- "expandableDetails": {
627
- "style": "BIG_TEXT",
628
- "message": ios['message-title2'],
629
- "ctas": [
630
-
631
- ],
632
- "categoryId": ios['secondary-cta-1-table'] ? ios['secondary-cta-1-table'].id : undefined,
633
- },
634
- "custom": _.map(ios, (field, key) => {
635
- if (key.indexOf('custom-value') > -1) {
636
- return field !== "" ? {key: key.replace('custom-value-', "").replace('-cta-deeplink2-select', '').replace('-cta-deeplink-secondary-cta-0-select', '').replace('-cta-deeplink-secondary-cta-1-select2', ''), value: field} : undefined;
637
- }
638
- return undefined;
639
- }).filter((custom) => custom),
640
- };
641
- }
642
- if (ios['cta-deeplink2'] && ios['cta-deeplink2'] !== "") {
643
- obj.versions.base.IOS.cta = {
644
- "type": ios['cta-deeplink2'] && ios['cta-deeplink2'].toLowerCase() === "deeplink" ? "DEEP_LINK" : "EXTERNAL_URL",
645
- "actionLink": ios['cta-deeplink2'] && ios['cta-deeplink2'].toLowerCase() === "deeplink" ? ios['cta-deeplink2-select'] : ios['cta-deeplink2-text'],
646
- "deepLinkName": ios['cta-deeplink2'] && ios['cta-deeplink2'].toLowerCase() === "deeplink" ? this.getLinkName(ios['cta-deeplink2-select']) : undefined,
647
- };
648
- if (this.props.location.query.type === 'embedded') {
649
- delete obj.versions.base.IOS.cta.deepLinkName;
650
- }
651
- }
652
- const imageLink = android.image;
653
- if (imageLink) {
654
- obj.versions.base.ANDROID.expandableDetails.image = imageLink;
655
- obj.versions.base.ANDROID.expandableDetails.style = "BIG_PICTURE";
656
- }
657
- if (obj.versions.base.ANDROID && obj.versions.base.ANDROID.cta) {
658
- if (obj.versions.base.ANDROID.cta.type === "DEEP_LINK") {
659
- const params = _.map(android, (field, key) => {
660
- let actionLink;
661
- if (key.indexOf('custom-value') > -1 && key.indexOf('cta-deeplink-select') > -1) {
662
- const param = key.replace('custom-value-', "").replace('-cta-deeplink-select', '');
663
- actionLink = field !== "" ? `${param}=${field}` : undefined;
664
- }
665
- return actionLink;
666
- }).filter((actionLink) => actionLink);
667
- if (params.length) {
668
- obj.versions.base.ANDROID.cta.actionLink = `${obj.versions.base.ANDROID.cta.actionLink}?${params.join('&')}`;
669
- }
670
- }
671
- }
672
- const secondaryCta1 = !!android["cta-deeplink-secondary-cta-0-select"] || !!android['secondary-cta-0-label'];
673
- const secondaryCta2 = !!android['cta-deeplink-secondary-cta-1-select'] || !!android['secondary-cta-1-label'];
674
- if (secondaryCta1 || secondaryCta2 ) {
675
- obj.versions.base.ANDROID.expandableDetails.ctas = [];
676
- if (secondaryCta1) {
677
- const cta = {
678
- "actionText": android['secondary-cta-0-label'],
679
- "type": android['cta-deeplink-secondary-cta-0'].toLowerCase() === "deeplink" ? "DEEP_LINK" : "EXTERNAL_URL",
680
- "actionLink": android['cta-deeplink-secondary-cta-0'].toLowerCase() === "deeplink" ? android['cta-deeplink-secondary-cta-0-select'] : android['cta-deeplink-secondary-cta-0-text'],
681
- "seccdeepLinkName": this.getLinkName(android['cta-deeplink-secondary-cta-0-select']),
682
- };
683
- if (this.props.location.query.type === 'embedded') {
684
- delete cta.seccdeepLinkName;
685
- }
686
- obj.versions.base.ANDROID.expandableDetails.ctas.push(cta);
687
- if (obj.versions.base.ANDROID.expandableDetails.ctas[obj.versions.base.ANDROID.expandableDetails.ctas.length - 1].type === "DEEP_LINK") {
688
- const params = _.map(android, (field, key) => {
689
- let actionLink;
690
- if (key.indexOf('custom-value') > -1 && key.indexOf('cta-deeplink-secondary-cta-0-select') > -1) {
691
- const param = key.replace('custom-value-', "").replace('-cta-deeplink-secondary-cta-0-select', '');
692
- actionLink = field !== "" ? `${param}=${field}` : undefined;
693
- }
694
- return actionLink;
695
- }).filter((actionLink) => actionLink);
696
- if (params.length) {
697
- obj.versions.base.ANDROID.expandableDetails.ctas[obj.versions.base.ANDROID.expandableDetails.ctas.length - 1].actionLink = `${obj.versions.base.ANDROID.expandableDetails.ctas[obj.versions.base.ANDROID.expandableDetails.ctas.length - 1].actionLink}?${params.join('&')}`;
698
- }
699
- }
700
- }
701
- if (secondaryCta2) {
702
- obj.versions.base.ANDROID.expandableDetails.ctas.push({
703
- "actionText": android['secondary-cta-1-label'],
704
- "type": android['cta-deeplink-secondary-cta-1'].toLowerCase() === "deeplink" ? "DEEP_LINK" : "EXTERNAL_URL",
705
- "actionLink": android['cta-deeplink-secondary-cta-1'].toLowerCase() === "deeplink" ? android['cta-deeplink-secondary-cta-1-select'] : android['cta-deeplink-secondary-cta-1-text'],
706
- "seccdeepLinkName": this.getLinkName(android['cta-deeplink-secondary-cta-1-select']),
707
- });
708
- if (obj.versions.base.ANDROID.expandableDetails.ctas[obj.versions.base.ANDROID.expandableDetails.ctas.length - 1].type === "DEEP_LINK") {
709
- const params = _.map(android, (field, key) => {
710
- let actionLink;
711
- if (key.indexOf('custom-value') > -1 && key.indexOf('cta-deeplink-secondary-cta-1-select') > -1) {
712
- const param = key.replace('custom-value-', "").replace('-cta-deeplink-secondary-cta-1-select', '');
713
- actionLink = field !== "" ? `${param}=${field}` : undefined;
714
- }
715
- return actionLink;
716
- }).filter((actionLink) => actionLink);
717
- if (params.length) {
718
- obj.versions.base.ANDROID.expandableDetails.ctas[obj.versions.base.ANDROID.expandableDetails.ctas.length - 1].actionLink = `${obj.versions.base.ANDROID.expandableDetails.ctas[obj.versions.base.ANDROID.expandableDetails.ctas.length - 1].actionLink}?${params.join('&')}`;
719
- }
720
- }
721
- }
722
- }
723
- const imageLinkIos = ios.image;
724
- if (imageLinkIos) {
725
- obj.versions.base.IOS.expandableDetails.image = imageLinkIos;
726
- obj.versions.base.IOS.expandableDetails.style = "BIG_PICTURE";
727
- }
728
- if (obj.versions.base.IOS && obj.versions.base.IOS.cta) {
729
- if (obj.versions.base.IOS.cta.type === "DEEP_LINK") {
730
- const params = _.map(ios, (field, key) => {
731
- let actionLink;
732
- if (key.indexOf('custom-value') > -1 && key.indexOf('cta-deeplink2-select') > -1) {
733
- const param = key.replace('custom-value-', "").replace('-cta-deeplink2-select', '');
734
- actionLink = field !== "" ? `${param}=${field}` : undefined;
735
- }
736
- return actionLink;
737
- }).filter((actionLink) => actionLink);
738
- if (params.length) {
739
- obj.versions.base.IOS.cta.actionLink = `${obj.versions.base.IOS.cta.actionLink}?${params.join('&')}`;
740
- }
741
- }
742
- }
743
- const secondaryCtaIos = !!ios['cta-deeplink-secondary-cta-1-select'] || !!ios['secondary-cta-1-label'];
744
-
745
- if (secondaryCtaIos) {
746
- obj.versions.base.IOS.expandableDetails.ctas = [];
747
- const cta = {
748
- "actionText": ios['secondary-cta-1-label'],
749
- "actionLabel": ios['secondary-cta-1-action'],
750
- "actionLabel2": ios['secondary-cta-1-action2'],
751
- "type": ios['cta-deeplink-secondary-cta-1'] && (ios['cta-deeplink-secondary-cta-1'].toLowerCase() === "deeplink" ? "DEEP_LINK" : "EXTERNAL_URL"),
752
- "actionLink": ios['cta-deeplink-secondary-cta-1'] && (ios['cta-deeplink-secondary-cta-1'].toLowerCase() === "deeplink" ? ios['cta-deeplink-secondary-cta-1-select2'] : ios['cta-deeplink-secondary-cta-1-text2']),
753
- "ioscdeepLinkName": this.getLinkName(ios['cta-deeplink-secondary-cta-1-select']),
754
- 'templateCtaId': ios['secondary-cta-1-table'] ? ios['secondary-cta-1-table'].ctaTemplateDetails[0].id : undefined,
755
- };
756
- if (this.props.location.query.type === 'embedded') {
757
- delete cta.ioscdeepLinkName;
758
- }
759
- obj.versions.base.IOS.expandableDetails.ctas.push(cta);
760
- if (obj.versions.base.IOS.expandableDetails.ctas[obj.versions.base.IOS.expandableDetails.ctas.length - 1].type === "DEEP_LINK") {
761
- const params = _.map(ios, (field, key) => {
762
- let actionLink;
763
- if (key.indexOf('custom-value') > -1 && key.indexOf('cta-deeplink-secondary-cta-1-select') > -1) {
764
- const param = key.replace('custom-value-', "").replace('-cta-deeplink-secondary-cta-1-select2', '');
765
- actionLink = field !== "" ? `${param}=${field}` : undefined;
766
- }
767
- return actionLink;
768
- }).filter((actionLink) => actionLink);
769
- if (params.length) {
770
- obj.versions.base.IOS.expandableDetails.ctas[obj.versions.base.IOS.expandableDetails.ctas.length - 1].actionLink = `${obj.versions.base.IOS.expandableDetails.ctas[obj.versions.base.IOS.expandableDetails.ctas.length - 1].actionLink}?${params.join('&')}`;
771
- }
772
- }
773
- }
774
- return obj;
775
- };
776
-
777
- getLinkName = (link) => {
778
- const selectedWeChatAccount = (!_.isEmpty(this.props.Templates.selectedWeChatAccount) ? this.props.Templates.selectedWeChatAccount : this.props.Edit.selectedWeChatAccount);
779
- const ck = selectedWeChatAccount.configs ? !!selectedWeChatAccount.configs.deeplink : false;
780
- const deepLinkOptions = _.filter(JSON.parse(ck ? selectedWeChatAccount.configs.deeplink : '[]'), (l) => l.link === link);
781
- if (deepLinkOptions[0]) {
782
- return deepLinkOptions[0].name;
783
- }
784
- return undefined;
785
- };
786
-
787
- setFormValidity = (isFormValid) => {
788
- this.setState({isFormValid});
789
- };
790
-
791
- getMappedEvent = (id, event) => {
792
- const map = this.state.eventsMap;
793
- if (!map[id] || !map[id][event]) {
794
- console.log(`error map[id] ${map[id]}` );
795
- }
796
- return map[id][event];
797
- };
798
-
799
- getCurrentWindow = (e) => {
800
- console.log('in sms create', e);
801
- const response = {
802
- action: e.action,
803
- value: 'edit',
804
- direction: e.value,
805
- };
806
- parent.postMessage(JSON.stringify(response), '*');
807
- };
808
-
809
- getFormData = (e) => {
810
- console.log('posting final result', this.state.formData);
811
- const response = {
812
- action: "getFormData",
813
- value: this.getTransformedData(this.state.formData),
814
- validity: this.state.isFormValid,
815
- };
816
- console.log('GetForm Data ', response);
817
- this.setState({checkValidation: true});
818
- e.source.postMessage(JSON.stringify(response), e.origin);
819
- };
820
-
821
-
822
- setEditState(data, schema) {
823
- console.log('Test 1234', data, schema);
824
- const tabCount = Object.keys(data.versions.base).length;
825
- const formData = {};
826
- if (this.props.location.query.type === 'embedded' && this.props.location.query.module === "loyalty") {
827
- formData["mobilepush-accounts"] = this.state.formData["mobilepush-accounts"];
828
- formData['mobilepush-template'] = this.state.formData['mobilepush-template'];
829
- }
830
- formData['template-name'] = data.name;
831
- const androidData = data.versions.base.ANDROID;
832
- const iosData = data.versions.base.IOS;
833
- const android = {};
834
- android[`message-title`] = androidData ? androidData.title : '';
835
- android['message-editor'] = androidData ? androidData.message : '';
836
- if (data.mode === "image") {
837
- android.image = "";
838
- }
839
- if (androidData) {
840
- if (androidData.cta) {
841
- android['cta-deeplink'] = androidData.cta.type === "DEEP_LINK" ? "Deeplink" : "External Link";
842
- if ( androidData.cta.type === "DEEP_LINK") {
843
- android['cta-deeplink-select'] = androidData ? androidData.cta.actionLink : '';
844
- } else {
845
- android['cta-deeplink-text'] = androidData ? androidData.cta.actionLink : '';
846
- }
847
- if (androidData.cta.type === "DEEP_LINK" ) {
848
- const link = android['cta-deeplink-select'].split('?')[0];
849
- const params = android['cta-deeplink-select'].split('?')[1] && android['cta-deeplink-select'].split('?')[1].split('&');
850
- android['cta-deeplink-select'] = link;
851
- _.forEach(params, (param) => {
852
- android[`custom-value-${param.split('=')[0]}-cta-deeplink-select`] = param.split('=')[1];
853
- });
854
- }
855
- }
856
- if (androidData.expandableDetails && androidData.expandableDetails.image) {
857
- android.image = androidData.expandableDetails.image;
858
- }
859
- if (androidData.expandableDetails && androidData.expandableDetails.ctas && androidData.expandableDetails.ctas.length) {
860
- android['cta-deeplink-secondary-cta-0'] = androidData.expandableDetails.ctas[0].type === "DEEP_LINK" ? "Deeplink" : "External Link";
861
- if ( androidData.expandableDetails.ctas[0].type === "DEEP_LINK") {
862
- android['cta-deeplink-secondary-cta-0-select'] = androidData.expandableDetails.ctas[0].actionLink;
863
- } else {
864
- android['cta-deeplink-secondary-cta-0-text'] = androidData.expandableDetails.ctas[0].actionLink;
865
- }
866
- android['secondary-cta-0-label'] = androidData.expandableDetails.ctas[0].actionText;
867
- if (androidData.expandableDetails.ctas[0].type === "DEEP_LINK") {
868
- const link = android['cta-deeplink-secondary-cta-0-select'].split('?')[0];
869
- const params = android['cta-deeplink-secondary-cta-0-select'].split('?')[1] && android['cta-deeplink-secondary-cta-0-select'].split('?')[1].split('&');
870
- android['cta-deeplink-secondary-cta-0-select'] = link;
871
- _.forEach(params, (param) => {
872
- android[`custom-value-${param.split('=')[0]}-cta-deeplink-secondary-cta-0-select`] = param.split('=')[1];
873
- });
874
- }
875
- }
876
- if (androidData.expandableDetails && androidData.expandableDetails.ctas && androidData.expandableDetails.ctas.length > 1) {
877
- android['cta-deeplink-secondary-cta-1'] = androidData.expandableDetails.ctas[1].type === "DEEP_LINK" ? "Deeplink" : "External Link";
878
- if (androidData.expandableDetails.ctas[1].type === "DEEP_LINK") {
879
- android['cta-deeplink-secondary-cta-1-select'] = androidData.expandableDetails.ctas[1].actionLink;
880
- } else {
881
- android['cta-deeplink-secondary-cta-1-text'] = androidData.expandableDetails.ctas[1].actionLink;
882
- }
883
- android['secondary-cta-1-label'] = androidData.expandableDetails.ctas[1].actionText;
884
- if (androidData.expandableDetails.ctas[1].type === "DEEP_LINK" && android['cta-deeplink-secondary-cta-1-select']) {
885
- const link = android['cta-deeplink-secondary-cta-1-select'].split('?')[0];
886
- const params = android['cta-deeplink-secondary-cta-1-select'].split('?')[1] && android['cta-deeplink-secondary-cta-1-select'].split('?')[1].split('&');
887
- android['cta-deeplink-secondary-cta-1-select'] = link;
888
- _.forEach(params, (param) => {
889
- android[`custom-value-${param.split('=')[0]}-cta-deeplink-secondary-cta-1-select`] = param.split('=')[1];
890
- });
891
- }
892
- }
893
- }
894
- formData[0] = android;
895
- const ios = {};
896
- ios[`message-title2`] = iosData ? iosData.title : '';
897
- ios['message-editor2'] = iosData ? iosData.message : '';
898
- if (data.mode === "image") {
899
- ios.image = "";
900
- }
901
- if (iosData) {
902
- if (iosData.cta) {
903
- ios['cta-deeplink2'] = iosData.cta.type === "DEEP_LINK" ? "Deeplink" : "External Link";
904
- if (iosData.cta.type === "DEEP_LINK") {
905
- ios['cta-deeplink2-select'] = iosData ? iosData.cta.actionLink : '';
906
- } else {
907
- ios['cta-deeplink2-text'] = iosData ? iosData.cta.actionLink : '';
908
- }
909
- if (iosData.cta.type === "DEEP_LINK") {
910
- const link = ios['cta-deeplink2-select'].split('?')[0];
911
- let params = ios['cta-deeplink2-select'].split('?');
912
- if (params[1]) {
913
- params = params[1].split('&');
914
- _.forEach(params, (param) => {
915
- ios[`custom-value-${param.split('=')[0]}-cta-deeplink2-select`] = param.split('=')[1];
916
- });
917
- }
918
- ios['cta-deeplink2-select'] = link;
919
- }
920
- }
921
- if (iosData.expandableDetails && iosData.expandableDetails.image) {
922
- ios.image = iosData.expandableDetails.image;
923
- }
924
- if (iosData.expandableDetails && iosData.expandableDetails.ctas && iosData.expandableDetails.ctas.length) {
925
- if (iosData.expandableDetails.ctas[0].type) {
926
- ios['cta-deeplink-secondary-cta-1'] = iosData.expandableDetails.ctas[0].type === "DEEP_LINK" ? "Deeplink" : "External Link";
927
- }
928
- if (iosData.expandableDetails.ctas[0].type === "DEEP_LINK") {
929
- ios['cta-deeplink-secondary-cta-1-select2'] = iosData.expandableDetails.ctas[0].actionLink;
930
- } else {
931
- ios['cta-deeplink-secondary-cta-1-text2'] = iosData.expandableDetails.ctas[0].actionLink;
932
- }
933
- ios['secondary-cta-1-label'] = iosData.expandableDetails.ctas[0].actionText;
934
- if (iosData.expandableDetails.ctas[0].type === "DEEP_LINK" && ios['cta-deeplink-secondary-cta-1-select2']) {
935
- const link = ios['cta-deeplink-secondary-cta-1-select2'].split('?')[0];
936
- const paramsIos = ios['cta-deeplink-secondary-cta-1-select2'].split('?')[1] && ios['cta-deeplink-secondary-cta-1-select2'].split('?')[1].split('&');
937
- ios['cta-deeplink-secondary-cta-1-select2'] = link;
938
- _.forEach(paramsIos, (param) => {
939
- ios[`custom-value-${param.split('=')[0]}-cta-deeplink-secondary-cta-1-select2`] = param.split('=')[1];
940
- });
941
- }
942
- ios['secondary-cta-1-action'] = iosData.expandableDetails.ctas[0].actionLabel;
943
- if (iosData.expandableDetails.ctas[0].actionLabel2) {
944
- ios['secondary-cta-1-action2'] = iosData.expandableDetails.ctas[0].actionLabel2;
945
- }
946
- }
947
- }
948
- formData[1] = ios;
949
- formData.base = formData[0];
950
- formData[0].base = true;
951
- // formData[0].tabKey = '1';
952
- // formData[1].tabKey = '2';
953
- console.log('form data after discarding ', formData);
954
- this.getSchemaForFormData(formData, schema);
955
- this.setState({tabCount, formData, editData: data, currentTab: 1});
956
- }
957
-
958
- getSchemaForFormData = (formData, inputSchema) => {
959
- let schema = inputSchema;
960
- if (!_.isEmpty(formData[0])) {
961
- if (formData[0]['cta-deeplink']) {
962
- schema = this.addPrimaryCta(null, {id: 'add-pri-cta'}, schema, 1);
963
- schema = this.onLinkTypeChange(true, formData, {id: 'cta-deeplink'}, 1, schema);
964
- schema = this.showCtaKeys(true, formData, {id: 'cta-deeplink-select'}, 1, schema);
965
- }
966
- if (formData[0]['cta-deeplink-secondary-cta-0']) {
967
- schema = this.addSecondoryCta(null, {id: 'add-sec-cta'}, schema);
968
- schema = this.onLinkTypeChange(true, formData, {id: 'cta-deeplink-secondary-cta-0'}, 1, schema);
969
- schema = this.showCtaKeys(true, formData, {id: 'cta-deeplink-secondary-cta-0-select'}, 1, schema);
970
- }
971
- if (formData[0]['cta-deeplink-secondary-cta-1']) {
972
- schema = this.addSecondoryCta(null, {id: 'add-sec-cta'}, schema);
973
- schema = this.onLinkTypeChange(true, formData, {id: 'cta-deeplink-secondary-cta-1'}, 1, schema);
974
- schema = this.showCtaKeys(true, formData, {id: 'cta-deeplink-secondary-cta-1-select'}, 1, schema);
975
- }
976
- }
977
- if (!_.isEmpty(formData[1])) {
978
- if (formData[1]['cta-deeplink2']) {
979
- schema = this.addPrimaryCta(null, {id: 'add-pri-cta-ios'}, schema, 2);
980
- schema = this.onLinkTypeChange(true, formData, {id: 'cta-deeplink2'}, 2, schema);
981
- schema = this.showCtaKeys(true, formData, {id: 'cta-deeplink2-select'}, 2, schema);
982
- }
983
- if (formData[1]['secondary-cta-1-action']) {
984
- schema = this.showSelectedIosCta(schema, {id: 'add-sec-cta-ios'}, 2, undefined, formData[1]['cta-deeplink-secondary-cta-1']);
985
- schema = this.onLinkTypeChange(true, formData, {id: 'cta-deeplink-secondary-cta-1'}, 2, schema);
986
- schema = this.showCtaKeys(true, formData, {id: 'cta-deeplink-secondary-cta-1-select2'}, 2, schema);
987
- }
988
- }
989
- this.setState({schema, isSchemaChanged: true});
990
- this.injectEvents(schema);
991
- };
992
-
993
- setModalContent = (type) => {
994
- if (type === 'ios') {
995
- const modalContent = {
996
- title: "Alert",
997
- body: "Android template is not configured. Save without Android template",
998
- type: 'confirm',
999
- id: 'ios',
1000
- };
1001
- this.setState({modalContent, showModal: true});
1002
- } else if (type === 'android') {
1003
- const modalContent = {
1004
- title: "Alert",
1005
- body: "IOS template is not configured, Save without IOS template",
1006
- type: 'confirm',
1007
- id: 'android',
1008
- };
1009
- this.setState({modalContent, showModal: true});
1010
- }
1011
- }
1012
-
1013
- openNotificationWithIcon = (type, message) => {
1014
- const dur = (type === 'error' || type === 'warning') ? null : 5;
1015
- notification[type]({
1016
- message: (`${type.toUpperCase()} ! ! ! `),
1017
- description: message, //'This is the content of the notification. This is the content of the notification. This is the content of the notification.',
1018
- duration: dur,
1019
- });
1020
- }
1021
-
1022
- handleCancelModal = () => {
1023
- this.setState({showModal: false});
1024
- };
1025
-
1026
- insertAtCursor = (field, myValue) => {
1027
- //IE support
1028
- const myField = field;
1029
- if (document.selection) {
1030
- myField.focus();
1031
- const sel = document.selection.createRange();
1032
- sel.text = myValue;
1033
- } else if (myField.selectionStart || myField.selectionStart === '0') { //MOZILLA and others
1034
- const startPos = myField.selectionStart;
1035
- const endPos = myField.selectionEnd;
1036
- myField.value = myField.value.substring(0, startPos)
1037
- + myValue
1038
- + myField.value.substring(endPos, myField.value.length);
1039
- myField.selectionStart = startPos + myValue.length;
1040
- myField.selectionEnd = startPos + myValue.length;
1041
- } else {
1042
- myField.value += myValue;
1043
- }
1044
- const event = new Event('input', { bubbles: true });
1045
- myField.dispatchEvent(event);
1046
- };
1047
-
1048
- selectCtaIos = (selectedConfig) => {
1049
- this.showSelectedIosCta(null, null, null, selectedConfig);
1050
- };
1051
-
1052
- uploadImage = (data) => {
1053
- if (data.fileParams.error) {
1054
- const message = getMessageObject('error', this.props.intl.formatMessage(messages['File size cannot be more than 5mb']), true);
1055
- this.props.globalActions.addMessageToQueue(message);
1056
- } else {
1057
- const name = data.file.name.split('.');
1058
- const blob = data.file.slice(0, -1, 'image');
1059
- const newFile = new File([blob], `${name[0]}${Date.now()}.${name[1]}`, {type: 'image'});
1060
- this.props.actions.uploadAsset(newFile, data.type, data.fileParams);
1061
- }
1062
- };
1063
-
1064
- copyIphoneContent = () => {
1065
- const formData = _.cloneDeep(this.state.formData);
1066
- if (!!formData[1]['message-title2'] && !!formData[1]['message-editor2']) {
1067
- formData[0]['message-title'] = formData[1]['message-title2'];
1068
- formData[0]['message-editor'] = formData[1]['message-editor2'];
1069
- this.setState({formData});
1070
- } else {
1071
- this.openNotificationWithIcon('warning', "Cannot copy empty field values.");
1072
- }
1073
- };
1074
- copyAndroidContent = () => {
1075
- const formData = _.cloneDeep(this.state.formData);
1076
- if (!!formData[0]['message-title'] && formData[0]['message-editor']) {
1077
- formData[1]['message-title2'] = formData[0]['message-title'];
1078
- formData[1]['message-editor2'] = formData[0]['message-editor'];
1079
- this.setState({formData});
1080
- } else {
1081
- this.openNotificationWithIcon('warning', "Cannot copy empty field values.");
1082
- }
1083
- };
1084
-
1085
- showSelectedIosCta = (inputSchema, field, tab, selectedConfig, showDeeplink) => {
1086
- const currentTab = tab || this.state.currentTab;
1087
- const schema = inputSchema ? _.cloneDeep(inputSchema) : _.cloneDeep(this.state.schema);
1088
- const selectedWeChatAccount = (!_.isEmpty(this.props.Templates.selectedWeChatAccount) ? this.props.Templates.selectedWeChatAccount : this.props.Edit.selectedWeChatAccount);
1089
- const ck = selectedWeChatAccount.configs ? !!selectedWeChatAccount.configs.deeplink : false;
1090
- const deepLinkOptions = _.map(JSON.parse(ck ? selectedWeChatAccount.configs.deeplink : '[]'), (link) => ({label: link.name, value: link.link, title: link.link }) );
1091
-
1092
- _.forEach(schema.containers, (container) => {
1093
- _.forEach(container.panes, (pane, paneIndex) => {
1094
- _.forEach(pane.sections, (section) => {
1095
- _.forEach(section.childSections, (childeSection) => {
1096
- _.forEach(childeSection.childSections, (child) => {
1097
- const formChaild = child;
1098
- if (child.type === 'multicols') {
1099
- _.forEach(child.inputFields, (inputField, fieldIndex) => {
1100
- _.forEach(inputField.cols, (col) => {
1101
- if (col.id.indexOf(`secondary-cta-${currentTab - 1}-table`) > -1 || (field && field.id === col.id)) {
1102
- console.log(child, fieldIndex, this.state.formData);
1103
- const inputId = `secondary-cta-${paneIndex}`;
1104
-
1105
- formChaild.inputFields[fieldIndex] = {
1106
- rowClassName: 'mobile-push-row',
1107
- cols: [
1108
- {
1109
- id: `${inputId}-action-label`,
1110
- metaType: "label",
1111
- value: "Secondary CTA",
1112
- primitive: true,
1113
- dynamicTab: false,
1114
- type: "div",
1115
- width: 4,
1116
- style: {
1117
- backgroundColor: 'white',
1118
- textAlign: 'left',
1119
- color: '#333333',
1120
- lineHeight: '24px',
1121
- fontSize: '14px',
1122
- fontFamily: 'open-sans',
1123
- fontStyle: 'normal',
1124
- paddingTop: '8px',
1125
- },
1126
- offset: 0,
1127
- onlyDisplay: true,
1128
- colStyle: {
1129
- flex: 1,
1130
- },
1131
- },
1132
- {
1133
- id: `${inputId}-label`,
1134
- metaType: "label",
1135
- value: "",
1136
- primitive: true,
1137
- dynamicTab: false,
1138
- type: "div",
1139
- width: 18,
1140
- style: {
1141
- backgroundColor: 'white',
1142
- textAlign: 'left',
1143
- color: '#333333',
1144
- lineHeight: '24px',
1145
- fontSize: '14px',
1146
- fontFamily: 'open-sans',
1147
- fontStyle: 'normal',
1148
- paddingTop: '8px',
1149
- },
1150
- offset: 0,
1151
- colStyle: {
1152
- flex: 1,
1153
- },
1154
- },
1155
- {
1156
- id: `${inputId}-delete-ios`,
1157
- type: "icon",
1158
- value: 'delete',
1159
- width: 1,
1160
- submitAction: "onDelete",
1161
- supportedEvents: ["onDelete"],
1162
- },
1163
- ],
1164
- };
1165
- formChaild.inputFields[fieldIndex + 1] = {
1166
- rowClassName: 'mobile-push-row',
1167
- cols: [
1168
- {
1169
- id: `${inputId}-action-label-empty`,
1170
- metaType: "label",
1171
- value: "",
1172
- primitive: true,
1173
- dynamicTab: false,
1174
- type: "div",
1175
- width: 4,
1176
- colStyle: {
1177
- flex: 1,
1178
- },
1179
- },
1180
- {
1181
- id: `${inputId}-action`,
1182
- metaType: "label",
1183
- value: "",
1184
- primitive: true,
1185
- dynamicTab: false,
1186
- type: "div",
1187
- width: 16,
1188
- offset: 0,
1189
- },
1190
- {
1191
- id: `${inputId}-action2`,
1192
- metaType: "label",
1193
- value: "",
1194
- primitive: true,
1195
- dynamicTab: false,
1196
- type: "div",
1197
- width: 8,
1198
- offset: 0,
1199
- style: {display: 'none'},
1200
- },
1201
- ],
1202
- };
1203
- let showDeeplinkOption = selectedConfig ? (selectedConfig.id !== "16589g0g" && selectedConfig.id !== "17543720" && selectedConfig.id !== "1a491g56") : true;
1204
- if (!selectedConfig) {
1205
- showDeeplinkOption = showDeeplink;
1206
- }
1207
- if (showDeeplinkOption) {
1208
- formChaild.inputFields[fieldIndex + 2] = {
1209
- rowClassName: "mobile-push-row",
1210
- cols: [
1211
- {
1212
- id: `${inputId}-action-label-empty`,
1213
- metaType: "label",
1214
- value: "",
1215
- primitive: true,
1216
- dynamicTab: false,
1217
- type: "div",
1218
- width: 4,
1219
- offset: 0,
1220
- onlyDisplay: true,
1221
- },
1222
- {
1223
- id: `cta-deeplink-${inputId}`,
1224
- type: "radioGroup", //Resembles component to be used
1225
- metaType: "text",
1226
- datatype: "string",
1227
- options: ["Deeplink", "External Link"],
1228
- value: "Deeplink",
1229
- required: true,
1230
- width: 16,
1231
- offSet: 4,
1232
- fluid: true,
1233
- style: {
1234
- fontFamily: 'open-sans',
1235
- fontSize: '14px',
1236
- lineHeight: '24px',
1237
- },
1238
- styling: "semantic",
1239
- order: 1,
1240
- supportedEvents: ["onChange"],
1241
- customComponent: false,
1242
- },
1243
- ],
1244
- };
1245
- formChaild.inputFields[fieldIndex + 3] = {
1246
- rowClassName: 'mobile-push-row',
1247
- id: 'cta-deeplink-select-section',
1248
- cols: [
1249
- {
1250
- id: "cta-label",
1251
- metaType: "label",
1252
- value: "",
1253
- primitive: true,
1254
- dynamicTab: false,
1255
- type: "div",
1256
- width: 4,
1257
- onlyDisplay: true,
1258
- colStyle: {
1259
- flex: 1,
1260
- },
1261
- },
1262
- {
1263
- id: `cta-deeplink-${inputId}-select2`,
1264
- placeholder: "Select DeepLink",
1265
- type: "select", //Resembles component to be used
1266
- options: deepLinkOptions,
1267
- errorMessage: "Select a deeplink",
1268
- metaType: "text",
1269
- datatype: "string",
1270
- required: true,
1271
- fluid: true,
1272
- width: 19,
1273
- style: {
1274
- fontSize: '14px',
1275
- fontFamily: 'open-sans',
1276
- fontStyle: 'normal',
1277
- // fontWeight: 600,
1278
- marginBottom: '16px',
1279
- },
1280
- styling: "semantic",
1281
- order: 1,
1282
- customComponent: false,
1283
- supportedEvents: [
1284
- 'onSelect',
1285
- ],
1286
- },
1287
- ],
1288
- };
1289
- }
1290
- }
1291
- });
1292
- });
1293
- }
1294
- });
1295
- });
1296
- });
1297
- });
1298
- });
1299
- if (!inputSchema) {
1300
- this.setState({schema, initialState: this.state.initialState ? this.state.initialState : this.state.schema, isSchemaChanged: true});
1301
- this.injectEvents(schema);
1302
- }
1303
- return schema;
1304
- };
1305
-
1306
- deletePrimaryCTA = (event) => {
1307
- const selectedWeChatAccount = (!_.isEmpty(this.props.Templates.selectedWeChatAccount) ? this.props.Templates.selectedWeChatAccount : this.props.Edit.selectedWeChatAccount);
1308
- const id = event.currentTarget.id;
1309
- const schema = _.cloneDeep(this.state.schema);
1310
- // const eventsMap = _.cloneDeep(this.state.eventsMap);
1311
- const selectedDeeplink = this.state.formData[this.state.currentTab - 1][`${id.replace('delete', 'select')}`];
1312
- const formData = _.cloneDeep(this.state.formData);
1313
- const self = this;
1314
- _.forEach(schema.containers, (container) => {
1315
- _.forEach(container.panes, (pane) => {
1316
- _.forEach(pane.sections, (section) => {
1317
- _.forEach(section.childSections, (childeSection) => {
1318
- _.forEach(childeSection.childSections, (formChild) => {
1319
- const child = formChild;
1320
- if (child.type === 'multicols') {
1321
- _.forEach(child.inputFields, (inputField, fieldIndex) => {
1322
- if (inputField) {
1323
- _.forEach(inputField.cols, (col) => {
1324
- if (col.id === id) {
1325
- child.inputFields.splice(fieldIndex, 1);
1326
- if (child.inputFields[fieldIndex] && child.inputFields[fieldIndex].id === "cta-external-link") {
1327
- child.inputFields.splice(fieldIndex, 1);
1328
- delete formData[self.state.currentTab - 1][`${id.replace('delete', 'text')}`];
1329
- delete formData[self.state.currentTab - 1][`${id.replace('-delete', '')}`];
1330
- }
1331
- if (child.inputFields[fieldIndex] && child.inputFields[fieldIndex].id === "cta-deeplink-select-section") {
1332
- const ck = selectedWeChatAccount.configs ? !!selectedWeChatAccount.configs.deeplink : false;
1333
- const configkeys = selectedWeChatAccount ? _.filter(JSON.parse(ck ? selectedWeChatAccount.configs.deeplink : '[]'), (dl) => dl.link === selectedDeeplink) : [];
1334
- if (configkeys.length) {
1335
- const options = configkeys[0].keys;
1336
- _.forEach(options, (opt) => {
1337
- delete formData[this.state.currentTab - 1][`custom-value-${opt}-${id.replace('delete', 'select')}`];
1338
- });
1339
- child.inputFields = child.inputFields.slice(0, fieldIndex).concat(child.inputFields.slice( fieldIndex + options.length + 1, child.inputFields.length));
1340
- delete formData[self.state.currentTab - 1][`${id.replace('delete', 'select')}`];
1341
- delete formData[self.state.currentTab - 1][`${id.replace('-delete', '')}`];
1342
- } else {
1343
- child.inputFields.splice(fieldIndex, 1);
1344
- }
1345
- }
1346
- child.inputFields.splice(fieldIndex, 0, {
1347
- cols: [
1348
- {
1349
- id: `${this.state.currentTab === 1 ? "add-pri-cta" : "add-pri-cta-ios"}`,
1350
- metaType: "label",
1351
- value: "Add Primary CTA",
1352
- primitive: true,
1353
- dynamicTab: false,
1354
- type: "div",
1355
- style: {
1356
- backgroundColor: 'white',
1357
- textAlign: 'left',
1358
- color: '#2673D7',
1359
- lineHeight: '24px',
1360
- fontSize: '14px',
1361
- fontWeight: '600',
1362
- fontFamily: 'open-sans',
1363
- fontStyle: 'normal',
1364
- cursor: 'pointer',
1365
- },
1366
- offset: 0,
1367
- onlyDisplay: true,
1368
- colStyle: {
1369
- flex: 1,
1370
- },
1371
- submitAction: "addPrimaryCta",
1372
- supportedEvents: ["addPrimaryCta"],
1373
- },
1374
- ],
1375
- });
1376
- }
1377
- });
1378
- }
1379
- });
1380
- }
1381
- });
1382
- });
1383
- });
1384
- });
1385
- });
1386
- this.setState({schema, initialState: this.state.initialState ? this.state.initialState : this.state.schema, formData, isSchemaChanged: true});
1387
- this.injectEvents(schema);
1388
- };
1389
-
1390
- deleteSecondaryCtaIos = (event) => {
1391
- const selectedWeChatAccount = (!_.isEmpty(this.props.Templates.selectedWeChatAccount) ? this.props.Templates.selectedWeChatAccount : this.props.Edit.selectedWeChatAccount);
1392
- const id = event.currentTarget.id;
1393
- const schema = _.cloneDeep(this.state.schema);
1394
- // const eventsMap = _.cloneDeep(this.state.eventsMap);
1395
- const selectedDeeplink = this.state.formData[this.state.currentTab - 1][`cta-deeplink-${id.replace('delete-ios', 'select2')}`];
1396
- const formData = _.cloneDeep(this.state.formData);
1397
- const self = this;
1398
- const device = this.state.currentTab === 1 ? 'android' : 'ios';
1399
- _.forEach(schema.containers, (container) => {
1400
- _.forEach(container.panes, (pane) => {
1401
- _.forEach(pane.sections, (section) => {
1402
- _.forEach(section.childSections, (childeSection) => {
1403
- _.forEach(childeSection.childSections, (formChild) => {
1404
- const child = formChild;
1405
- if (child.type === 'multicols') {
1406
- _.forEach(child.inputFields, (inputField, fieldIndex) => {
1407
- if (inputField) {
1408
- _.forEach(inputField.cols, (col) => {
1409
- if (col.id === id) {
1410
- if (device === 'ios') {
1411
- child.inputFields.splice(fieldIndex, 3);
1412
- delete formData[self.state.currentTab - 1][`secondary-cta-1-action`];
1413
- delete formData[self.state.currentTab - 1][`secondary-cta-1-action2`];
1414
- delete formData[self.state.currentTab - 1][`secondary-cta-1-label`];
1415
- delete formData[self.state.currentTab - 1][`cta-deeplink-secondary-cta-1`];
1416
- }
1417
- if (child.inputFields[fieldIndex] && child.inputFields[fieldIndex].id === "cta-external-link") {
1418
- child.inputFields.splice(fieldIndex, 1);
1419
- delete formData[self.state.currentTab - 1][`cta-deeplink-secondary-cta-1-text2`];
1420
- }
1421
- if (child.inputFields[fieldIndex] && child.inputFields[fieldIndex].id === "cta-deeplink-select-section") {
1422
- const ck = selectedWeChatAccount.configs ? !!selectedWeChatAccount.configs.deeplink : false;
1423
- const configkeys = selectedWeChatAccount ? _.filter(JSON.parse(ck ? selectedWeChatAccount.configs.deeplink : '[]'), (dl) => dl.link === selectedDeeplink) : [];
1424
- if (configkeys.length) {
1425
- const options = configkeys[0].keys;
1426
- _.forEach(options, (opt) => {
1427
- delete formData[this.state.currentTab - 1][`custom-value-${opt}2-cta-deeplink-${id.replace('delete-ios', 'select2')}`];
1428
- delete formData[this.state.currentTab - 1][`custom-value-${opt}-cta-deeplink-${id.replace('delete-ios', 'select2')}`];
1429
- });
1430
- child.inputFields = child.inputFields.slice(0, fieldIndex).concat(child.inputFields.slice( fieldIndex + options.length + 1, child.inputFields.length));
1431
-
1432
- delete formData[this.state.currentTab - 1][`cta-deeplink-${id.replace('delete-ios', 'select2')}`];
1433
- } else {
1434
- child.inputFields.splice(fieldIndex, 1);
1435
- }
1436
- }
1437
- if (device === 'ios') {
1438
- child.inputFields[fieldIndex] = {
1439
- cols: [
1440
- {
1441
- id: "add-sec-cta-ios",
1442
- metaType: "label",
1443
- value: "Add Secondary CTA",
1444
- primitive: true,
1445
- dynamicTab: false,
1446
- type: "div",
1447
- style: {
1448
- backgroundColor: 'white',
1449
- textAlign: 'left',
1450
- color: '#2673D7',
1451
- lineHeight: '24px',
1452
- fontSize: '14px',
1453
- marginTop: '16px',
1454
- fontWeight: '600',
1455
- fontFamily: 'open-sans',
1456
- fontStyle: 'normal',
1457
- cursor: 'pointer',
1458
- },
1459
- offset: 0,
1460
- onlyDisplay: true,
1461
- colStyle: {
1462
- flex: 1,
1463
- },
1464
- submitAction: "addSecondaryCtaIos",
1465
- supportedEvents: ["addSecondaryCtaIos"],
1466
- },
1467
- ],
1468
- };
1469
- }
1470
- }
1471
- });
1472
- }
1473
- });
1474
- }
1475
- });
1476
- });
1477
- });
1478
- });
1479
- });
1480
-
1481
- this.setState({schema, initialState: this.state.initialState ? this.state.initialState : this.state.schema, formData, isSchemaChanged: true});
1482
- this.injectEvents(schema);
1483
- };
1484
-
1485
- deleteSecondaryCTA = (event) => {
1486
- const selectedWeChatAccount = (!_.isEmpty(this.props.Templates.selectedWeChatAccount) ? this.props.Templates.selectedWeChatAccount : this.props.Edit.selectedWeChatAccount);
1487
- const id = event.currentTarget.id;
1488
- if (id === "secondary-cta-0-delete") {
1489
- const secCta2 = document.getElementById("secondary-cta-1-delete");
1490
- if (secCta2) {
1491
- const modalContent = {title: "Alert", body: "Please delete second Secondary cta First", type: 'info', show: true, onCancel: this.onModalCancel};
1492
- this.setState({modalContent, showModal: true});
1493
- return;
1494
- }
1495
- }
1496
- const schema = _.cloneDeep(this.state.schema);
1497
- // const eventsMap = _.cloneDeep(this.state.eventsMap);
1498
- const selectedDeeplink = this.state.formData[this.state.currentTab - 1][`cta-deeplink-${id.replace('delete', 'select')}`];
1499
- const formData = _.cloneDeep(this.state.formData);
1500
- const self = this;
1501
- const device = this.state.currentTab === 1 ? 'android' : 'ios';
1502
- _.forEach(schema.containers, (container) => {
1503
- _.forEach(container.panes, (pane) => {
1504
- _.forEach(pane.sections, (section) => {
1505
- _.forEach(section.childSections, (childeSection) => {
1506
- _.forEach(childeSection.childSections, (formChild) => {
1507
- const child = formChild;
1508
- if (child.type === 'multicols') {
1509
- _.forEach(child.inputFields, (inputField, fieldIndex) => {
1510
- if (inputField) {
1511
- _.forEach(inputField.cols, (col) => {
1512
- if (col.id === id) {
1513
- if (device === 'ios') {
1514
- child.inputFields.splice(fieldIndex, 3);
1515
- } else {
1516
- child.inputFields.splice(fieldIndex, 2);
1517
- }
1518
- if (child.inputFields[fieldIndex] && child.inputFields[fieldIndex].id === "cta-external-link") {
1519
- child.inputFields.splice(fieldIndex, 1);
1520
- delete formData[self.state.currentTab - 1][`cta-deeplink-${id.replace('delete', 'text')}`];
1521
- }
1522
- if (child.inputFields[fieldIndex] && child.inputFields[fieldIndex].id === "cta-deeplink-select-section") {
1523
- const ck = selectedWeChatAccount.configs ? !!selectedWeChatAccount.configs.deeplink : false;
1524
- const configkeys = selectedWeChatAccount ? _.filter(JSON.parse(ck ? selectedWeChatAccount.configs.deeplink : '[]'), (dl) => dl.link === selectedDeeplink) : [];
1525
-
1526
- if (configkeys.length) {
1527
- const options = configkeys[0].keys;
1528
- _.forEach(options, (opt) => {
1529
- delete formData[this.state.currentTab - 1][`custom-value-${opt}-cta-deeplink-${id.replace('delete', 'select')}`];
1530
- });
1531
- child.inputFields = child.inputFields.slice(0, fieldIndex).concat(child.inputFields.slice( fieldIndex + options.length + 1, child.inputFields.length));
1532
- delete formData[this.state.currentTab - 1][`cta-deeplink-${id.replace('delete', 'select')}`];
1533
- } else {
1534
- child.inputFields.splice(fieldIndex, 1);
1535
- }
1536
- }
1537
- delete formData[this.state.currentTab - 1][`${id.replace('delete', 'label')}`];
1538
- delete formData[this.state.currentTab - 1][`cta-deeplink-${id.replace('-delete', '')}`];
1539
- if (device === 'ios') {
1540
- child.inputFields[fieldIndex] = {
1541
- cols: [
1542
- {
1543
- id: "add-sec-cta-ios",
1544
- metaType: "label",
1545
- value: "Add Secondary CTA",
1546
- primitive: true,
1547
- dynamicTab: false,
1548
- type: "div",
1549
- style: {
1550
- backgroundColor: 'white',
1551
- textAlign: 'left',
1552
- color: '#2673D7',
1553
- lineHeight: '24px',
1554
- fontSize: '14px',
1555
- marginTop: '16px',
1556
- fontWeight: '600',
1557
- fontFamily: 'open-sans',
1558
- fontStyle: 'normal',
1559
- cursor: 'pointer',
1560
- },
1561
- offset: 0,
1562
- onlyDisplay: true,
1563
- colStyle: {
1564
- flex: 1,
1565
- },
1566
- submitAction: "addSecondaryCtaIos",
1567
- supportedEvents: ["addSecondaryCtaIos"],
1568
- },
1569
- ],
1570
- };
1571
- } else {
1572
- if (child.inputFields[fieldIndex] && child.inputFields[fieldIndex].cols[0] && child.inputFields[fieldIndex].cols[0].id === "add-sec-cta") {
1573
- child.inputFields[fieldIndex] = {
1574
- cols: [
1575
- {
1576
- id: "add-sec-cta",
1577
- metaType: "label",
1578
- value: "Add Secondary CTA",
1579
- primitive: true,
1580
- dynamicTab: false,
1581
- type: "div",
1582
- style: {
1583
- backgroundColor: 'white',
1584
- textAlign: 'left',
1585
- color: '#2673D7',
1586
- lineHeight: '24px',
1587
- fontSize: '14px',
1588
- marginTop: '16px',
1589
- fontWeight: '600',
1590
- fontFamily: 'open-sans',
1591
- fontStyle: 'normal',
1592
- cursor: 'pointer',
1593
- },
1594
- offset: 0,
1595
- onlyDisplay: true,
1596
- colStyle: {
1597
- flex: 1,
1598
- },
1599
- submitAction: "addSecondaryCta",
1600
- supportedEvents: ['addSecondaryCta'],
1601
- fieldsLimit: 2,
1602
- fieldsCount: 0,
1603
- },
1604
- ],
1605
- };
1606
- }
1607
- if (id === "secondary-cta-1-delete" || child.inputFields[fieldIndex].cols[0].id === "cta-label" || child.inputFields[fieldIndex].cols[0].id === "secondary-cta-1-space") {
1608
- let nextFieldIndex = fieldIndex;
1609
- if (id === "secondary-cta-1-delete" || child.inputFields[fieldIndex].cols[0].id === "secondary-cta-1-space") {
1610
- nextFieldIndex = child.inputFields.length;
1611
- }
1612
- child.inputFields[nextFieldIndex] = {
1613
- cols: [
1614
- {
1615
- id: "add-sec-cta",
1616
- metaType: "label",
1617
- value: "Add Another CTA",
1618
- primitive: true,
1619
- dynamicTab: false,
1620
- type: "div",
1621
- style: {
1622
- backgroundColor: 'white',
1623
- textAlign: 'left',
1624
- color: '#2673D7',
1625
- lineHeight: '24px',
1626
- fontSize: '14px',
1627
- fontWeight: '600',
1628
- fontFamily: 'open-sans',
1629
- fontStyle: 'normal',
1630
- cursor: 'pointer',
1631
- },
1632
- offset: 0,
1633
- onlyDisplay: true,
1634
- colStyle: {
1635
- flex: 1,
1636
- },
1637
- submitAction: "addSecondaryCta",
1638
- supportedEvents: ['addSecondaryCta'],
1639
- fieldsLimit: 2,
1640
- fieldsCount: 1,
1641
- },
1642
- ],
1643
- };
1644
- }
1645
- }
1646
- }
1647
- });
1648
- }
1649
- });
1650
- }
1651
- });
1652
- });
1653
- });
1654
- });
1655
- });
1656
- this.setState({schema, initialState: this.state.initialState ? this.state.initialState : this.state.schema, formData, isSchemaChanged: true});
1657
- this.injectEvents(schema);
1658
- };
1659
-
1660
-
1661
- startTemplateCreation = (data) => {
1662
- console.log('startTemplateCreation', data);
1663
- if (!data.edit) {
1664
- this.setState({injectedTags: data.tags});
1665
- }
1666
- // const content = data.content;
1667
- // const id = _.uniqueId();
1668
- // // const tempData = content;
1669
- // tempData.base = true;
1670
- // tempData.tabKey = id;
1671
- // const formData = {};
1672
- // formData[0] = tempData
1673
- // formData.base = tempData;
1674
- //this.setState({formData, loading: false});
1675
- };
1676
- discardValues = () => {
1677
- console.log('discarding', this.props.Edit);
1678
- this.resetSchema();
1679
- this.setState({
1680
- formData: {},
1681
- tabCount: 1,
1682
- currentTab: 1,
1683
- editData: {},
1684
- }, () => {
1685
- const schema = this.props.Edit.templateDetails.mode === "image" ? this.state.fullSchema.imageSchema : this.state.fullSchema.textSchema;
1686
- this.setEditState(this.props.Edit.templateDetails, schema);
1687
- });
1688
- };
1689
- resetSchema = () => {
1690
- this.setState({ schema: this.state.initialState ? this.state.initialState : this.state.schema});
1691
- };
1692
- showNext = () => {
1693
- const response = {
1694
- action: "showNext",
1695
- value: true,
1696
- };
1697
- parent.postMessage(JSON.stringify(response), '*');
1698
- };
1699
- copyContent = () => {
1700
-
1701
- };
1702
- moveToTemplates = () => {
1703
- console.log('in move to Templates');
1704
- const modalContent = {
1705
- title: "Alert",
1706
- body: "Do you really want to go back? All your temporary changes will be lost!",
1707
- type: 'confirm',
1708
- id: 'template-back-confirm-modal',
1709
- show: true,
1710
- };
1711
- this.setState({modalContent, showModal: true});
1712
- };
1713
- injectSections = (sections) => {
1714
- _.forEach(sections, (section) => {
1715
- let temp = section;
1716
- if (temp.type === 'col-label') {
1717
- temp = this.injectColLabelSection(temp);
1718
- } else if (section.type === 'multicols') {
1719
- temp = this.injectMultiColSection(temp);
1720
- } else if (section.type === 'parent') {
1721
- temp = this.injectSections(temp.childSections);
1722
- }
1723
- });
1724
- return sections;
1725
- };
1726
- injectMultiColSection = (section) => {
1727
- _.forEach(section.inputFields, (inputField) => {
1728
- _.forEach(inputField.cols, (col) => {
1729
- const temp = col;
1730
- if (temp.type === 'popover') {
1731
- temp.content.sections = this.injectSections(temp.content.sections);
1732
- temp.value.sections = this.injectSections(temp.value.sections);
1733
- return true;
1734
- }
1735
- temp.injectedEvents = {};
1736
- temp.className = temp.className ? temp.className : '';
1737
- if (this.props.location.query.type === 'embedded' && (temp.type === "div" || temp.type === "icon" || temp.type === "tag-list") && (temp.supportedEvents)) {
1738
- temp.className = `${temp.className} hide`;
1739
- }
1740
- if (this.props.location.query.type === 'embedded' && (temp.type === "input" || temp.type === "textarea" || temp.type === "radioGroup")) {
1741
- temp.className = `${temp.className} disabled`;
1742
- temp.disabled = true;
1743
- }
1744
- if (this.props.location.query.type === 'embedded' && temp.id === "mobilepush-template" ) {
1745
- temp.options = this.state.templateOptions ? this.state.templateOptions : [];
1746
- }
1747
- if (this.props.location.query.type === 'embedded' && temp.id === "mobilepush-accounts" ) {
1748
- temp.options = this.state.templateOptions ? this.state.accountsOptions : [];
1749
- }
1750
- if (temp.id === "mobile-push-preview" && this.props.Templates.selectedWeChatAccount && !_.isEmpty(this.props.Templates.selectedWeChatAccount)) {
1751
- temp.content.appName = this.props.Templates.selectedWeChatAccount.name;
1752
- }
1753
- _.forEach(col.supportedEvents, (event) => {
1754
- console.log('injected event for ', col, event, this.getMappedEvent(col.id, event));
1755
- temp.injectedEvents[event] = this.getMappedEvent(col.id, event);
1756
- });
1757
- return true;
1758
- });
1759
- });
1760
- _.forEach(section.actionFields, (actionField) => {
1761
- _.forEach(actionField.cols, (col) => {
1762
- const temp = col;
1763
- temp.disabled = this.props.location.query.type === 'embedded';
1764
- if (temp.type === 'popover') {
1765
- temp.content.sections = this.injectSections(temp.content.sections);
1766
- temp.value.sections = this.injectSections(temp.value.sections);
1767
- return true;
1768
- }
1769
- temp.injectedEvents = {};
1770
- _.forEach(col.supportedEvents, (event) => {
1771
- temp.injectedEvents[event] = this.getMappedEvent(col.id, event);
1772
- });
1773
- return true;
1774
- });
1775
- });
1776
- return section;
1777
- };
1778
-
1779
- saveFormData = (formData) => {
1780
- console.log('Saving form data', formData, this.state.tabCount);
1781
- const obj = this.getTransformedData(formData);
1782
- console.log('obj', obj);
1783
- this.props.actions.editTemplate(obj);
1784
- };
1785
- handleFrameTasks = (e) => {
1786
- // console.log('data listened to is', e.data);
1787
- const type = e.data;
1788
- console.log('data type', typeof type);
1789
- if (typeof type === 'object') {
1790
- // console.log('received something', type);
1791
- const action = type.action;
1792
- switch (action) {
1793
- case "startTemplateCreation":
1794
- this.startTemplateCreation(type.value);
1795
- break;
1796
- case "startLoading":
1797
- this.startLoading(type.edit);
1798
- break;
1799
- case "getCurrentWindow":
1800
- this.getCurrentWindow(type);
1801
- break;
1802
- default:
1803
- break;
1804
- }
1805
- } else {
1806
- switch (type) {
1807
- case "getFormData":
1808
- this.getFormData(e);
1809
- break;
1810
- case "startTemplateCreation":
1811
- console.log('Starting to create template');
1812
- //this.getFormData(e);
1813
- break;
1814
- case "moveToTemplates":
1815
- console.log('moving to templates');
1816
- this.moveToTemplates();
1817
- break;
1818
- case "validateContent":
1819
- console.log('validating Content');
1820
- this.validateContent(e);
1821
- break;
1822
- default:
1823
- break;
1824
- }
1825
- }
1826
- };
1827
-
1828
- cancelTemplate = () => {
1829
- const type = this.props.location.query.type;
1830
- const module = this.props.location.query.module ? this.props.location.query.module : 'default';
1831
- this.props.router.push({
1832
- pathname: `/mobilepush/`,
1833
- query: type === 'embedded' ? {type: 'embedded', module} : {module},
1834
- });
1835
- };
1836
-
1837
- showCtaKeys = (eventTriggered, formData, field, tabIndex, schemaInput) => {
1838
- const selectedWeChatAccount = (!_.isEmpty(this.props.Templates.selectedWeChatAccount) ? this.props.Templates.selectedWeChatAccount : this.props.Edit.selectedWeChatAccount);
1839
- const currentTab = tabIndex || this.state.currentTab;
1840
- const schema = _.cloneDeep(schemaInput || this.state.schema);
1841
- const eventsMap = _.cloneDeep(this.state.eventsMap);
1842
- _.forEach(schema.containers, (container) => {
1843
- _.forEach(container.panes, (pane) => {
1844
- _.forEach(pane.sections, (section) => {
1845
- _.forEach(section.childSections, (childeSection) => {
1846
- _.forEach(childeSection.childSections, (child) => {
1847
- const formChaild = child;
1848
- if (child.type === 'multicols') {
1849
- _.forEach(child.inputFields, (inputField, fieldIndex) => {
1850
- _.forEach(inputField.cols, (col) => {
1851
- if (col.id === field.id) {
1852
- const formDataKey = col.id.replace("-show-keys", "");
1853
- const ck = selectedWeChatAccount.configs ? !!selectedWeChatAccount.configs.deeplink : false;
1854
- let keys = selectedWeChatAccount ? _.filter(JSON.parse(ck ? selectedWeChatAccount.configs.deeplink : '[]'), (dl) => dl.link === formData[currentTab - 1][formDataKey]) : [];
1855
- if (keys[0]) {
1856
- keys = keys[0].keys;
1857
- }
1858
- let rows = _.map(keys, (key) => {
1859
- const row = {
1860
- rowClassName: 'mobile-push-row',
1861
- id: 'cta-deeplink-keys',
1862
- cols: [
1863
- {
1864
- id: `${key}-space`,
1865
- metaType: "label",
1866
- value: "",
1867
- primitive: true,
1868
- dynamicTab: false,
1869
- type: "div",
1870
- width: 4,
1871
- offset: 0,
1872
- onlyDisplay: true,
1873
- colStyle: {
1874
- flex: 1,
1875
- },
1876
- },
1877
- {
1878
- id: `${key}-label`,
1879
- metaType: "label",
1880
- value: key.replace('_', " "),
1881
- primitive: true,
1882
- dynamicTab: false,
1883
- type: "div",
1884
- width: 5,
1885
- style: {
1886
- backgroundColor: 'white',
1887
- textAlign: 'left',
1888
- lineHeight: '24px',
1889
- fontSize: '14px',
1890
- fontFamily: 'open-sans',
1891
- fontStyle: 'normal',
1892
- cursor: 'pointer',
1893
- paddingTop: '8px',
1894
- },
1895
- offset: 0,
1896
- onlyDisplay: true,
1897
- colStyle: {
1898
- flex: 1,
1899
- },
1900
- },
1901
- {
1902
- id: `custom-value-${key}-${col.id}`,
1903
- label: "value",
1904
- type: "input", //Resembles component to be used
1905
- metaType: "text",
1906
- datatype: "string",
1907
- required: true,
1908
- width: 14,
1909
- placeholder: `Please input ${key.replace('_', " ")}.`,
1910
- fluid: true,
1911
- styling: "semantic",
1912
- order: 1,
1913
- disabled: this.props.location.query.type === 'embedded',
1914
- customComponent: false,
1915
- errorMessage: "value cannot be empty.",
1916
- },
1917
- ],
1918
- };
1919
- //eventsMap[`custome-${key}`] = {"onChange": this.onMessageTitleChange};
1920
- return row;
1921
- // formChaild.inputFields[fieldIndex + index] = field;
1922
- });
1923
- console.log(formChaild);
1924
- console.log("this in getctakeys", this);
1925
- if (!tabIndex) { // removes the existing selected options keys so that newly selected options keys can be added.
1926
- const configkeys = _.filter(JSON.parse(ck ? selectedWeChatAccount.configs.deeplink : '[]'), (dl) => dl.link === this.state.formData[currentTab - 1][field.id]);
1927
- if (configkeys.length) {
1928
- const options = configkeys[0].keys;
1929
- formChaild.inputFields = formChaild.inputFields.slice(0, fieldIndex + 1).concat(formChaild.inputFields.slice(fieldIndex + options.length + 1, formChaild.inputFields.length));
1930
- // delete formData[self.state.currentTab - 1][`cta-deeplink-${id.replace('delete', 'select')}`];
1931
- // delete formData[self.state.currentTab - 1][`cta-deeplink-${id.replace('-delete', '')}`];
1932
- }
1933
- }
1934
- if (formChaild.inputFields[fieldIndex + 1] && formChaild.inputFields[fieldIndex + 1].id === "cta-deeplink-keys") {
1935
- rows = formChaild.inputFields.slice(0, fieldIndex + 1).concat(rows).concat(formChaild.inputFields.slice(fieldIndex + 1, formChaild.inputFields.length));
1936
- formChaild.inputFields = rows;
1937
- } else {
1938
- rows = formChaild.inputFields.slice(0, fieldIndex + 1).concat(rows).concat(formChaild.inputFields.slice(fieldIndex + 1, formChaild.inputFields.length));
1939
- formChaild.inputFields = rows;
1940
- }
1941
- }
1942
- });
1943
- });
1944
- }
1945
- });
1946
- });
1947
- });
1948
- });
1949
- });
1950
- if (tabIndex) {
1951
- return schema;
1952
- }
1953
- this.setState({schema, initialState: this.state.initialState ? this.state.initialState : this.state.schema, eventsMap, isSchemaChanged: true});
1954
- this.injectEvents(schema);
1955
- return schema;
1956
- };
1957
- addPrimaryCta = (ev, field, inputSchema) => {
1958
- const selectedWeChatAccount = (!_.isEmpty(this.props.Templates.selectedWeChatAccount) ? this.props.Templates.selectedWeChatAccount : this.props.Edit.selectedWeChatAccount);
1959
- const id = field ? field.id : ev.target.id;
1960
- const schema = inputSchema ? _.cloneDeep(inputSchema) : _.cloneDeep(this.state.schema);
1961
- const ck = selectedWeChatAccount.configs ? !!selectedWeChatAccount.configs.deeplink : false;
1962
- const deepLinkOptions = selectedWeChatAccount ? _.map(JSON.parse(ck ? selectedWeChatAccount.configs.deeplink : '[]'), (link) => ({label: link.name, value: link.link, title: link.link }) ) : [];
1963
- // const eventsMap = _.cloneDeep(this.state.eventsMap);
1964
- _.forEach(schema.containers, (container) => {
1965
- _.forEach(container.panes, (pane) => {
1966
- _.forEach(pane.sections, (section) => {
1967
- _.forEach(section.childSections, (childeSection) => {
1968
- _.forEach(childeSection.childSections, (child) => {
1969
- if (child.type === 'multicols') {
1970
- _.forEach(child.inputFields, (inputField, fieldIndex) => {
1971
- _.forEach(inputField.cols, (col) => {
1972
- const colId = `${col.id}${this.state.currentTab > 1 ? this.state.currentTab : ''}`;
1973
- if (colId === id) {
1974
- console.log(child.inputFields, fieldIndex);
1975
- child.inputFields.splice(fieldIndex, 1, {
1976
- rowClassName: 'mobile-push-row',
1977
- cols: [
1978
- {
1979
- id: "cta-label",
1980
- metaType: "label",
1981
- value: "Primary CTA",
1982
- primitive: true,
1983
- dynamicTab: false,
1984
- type: "div",
1985
- width: 4,
1986
- style: {
1987
- backgroundColor: 'white',
1988
- textAlign: 'left',
1989
- color: '#333333',
1990
- lineHeight: '24px',
1991
- fontSize: '14px',
1992
- fontFamily: 'open-sans',
1993
- fontStyle: 'normal',
1994
- },
1995
- offset: 0,
1996
- onlyDisplay: true,
1997
- colStyle: {
1998
- flex: 1,
1999
- },
2000
- },
2001
- {
2002
- id: `cta-deeplink${id === 'add-pri-cta' ? '' : 2}`,
2003
- type: "radioGroup", //Resembles component to be used
2004
- metaType: "text",
2005
- datatype: "string",
2006
- options: ["Deeplink", "External Link"],
2007
- value: "Deeplink",
2008
- required: true,
2009
- width: 18,
2010
- errorMessage: "Please select link type",
2011
- fluid: true,
2012
- styling: "semantic",
2013
- order: 1,
2014
- customComponent: false,
2015
- disabled: this.props.location.query.type === 'embedded',
2016
- supportedEvents: ["onChange"],
2017
- },
2018
- {
2019
- id: `cta-deeplink${id === 'add-pri-cta' ? '' : 2}-delete`,
2020
- type: "icon",
2021
- value: 'delete',
2022
- width: 1,
2023
- submitAction: "onDelete",
2024
- supportedEvents: ["onDelete"],
2025
- },
2026
- ],
2027
- });
2028
- child.inputFields.splice(fieldIndex + 1, 0, {
2029
- rowClassName: 'mobile-push-row',
2030
- id: 'cta-deeplink-select-section',
2031
- cols: [
2032
- {
2033
- id: "cta-label",
2034
- metaType: "label",
2035
- value: "",
2036
- primitive: true,
2037
- dynamicTab: false,
2038
- type: "div",
2039
- width: 4,
2040
- onlyDisplay: true,
2041
- colStyle: {
2042
- flex: 1,
2043
- },
2044
- },
2045
- {
2046
- id: `cta-deeplink${id === 'add-pri-cta' ? '' : 2}-select`,
2047
- placeholder: "Select DeepLink",
2048
- type: "select", //Resembles component to be used
2049
- options: deepLinkOptions,
2050
- errorMessage: "Select a deeplink",
2051
- metaType: "text",
2052
- datatype: "string",
2053
- required: true,
2054
- fluid: true,
2055
- width: 19,
2056
- style: {
2057
- fontSize: '14px',
2058
- fontFamily: 'open-sans',
2059
- fontStyle: 'normal',
2060
- // fontWeight: 600,
2061
- marginBottom: '16px',
2062
- },
2063
- styling: "semantic",
2064
- order: 1,
2065
- disabled: this.props.location.query.type === 'embedded',
2066
- customComponent: false,
2067
- supportedEvents: [
2068
- 'onSelect',
2069
- ],
2070
- },
2071
- ],
2072
- });
2073
- }
2074
- });
2075
- });
2076
- }
2077
- });
2078
- });
2079
- });
2080
- });
2081
- });
2082
- if (inputSchema) {
2083
- return schema;
2084
- }
2085
- this.setState({schema, initialState: this.state.initialState ? this.state.initialState : this.state.schema, isSchemaChanged: true});
2086
- this.injectEvents(schema);
2087
- return schema;
2088
- };
2089
-
2090
- addSecondoryCta = (ev, field, inputSchema) => {
2091
- const id = field ? field.id : ev.target.id;
2092
- const schema = inputSchema ? _.cloneDeep(inputSchema) : _.cloneDeep(this.state.schema);
2093
- const selectedWeChatAccount = (!_.isEmpty(this.props.Templates.selectedWeChatAccount) ? this.props.Templates.selectedWeChatAccount : this.props.Edit.selectedWeChatAccount);
2094
- const ck = selectedWeChatAccount.configs ? !!selectedWeChatAccount.configs.deeplink : false;
2095
- const deepLinkOptions = selectedWeChatAccount ? _.map(JSON.parse(ck ? selectedWeChatAccount.configs.deeplink : '[]'), (link) => ({label: link.name, value: link.link, title: link.link }) ) : [];
2096
-
2097
- // const eventsMap = _.cloneDeep(this.state.eventsMap);
2098
- _.forEach(schema.containers, (container) => {
2099
- _.forEach(container.panes, (pane) => {
2100
- _.forEach(pane.sections, (section) => {
2101
- _.forEach(section.childSections, (childeSection) => {
2102
- _.forEach(childeSection.childSections, (child) => {
2103
- if (child.type === 'multicols') {
2104
- _.forEach(child.inputFields, (inputField, fieldIndex) => {
2105
- _.forEach(inputField.cols, (col) => {
2106
- if (col.id === id) {
2107
- if (col.fieldsCount < col.fieldsLimit) {
2108
- const inputId = `secondary-cta-${col.fieldsCount}`;
2109
- console.log(child.inputFields, fieldIndex);
2110
- child.inputFields.splice(fieldIndex, 0, {
2111
- rowClassName: 'mobile-push-row',
2112
- cols: [
2113
- {
2114
- id: `${inputId}-space`,
2115
- metaType: "label",
2116
- value: "Secondary CTA",
2117
- primitive: true,
2118
- dynamicTab: false,
2119
- type: "div",
2120
- width: 4,
2121
- style: {
2122
- backgroundColor: 'white',
2123
- textAlign: 'left',
2124
- color: '#333333',
2125
- lineHeight: '24px',
2126
- fontSize: '14px',
2127
- fontFamily: 'open-sans',
2128
- fontStyle: 'normal',
2129
- paddingTop: '8px',
2130
- },
2131
- offset: 0,
2132
- onlyDisplay: true,
2133
- colStyle: {
2134
- flex: 1,
2135
- },
2136
- },
2137
- {
2138
- id: `${inputId}-label`,
2139
- label: "link",
2140
- type: "input", //Resembles component to be used
2141
- metaType: "text",
2142
- datatype: "string",
2143
- required: true,
2144
- width: 18,
2145
- offset: 4,
2146
- placeholder: "Enter CTA Label here",
2147
- fluid: true,
2148
- styling: "semantic",
2149
- order: 1,
2150
- customComponent: false,
2151
- errorMessage: "CTA label cannot be empty.",
2152
- },
2153
- {
2154
- id: `${inputId}-delete`,
2155
- type: "icon",
2156
- value: 'delete',
2157
- width: 1,
2158
- submitAction: "onDelete",
2159
- supportedEvents: ["onDelete"],
2160
- },
2161
- ],
2162
- });
2163
- child.inputFields.splice(fieldIndex + 1, 0, {
2164
- rowClassName: 'mobile-push-row',
2165
- cols: [
2166
- {
2167
- id: `${inputId}-label-space`,
2168
- metaType: "label",
2169
- value: "",
2170
- primitive: true,
2171
- dynamicTab: false,
2172
- type: "div",
2173
- width: 4,
2174
- style: {
2175
- backgroundColor: 'white',
2176
- textAlign: 'left',
2177
- color: '#333333',
2178
- lineHeight: '24px',
2179
- fontSize: '14px',
2180
- fontFamily: 'open-sans',
2181
- fontStyle: 'normal',
2182
- paddingTop: '8px',
2183
- },
2184
- offset: 0,
2185
- onlyDisplay: true,
2186
- colStyle: {
2187
- flex: 1,
2188
- },
2189
- },
2190
- {
2191
- id: `cta-deeplink-${inputId}`,
2192
- type: "radioGroup", //Resembles component to be used
2193
- metaType: "text",
2194
- datatype: "string",
2195
- options: ["Deeplink", "External Link"],
2196
- value: "Deeplink",
2197
- required: true,
2198
- width: 16,
2199
- fluid: true,
2200
- styling: "semantic",
2201
- order: 1,
2202
- style: {
2203
- lineHeight: '24px',
2204
- fontSize: '14px',
2205
- },
2206
- disabled: this.props.location.query.type === 'embedded',
2207
- customComponent: false,
2208
- supportedEvents: ["onChange"],
2209
- },
2210
- ],
2211
- });
2212
- child.inputFields.splice(fieldIndex + 2, 0, {
2213
- rowClassName: 'mobile-push-row',
2214
- id: 'cta-deeplink-select-section',
2215
- cols: [
2216
- {
2217
- id: "cta-label",
2218
- metaType: "label",
2219
- value: "",
2220
- primitive: true,
2221
- dynamicTab: false,
2222
- type: "div",
2223
- width: 4,
2224
- onlyDisplay: true,
2225
- colStyle: {
2226
- flex: 1,
2227
- },
2228
- },
2229
- {
2230
- id: `cta-deeplink-${inputId}-select`,
2231
- placeholder: "Select DeepLink",
2232
- type: "select", //Resembles component to be used
2233
- options: deepLinkOptions,
2234
- errorMessage: "Select a deeplink",
2235
- metaType: "text",
2236
- datatype: "string",
2237
- required: true,
2238
- fluid: true,
2239
- width: 19,
2240
- style: {
2241
- fontSize: '14px',
2242
- fontFamily: 'open-sans',
2243
- fontStyle: 'normal',
2244
- // fontWeight: 600,
2245
- marginBottom: '16px',
2246
- },
2247
- styling: "semantic",
2248
- order: 1,
2249
- disabled: this.props.location.query.type === 'embedded',
2250
- customComponent: false,
2251
- supportedEvents: [
2252
- 'onSelect',
2253
- ],
2254
- },
2255
- ],
2256
- });
2257
-
2258
- const colField = col;
2259
- colField.value = "Add Another CTA";
2260
- colField.fieldsCount += 1;
2261
- if (col.fieldsCount === col.fieldsLimit) {
2262
- child.inputFields.pop();
2263
- }
2264
- // eventsMap[`cta-deeplink-${inputId}`] = {"onChange": this.onLinkTypeChange};
2265
- }
2266
- }
2267
- });
2268
- });
2269
- }
2270
- });
2271
- });
2272
- });
2273
- });
2274
- });
2275
- if (inputSchema) {
2276
- return schema;
2277
- }
2278
- this.setState({schema, initialState: this.state.initialState ? this.state.initialState : this.state.schema, isSchemaChanged: true});
2279
- this.injectEvents(schema);
2280
- return schema;
2281
- };
2282
-
2283
- addSecondoryCtaIos = (ev) => {
2284
- const id = ev.target.id;
2285
- const selectedWeChatAccount = (!_.isEmpty(this.props.Templates.selectedWeChatAccount) ? this.props.Templates.selectedWeChatAccount : this.props.Edit.selectedWeChatAccount);
2286
- const schema = _.cloneDeep(this.state.schema);
2287
- _.forEach(schema.containers, (container) => {
2288
- _.forEach(container.panes, (pane, paneIndex) => {
2289
- _.forEach(pane.sections, (section) => {
2290
- _.forEach(section.childSections, (childeSection) => {
2291
- _.forEach(childeSection.childSections, (child) => {
2292
- if (child.type === 'multicols') {
2293
- _.forEach(child.inputFields, (inputField, fieldIndex) => {
2294
- _.forEach(inputField.cols, (col) => {
2295
- const colId = (paneIndex + 1) > 1 ? col.id + (paneIndex + 1) : col.id;
2296
- if (colId === id) {
2297
- const inputId = `secondary-cta-${paneIndex}`;
2298
- console.log(child.inputFields, fieldIndex);
2299
- child.inputFields.splice(fieldIndex, 1, {
2300
- rowClassName: 'mobile-push-row',
2301
- cols: [
2302
- {
2303
- id: `${inputId}-label`,
2304
- metaType: "label",
2305
- value: "Secondary CTA",
2306
- primitive: true,
2307
- dynamicTab: false,
2308
- type: "div",
2309
- width: 4,
2310
- style: {
2311
- backgroundColor: 'white',
2312
- textAlign: 'left',
2313
- color: '#333333',
2314
- lineHeight: '24px',
2315
- fontSize: '14px',
2316
- fontFamily: 'open-sans',
2317
- fontStyle: 'normal',
2318
- paddingTop: '8px',
2319
- },
2320
- offset: 0,
2321
- onlyDisplay: true,
2322
- colStyle: {
2323
- flex: 1,
2324
- },
2325
- },
2326
- {
2327
- id: `${inputId}-table`,
2328
- type: "table", //Resembles component to be used
2329
- metaType: "text",
2330
- datatype: "string",
2331
- pagination: false,
2332
- columns: [
2333
- {
2334
- title: "Name and Description",
2335
- dataIndex: "name",
2336
- key: "name",
2337
- width: 200,
2338
- render: (text, record) => (
2339
- <div>
2340
- <div>{record.name}</div>
2341
- <div>{record.description}</div>
2342
- </div>),
2343
- },
2344
- {
2345
- title: "Button 1",
2346
- dataIndex: "description",
2347
- key: "button1",
2348
- width: 100,
2349
- render: (text, record) => (
2350
- <div>
2351
- {record.ctaTemplateDetails[0].buttonText}
2352
- </div>),
2353
- },
2354
- {
2355
- title: "Button 2",
2356
- dataIndex: "description",
2357
- key: "button2",
2358
- width: 100,
2359
- render: (text, record) => (
2360
- <div>
2361
- {record.ctaTemplateDetails[1] ? record.ctaTemplateDetails[1].buttonText : ''}
2362
- </div>
2363
- ),
2364
- },
2365
- ],
2366
- required: true,
2367
- width: 16,
2368
- fluid: true,
2369
- styling: "semantic",
2370
- order: 1,
2371
- customComponent: false,
2372
- supportedEvents: ["onRowClick"],
2373
- },
2374
- ],
2375
- });
2376
-
2377
- const colField = col;
2378
- colField.value = "Add Another CTA";
2379
- colField.fieldsCount += 1;
2380
- if (col.fieldsCount === col.fieldsLimit) {
2381
- child.inputFields.pop();
2382
- }
2383
- }
2384
- });
2385
- });
2386
- }
2387
- });
2388
- });
2389
- });
2390
- });
2391
- });
2392
- this.setState({schema, initialState: this.state.initialState ? this.state.initialState : this.state.schema, isSchemaChanged: true});
2393
- this.injectEvents(schema);
2394
- this.props.actions.getIosCtas(selectedWeChatAccount.sourceAccountIdentifier);//TODO: need to get license code of accoutn and send as arg
2395
- };
2396
-
2397
- injectContainer = (container) => {
2398
- const temp = container;
2399
- if (temp.type === 'tabs') {
2400
- temp.injectedEvents = {};
2401
- _.forEach(temp.supportedEvents, (event) => {
2402
- temp.injectedEvents[event] = this.getMappedEvent(temp.id, event);
2403
- });
2404
- _.forEach(temp.panes, (pane) => {
2405
- const tempPane = pane;
2406
- tempPane.sectionsHeaders = this.injectSections(tempPane.sectionsHeaders);
2407
- tempPane.sections = this.injectSections(tempPane.sections);
2408
- });
2409
- }
2410
- return temp;
2411
- };
2412
-
2413
- injectEvents = (schema) => {
2414
- const temp = schema;
2415
- if (this.injectSections) {
2416
- temp.standalone.sections = this.injectSections(temp.standalone.sections);
2417
- }
2418
- _.forEach(temp.containers, (container) => {
2419
- let tempContainer = container;
2420
- tempContainer = this.injectContainer(tempContainer);
2421
- return tempContainer;
2422
- });
2423
- console.log('final injected schema', schema);
2424
- this.setState({schema}, () => {
2425
- this.removeStandAlone();
2426
- });
2427
- return schema;
2428
- };
2429
- removeStandAlone = () => {
2430
- const schema = _.cloneDeep(this.state.schema);
2431
- if (this.props.location.query.type === 'embedded' && this.props.location.query.module === 'loyalty') {
2432
- if (schema.standalone.sections.length === 2) {
2433
- schema.standalone.sections.splice(0, 1);
2434
- }
2435
- } else if (this.props.location.query.type === 'embedded') {
2436
- delete schema.standalone;
2437
- } else {
2438
- schema.standalone.sections.splice(1, 1);
2439
- }
2440
- this.setState({ schema });
2441
- };
2442
- handleOnTagsContextChange = (data) => {
2443
- console.log('parent tags context', data);
2444
- const query = {
2445
- layout: 'mobilepush',
2446
- type: 'TAG',
2447
- context: data.toLowerCase() === 'all' ? 'default' : data.toLowerCase(),
2448
- embedded: this.props.location.query.type === 'embedded' ? this.props.location.query.type : 'full',
2449
- };
2450
- this.props.globalActions.fetchSchemaForEntity(query);
2451
- };
2452
-
2453
- render() {
2454
- const schema = this.state.schema;
2455
- let tipText = this.props.Edit && ("getTemplateDetailsInProgress" in this.props.Edit && this.props.Edit.getTemplateDetailsInProgress) ? 'Getting template details...' : '';
2456
- tipText = this.props.Edit && ("editTemplateInProgress" in this.props.Edit && this.props.Edit.editTemplateInProgress) ? 'Saving Template...' : '';
2457
- const spinning = this.props.Edit.fetchingDefaultTemplates || this.props.Edit.assetUploading || this.state.loading || (this.props.Edit && (("getTemplateDetailsInProgress" in this.props.Edit && this.props.Edit.getTemplateDetailsInProgress) || ("editTemplateInProgress" in this.props.Edit && this.props.Edit.editTemplateInProgress)));
2458
- return (
2459
- <div>
2460
- <Spin tip={tipText} spinning={spinning}>
2461
- {<Row style={{marginBottom: '16px', marginLeft: '-40px'}}>
2462
- <Col offset={1}>
2463
- <Breadcrumb>
2464
- <BreadcrumbItem>Campaigns</BreadcrumbItem>
2465
- <BreadcrumbItem>Creatives</BreadcrumbItem>
2466
- <BreadcrumbItem>Mobile Push</BreadcrumbItem>
2467
- </Breadcrumb>
2468
- </Col>
2469
- </Row>}
2470
- <Row>
2471
- <Col>
2472
- <FormBuilder
2473
- schema={schema}
2474
- onSubmit={this.saveFormData}
2475
- onChange={this.onFormDataChange}
2476
- formData={_.cloneDeep(this.state.formData)}
2477
- currentTab={this.state.currentTab}
2478
- parent={this}
2479
- location={this.props.location}
2480
- isEdit
2481
- tabCount={2}
2482
- iosCtasData={this.state.iosCtasData}
2483
- tags={this.props.metaEntities && this.props.metaEntities.tags ? this.props.metaEntities.tags.standard : []}
2484
- injectedTags={this.state.injectedTags ? this.state.injectedTags : {}}
2485
- onFormValidityChange={this.setFormValidity}
2486
- usingTabContainer
2487
- checkValidation={this.state.checkValidation}
2488
- onContextChange={this.handleOnTagsContextChange}
2489
- showModal={this.state.showModal}
2490
- iframeParent={parent}
2491
- router={this.props.router}
2492
- isSchemaChanged={this.state.isSchemaChanged}
2493
- handleCancelModal={this.handleCancelModal}
2494
- modal={this.state.modalContent}
2495
- setModalContent={this.setModalContent}
2496
- />
2497
- </Col>
2498
- </Row>
2499
- </Spin>
2500
- </div>
2501
- );
2502
- }
2503
- }
2504
-
2505
- Edit.propTypes = {
2506
- actions: PropTypes.object.isRequired,
2507
- Edit: PropTypes.object,
2508
- params: PropTypes.object,
2509
- router: PropTypes.object,
2510
- location: PropTypes.object,
2511
- globalActions: PropTypes.object,
2512
- templatesActions: PropTypes.object,
2513
- Templates: PropTypes.object,
2514
- metaEntities: PropTypes.object,
2515
- templateDetails: PropTypes.object,
2516
- intl: intlShape.isRequired,
2517
- };
2518
-
2519
- const mapStateToProps = createStructuredSelector({
2520
- Edit: makeSelectEdit(),
2521
- Create: makeSelectCreate(),
2522
- editResponse: makeSelectEditResponse(),
2523
- templateDetails: makeSelectTemplateDetailsResponse(),
2524
- metaEntities: makeSelectMetaEntities(),
2525
- Templates: makeSelectTemplates(),
2526
- });
2527
-
2528
- function mapDispatchToProps(dispatch) {
2529
- return {
2530
- actions: bindActionCreators(actions, dispatch),
2531
- globalActions: bindActionCreators(globalActions, dispatch),
2532
- templatesActions: bindActionCreators(templatesActions, dispatch),
2533
- };
2534
- }
2535
-
2536
- export default connect(mapStateToProps, mapDispatchToProps)(injectIntl(Edit));