@capillarytech/creatives-library 2.0.81 → 2.0.83

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 (241) hide show
  1. package/components/CapTagList/index.js +24 -21
  2. package/components/CardGrid/index.js +10 -16
  3. package/components/Ckeditor/index.js +1 -2
  4. package/components/CustomPopOver/index.js +1 -1
  5. package/components/EmailPreview/index.js +2 -3
  6. package/components/FormBuilder/_formBuilder.scss +15 -8
  7. package/components/FormBuilder/index.js +192 -258
  8. package/components/Header/index.js +1 -4
  9. package/components/PreviewSideBar/_previewsidebar.scss +1 -1
  10. package/components/PreviewSideBar/index.js +5 -3
  11. package/components/TemplatePreview/WechatRichmediaTemplatePreview/index.js +3 -2
  12. package/components/TemplatePreview/_templatePreview.scss +1 -1
  13. package/components/TemplatePreview/index.js +47 -47
  14. package/components/TemplatePreview/messages.js +1 -9
  15. package/containers/Assets/Gallery/index.js +1 -1
  16. package/containers/Email/index.js +1 -1
  17. package/containers/Login/components/LoginForm/index.js +1 -1
  18. package/containers/Templates/index.js +1 -1
  19. package/containers/WeChat/RichmediaTemplates/Create/index.js +1 -1
  20. package/package.json +2 -1
  21. package/v2Components/BreadCrumbs/index.js +65 -0
  22. package/v2Components/BreadCrumbs/messages.js +13 -0
  23. package/v2Components/BreadCrumbs/tests/index.test.js +10 -0
  24. package/v2Components/CallTaskPreview/_callTaskPreview.scss +17 -0
  25. package/v2Components/CallTaskPreview/images/Footer.png +0 -0
  26. package/v2Components/CallTaskPreview/images/Header.png +0 -0
  27. package/v2Components/CallTaskPreview/index.js +37 -0
  28. package/v2Components/CallTaskPreview/messages.js +13 -0
  29. package/v2Components/CallTaskPreview/tests/index.test.js +15 -0
  30. package/v2Components/CapTagList/index.js +232 -0
  31. package/v2Components/CapTagList/messages.js +25 -0
  32. package/{containers/TemplatesV2 → v2Components/CapTagList}/tests/index.test.js +2 -2
  33. package/v2Components/Card/_customCard.scss +27 -0
  34. package/v2Components/Card/index.js +78 -0
  35. package/{containers/WeChat → v2Components/Card}/tests/index.test.js +2 -2
  36. package/v2Components/CardGrid/index.js +77 -0
  37. package/{containers/EmailWrapper → v2Components/CardGrid}/tests/index.test.js +2 -2
  38. package/v2Components/Ckeditor/index.js +234 -0
  39. package/v2Components/Ckeditor/messages.js +13 -0
  40. package/{containers/ChannelTemplates → v2Components/Ckeditor}/tests/index.test.js +2 -2
  41. package/v2Components/CmsTemplatesComponent/index.js +33 -0
  42. package/v2Components/CmsTemplatesComponent/messages.js +17 -0
  43. package/v2Components/CmsTemplatesComponent/tests/index.test.js +10 -0
  44. package/v2Components/Component/index.js +29 -0
  45. package/v2Components/Component/tests/index.test.js +10 -0
  46. package/v2Components/CustomPopOver/index.js +82 -0
  47. package/v2Components/CustomPopOver/messages.js +13 -0
  48. package/v2Components/CustomPopOver/tests/index.test.js +10 -0
  49. package/v2Components/DateFilter/index.js +349 -0
  50. package/v2Components/DateFilter/messages.js +17 -0
  51. package/v2Components/DateFilter/tests/index.test.js +15 -0
  52. package/v2Components/DateRange/index.js +113 -0
  53. package/v2Components/DateRange/messages.js +13 -0
  54. package/v2Components/DateRange/tests/index.test.js +10 -0
  55. package/v2Components/Edmeditor/index.js +65 -0
  56. package/v2Components/Edmeditor/messages.js +13 -0
  57. package/v2Components/Edmeditor/tests/index.test.js +10 -0
  58. package/v2Components/EmailMobilePreview/index.js +129 -0
  59. package/v2Components/EmailMobilePreview/index.scss +55 -0
  60. package/v2Components/EmailPreview/_emailPreview.scss +119 -0
  61. package/v2Components/EmailPreview/index.js +106 -0
  62. package/v2Components/EmailPreview/messages.js +17 -0
  63. package/v2Components/EmailPreview/tests/index.test.js +10 -0
  64. package/v2Components/EmailPreviewV2/_emailPreviewV2.scss +69 -0
  65. package/v2Components/EmailPreviewV2/index.js +132 -0
  66. package/v2Components/EmailPreviewV2/messages.js +41 -0
  67. package/v2Components/EmailPreviewV2/tests/index.test.js +10 -0
  68. package/v2Components/Footer/index.js +27 -0
  69. package/v2Components/Footer/messages.js +13 -0
  70. package/v2Components/Footer/tests/index.test.js +10 -0
  71. package/v2Components/FormBuilder/_formBuilder.scss +78 -0
  72. package/v2Components/FormBuilder/index.js +3309 -0
  73. package/v2Components/FormBuilder/messages.js +13 -0
  74. package/v2Components/FormBuilder/tests/index.test.js +10 -0
  75. package/v2Components/Header/index.js +46 -0
  76. package/v2Components/Header/messages.js +25 -0
  77. package/v2Components/Header/tests/index.test.js +10 -0
  78. package/v2Components/ImagePreview/_imagePreview.scss +63 -0
  79. package/v2Components/ImagePreview/index.js +52 -0
  80. package/v2Components/ImagePreview/messages.js +13 -0
  81. package/v2Components/ImagePreview/tests/index.test.js +10 -0
  82. package/v2Components/MobilePushPreviewV2/index.js +120 -0
  83. package/v2Components/MobilePushPreviewV2/messages.js +13 -0
  84. package/{containers/MobilepushWrapper → v2Components/MobilePushPreviewV2}/tests/index.test.js +2 -2
  85. package/v2Components/NewCallTask/_newCallTask.scss +9 -0
  86. package/v2Components/NewCallTask/index.js +152 -0
  87. package/v2Components/NewCallTask/messages.js +29 -0
  88. package/{containers/CallTask → v2Components/NewCallTask}/tests/index.test.js +2 -2
  89. package/v2Components/PageHeader/_pageHeader.scss +22 -0
  90. package/v2Components/PageHeader/index.js +37 -0
  91. package/v2Components/PageHeader/messages.js +13 -0
  92. package/v2Components/PageHeader/tests/index.test.js +10 -0
  93. package/v2Components/Pagination/_pagination.scss +5 -0
  94. package/v2Components/Pagination/index.js +49 -0
  95. package/v2Components/Pagination/tests/index.test.js +10 -0
  96. package/v2Components/PreviewSideBar/_previewsidebar.scss +28 -0
  97. package/v2Components/PreviewSideBar/index.js +150 -0
  98. package/v2Components/PreviewSideBar/messages.js +33 -0
  99. package/v2Components/PreviewSideBar/tests/index.test.js +10 -0
  100. package/v2Components/Sidebar/_sidebar.scss +115 -0
  101. package/v2Components/Sidebar/index.js +208 -0
  102. package/v2Components/Sidebar/messages.js +21 -0
  103. package/v2Components/Sidebar/tests/index.test.js +10 -0
  104. package/v2Components/SlideBox/_slideBox.scss +63 -0
  105. package/v2Components/SlideBox/index.js +48 -0
  106. package/v2Components/SlideBox/tests/index.test.js +103 -0
  107. package/v2Components/SmsEditor/index.js +55 -0
  108. package/v2Components/SmsEditor/tests/index.test.js +10 -0
  109. package/v2Components/SmsTest/index.js +115 -0
  110. package/v2Components/SmsTest/messages.js +13 -0
  111. package/v2Components/SmsTest/tests/index.test.js +10 -0
  112. package/v2Components/TemplatePreview/WechatRichmediaTemplatePreview/_wechatRichmediaTemplatePrev.scss +42 -0
  113. package/v2Components/TemplatePreview/WechatRichmediaTemplatePreview/index.js +139 -0
  114. package/v2Components/TemplatePreview/WechatRichmediaTemplatePreview/messages.js +21 -0
  115. package/v2Components/TemplatePreview/WechatRichmediaTemplatePreview/tests/index.test.js +10 -0
  116. package/v2Components/TemplatePreview/_templatePreview.scss +352 -0
  117. package/v2Components/TemplatePreview/assets/images/WECHAT_5x.png +0 -0
  118. package/v2Components/TemplatePreview/assets/images/androidPushMessage.svg +45 -0
  119. package/v2Components/TemplatePreview/assets/images/iPhonePushMessage.svg +135 -0
  120. package/v2Components/TemplatePreview/assets/images/mobile.svg +24 -0
  121. package/v2Components/TemplatePreview/assets/images/sms-body.png +0 -0
  122. package/v2Components/TemplatePreview/assets/images/sms-icon.png +0 -0
  123. package/v2Components/TemplatePreview/assets/images/sms_mobile.png +0 -0
  124. package/v2Components/TemplatePreview/assets/images/user-icon.svg +19 -0
  125. package/v2Components/TemplatePreview/assets/images/wechat-mobile.svg +78 -0
  126. package/v2Components/TemplatePreview/index.js +175 -0
  127. package/v2Components/TemplatePreview/messages.js +37 -0
  128. package/v2Components/TemplatePreview/tests/index.test.js +10 -0
  129. package/v2Components/Toastr/index.js +60 -0
  130. package/v2Components/Toastr/messages.js +13 -0
  131. package/v2Components/Toastr/tests/index.test.js +10 -0
  132. package/v2Components/ToastrMessage/index.js +110 -0
  133. package/v2Components/ToastrMessage/messages.js +13 -0
  134. package/v2Components/ToastrMessage/tests/index.test.js +10 -0
  135. package/v2Components/TopBar/_topbar.scss +46 -0
  136. package/v2Components/TopBar/assets/images/capillary_logo.png +0 -0
  137. package/v2Components/TopBar/index.js +113 -0
  138. package/v2Components/TopBar/messages.js +29 -0
  139. package/v2Components/TopBar/tests/index.test.js +10 -0
  140. package/v2Containers/Assets/Gallery/index.js +1 -1
  141. package/v2Containers/CallTask/index.js +1 -1
  142. package/v2Containers/Cap/index.js +2 -2
  143. package/v2Containers/CreativesContainer/SlideBoxContent.js +3 -3
  144. package/v2Containers/CreativesContainer/index.js +1 -0
  145. package/v2Containers/Dashboard/index.js +2 -2
  146. package/v2Containers/Ebill/index.js +2 -2
  147. package/v2Containers/Email/index.js +13 -13
  148. package/v2Containers/EmailWrapper/index.js +1 -1
  149. package/v2Containers/Line/Create/index.js +1 -1
  150. package/v2Containers/Line/Edit/index.js +1 -1
  151. package/v2Containers/Login/index.js +1 -1
  152. package/v2Containers/MobilePush/Create/index.js +26 -3
  153. package/v2Containers/MobilePush/Edit/index.js +32 -7
  154. package/v2Containers/MobilePush/initialSchema.js +2 -0
  155. package/v2Containers/Sms/Create/index.js +1 -1
  156. package/v2Containers/Sms/Edit/index.js +1 -1
  157. package/v2Containers/TagList/index.js +1 -1
  158. package/v2Containers/Templates/index.js +4 -4
  159. package/v2Containers/TestPage/index.js +1 -1
  160. package/v2Containers/WeChat/MapTemplates/index.js +3 -3
  161. package/v2Containers/WeChat/RichmediaTemplates/Create/index.js +3 -3
  162. package/components/FormBuilder/test +0 -1845
  163. package/containers/CallTask/_callTask.scss +0 -5
  164. package/containers/CallTask/actions.js +0 -15
  165. package/containers/CallTask/constants.js +0 -7
  166. package/containers/CallTask/index.js +0 -141
  167. package/containers/CallTask/messages.js +0 -21
  168. package/containers/CallTask/reducer.js +0 -23
  169. package/containers/CallTask/sagas.js +0 -11
  170. package/containers/CallTask/selectors.js +0 -25
  171. package/containers/CallTask/tests/actions.test.js +0 -18
  172. package/containers/CallTask/tests/reducer.test.js +0 -9
  173. package/containers/CallTask/tests/sagas.test.js +0 -15
  174. package/containers/CallTask/tests/selectors.test.js +0 -10
  175. package/containers/ChannelTemplates/actions.js +0 -20
  176. package/containers/ChannelTemplates/constants.js +0 -8
  177. package/containers/ChannelTemplates/index.js +0 -48
  178. package/containers/ChannelTemplates/messages.js +0 -13
  179. package/containers/ChannelTemplates/reducer.js +0 -34
  180. package/containers/ChannelTemplates/sagas.js +0 -32
  181. package/containers/ChannelTemplates/selectors.js +0 -25
  182. package/containers/ChannelTemplates/tests/actions.test.js +0 -18
  183. package/containers/ChannelTemplates/tests/reducer.test.js +0 -9
  184. package/containers/ChannelTemplates/tests/sagas.test.js +0 -15
  185. package/containers/ChannelTemplates/tests/selectors.test.js +0 -10
  186. package/containers/CreativesContainer/SlideBoxContent.js +0 -248
  187. package/containers/CreativesContainer/SlideBoxFooter.js +0 -38
  188. package/containers/CreativesContainer/SlideBoxHeader.js +0 -65
  189. package/containers/CreativesContainer/actions.js +0 -27
  190. package/containers/CreativesContainer/constants.js +0 -13
  191. package/containers/CreativesContainer/index.js +0 -418
  192. package/containers/CreativesContainer/index.scss +0 -27
  193. package/containers/CreativesContainer/messages.js +0 -17
  194. package/containers/CreativesContainer/reducer.js +0 -29
  195. package/containers/CreativesContainer/sagas.js +0 -11
  196. package/containers/CreativesContainer/selectors.js +0 -30
  197. package/containers/CreativesContainer/tests/actions.test.js +0 -18
  198. package/containers/CreativesContainer/tests/index.test.js +0 -10
  199. package/containers/CreativesContainer/tests/reducer.test.js +0 -9
  200. package/containers/CreativesContainer/tests/sagas.test.js +0 -15
  201. package/containers/CreativesContainer/tests/selectors.test.js +0 -10
  202. package/containers/EmailWrapper/actions.js +0 -15
  203. package/containers/EmailWrapper/constants.js +0 -7
  204. package/containers/EmailWrapper/index.js +0 -238
  205. package/containers/EmailWrapper/messages.js +0 -57
  206. package/containers/EmailWrapper/reducer.js +0 -23
  207. package/containers/EmailWrapper/sagas.js +0 -11
  208. package/containers/EmailWrapper/selectors.js +0 -25
  209. package/containers/EmailWrapper/tests/actions.test.js +0 -18
  210. package/containers/EmailWrapper/tests/reducer.test.js +0 -9
  211. package/containers/EmailWrapper/tests/sagas.test.js +0 -15
  212. package/containers/EmailWrapper/tests/selectors.test.js +0 -10
  213. package/containers/MobilePush/commonMethods.js +0 -249
  214. package/containers/MobilePush/eventsMap.js +0 -127
  215. package/containers/MobilePush/initialSchema.js +0 -1739
  216. package/containers/MobilepushWrapper/_mobilepushWrapper.scss +0 -18
  217. package/containers/MobilepushWrapper/index.js +0 -97
  218. package/containers/MobilepushWrapper/messages.js +0 -25
  219. package/containers/TemplatesV2/_templatesV2.scss +0 -5
  220. package/containers/TemplatesV2/actions.js +0 -16
  221. package/containers/TemplatesV2/constants.js +0 -10
  222. package/containers/TemplatesV2/index.js +0 -207
  223. package/containers/TemplatesV2/messages.js +0 -29
  224. package/containers/TemplatesV2/selectors.js +0 -25
  225. package/containers/TemplatesV2/tests/actions.test.js +0 -18
  226. package/containers/TemplatesV2/tests/reducer.test.js +0 -9
  227. package/containers/TemplatesV2/tests/sagas.test.js +0 -15
  228. package/containers/TemplatesV2/tests/selectors.test.js +0 -10
  229. package/containers/WeChat/RichmediaTemplates/Create/testschema.js +0 -379
  230. package/containers/WeChat/_wechat.scss +0 -8
  231. package/containers/WeChat/actions.js +0 -52
  232. package/containers/WeChat/constants.js +0 -28
  233. package/containers/WeChat/index.js +0 -1635
  234. package/containers/WeChat/messages.js +0 -73
  235. package/containers/WeChat/reducer.js +0 -74
  236. package/containers/WeChat/sagas.js +0 -86
  237. package/containers/WeChat/selectors.js +0 -25
  238. package/containers/WeChat/tests/actions.test.js +0 -18
  239. package/containers/WeChat/tests/reducer.test.js +0 -9
  240. package/containers/WeChat/tests/sagas.test.js +0 -15
  241. package/containers/WeChat/tests/selectors.test.js +0 -10
@@ -12,9 +12,9 @@ import moment from 'moment';
12
12
  import 'moment/locale/zh-cn';
13
13
  import { injectIntl, intlShape } from 'react-intl';
14
14
  import {CapNotification} from '@capillarytech/cap-ui-library';
15
- import TopBar from '../../components/TopBar';
15
+ import TopBar from '../../v2Components/TopBar';
16
16
  // import 'moment/locale/en-us';
17
- import Sidebar from '../../components/Sidebar';
17
+ import Sidebar from '../../v2Components/Sidebar';
18
18
  import { makeSelectAuthenticated, makeSelectUser } from './selectors';
19
19
  import * as actions from './actions';
20
20
  import * as locationActions from '../LanguageProvider/actions';
@@ -2,14 +2,14 @@ import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import styled from 'styled-components';
4
4
  import TemplatesV2 from '../TemplatesV2';
5
- import TemplatePreview from '../../components/TemplatePreview';
5
+ import TemplatePreview from '../../v2Components/TemplatePreview';
6
6
  import SmsCreate from '../Sms/Create';
7
7
  import SmsEdit from '../Sms/Edit';
8
8
  import Email from '../Email';
9
9
  import EmailWrapper from '../EmailWrapper';
10
10
  import MobilepushWrapper from '../MobilepushWrapper';
11
- import EmailPreviewV2 from '../../components/EmailPreviewV2';
12
- import MobilePushPreview from '../../components/MobilePushPreviewV2';
11
+ import EmailPreviewV2 from '../../v2Components/EmailPreviewV2';
12
+ import MobilePushPreview from '../../v2Components/MobilePushPreviewV2';
13
13
  import CallTask from '../CallTask';
14
14
  import MobliPushEdit from '../MobilePush/Edit';
15
15
  import * as constants from './constants';
@@ -80,6 +80,7 @@ class Creatives extends React.Component {
80
80
 
81
81
  onShowTemplates = () => {
82
82
  this.setState({ slidBoxContent: 'templates', showSlideBox: true, isGetFormData: false });
83
+ this.resetStep();
83
84
  };
84
85
  onChannelChange = (channel) => {
85
86
  this.setState({currentChannel: channel});
@@ -9,8 +9,8 @@ import makeSelectDashboard from './selectors';
9
9
  import messages from './messages';
10
10
  import { UserIsAuthenticated } from '../../../utils/authWrapper';
11
11
  import * as actions from './actions';
12
- import PageHeader from '../../components/PageHeader';
13
- import BreadCrumbs from '../../components/BreadCrumbs/index';
12
+ import PageHeader from '../../v2Components/PageHeader';
13
+ import BreadCrumbs from '../../v2Components/BreadCrumbs/index';
14
14
  export class Dashboard extends React.Component { // eslint-disable-line react/prefer-stateless-function
15
15
  render() {
16
16
  const breadCrumbLocations = [
@@ -15,7 +15,7 @@ import { injectIntl, intlShape } from 'react-intl';
15
15
  import _ from 'lodash';
16
16
  import { createStructuredSelector } from 'reselect';
17
17
  import * as actions from './actions';
18
- import FormBuilder from '../../components/FormBuilder';
18
+ import FormBuilder from '../../v2Components/FormBuilder';
19
19
  import { makeSelectMetaEntities, makeSelectAuthenticated, setInjectedTags } from '../Cap/selectors';
20
20
  import * as globalActions from '../../containers/Cap/actions';
21
21
  import { UserIsAuthenticated } from '../../utils/authWrapper';
@@ -23,7 +23,7 @@ import { makeSelectTemplates } from '../Templates/selectors';
23
23
  import {getMessageObject} from '../../utils/messageUtils';
24
24
  import makeSelectEbill from './selectors';
25
25
  import messages from './messages';
26
- import EmailPreview from '../../components/EmailPreview';
26
+ import EmailPreview from '../../v2Components/EmailPreview';
27
27
  import './_ebill.scss';
28
28
  import callNativeEvent from '../../utils/callNativeEvent';
29
29
  const BreadcrumbItem = Breadcrumb.Item;
@@ -15,7 +15,7 @@ import { CapButton, CapInput, CapSpin, CapSlideBox, CapCustomCard } from '@capil
15
15
  import { createStructuredSelector } from 'reselect';
16
16
  import _ from 'lodash';
17
17
  import moment from "moment";
18
- import FormBuilder from '../../components/FormBuilder';
18
+ import FormBuilder from '../../v2Components/FormBuilder';
19
19
  import { makeSelectMetaEntities, selectCurrentOrgDetails, isLoadingMetaEntities, makeSelectAuthenticated, setInjectedTags } from '../Cap/selectors';
20
20
  import * as actions from './actions';
21
21
  import * as templatesActions from '../Templates/actions';
@@ -24,12 +24,12 @@ import { UserIsAuthenticated } from '../../utils/authWrapper';
24
24
  import {makeSelectEmail} from './selectors';
25
25
  import { makeSelectTemplates } from '../Templates/selectors';
26
26
  import messages from './messages';
27
- // import PageHeader from '../../components/PageHeader';
27
+ // import PageHeader from '../../v2Components/PageHeader';
28
28
  import './_email.scss';
29
29
  import {getMessageObject} from '../../utils/messageUtils';
30
- import EmailPreview from '../../components/EmailPreview';
30
+ import EmailPreview from '../../v2Components/EmailPreview';
31
31
 
32
- import Pagination from '../../components/Pagination';
32
+ import Pagination from '../../v2Components/Pagination';
33
33
  import * as creativesContainerActions from '../CreativesContainer/actions';
34
34
  const {CapCustomCardList} = CapCustomCard;
35
35
  export class Email extends React.Component { // eslint-disable-line react/prefer-stateless-function
@@ -604,15 +604,13 @@ export class Email extends React.Component { // eslint-disable-line react/prefer
604
604
  const langIndex = formData[this.state.currentTab - 1].selectedLanguages.indexOf(langId);
605
605
  const win = document.getElementById(`edmeditor${(langIndex + 1) > 1 ? (langIndex + 1) : ''}`).contentWindow;
606
606
  win.postMessage(msgString, '*');
607
+ } else if (data === "unsubscribe") {
608
+ const anchor = `<a href='{{${data}}}'>${data}</a>`;
609
+ this.state.editorInstanse.insertHtml(`${anchor}`);
607
610
  } else {
608
- if (data === "unsubscribe") {
609
- const anchor = `<a href='{{${data}}}'>${data}</a>`;
610
- this.state.editorInstanse.insertHtml(`${anchor}`);
611
- } else {
612
- this.state.editorInstanse.insertHtml(`{{${data}}}`);
613
- }
614
- //this.resetCkEditorInstance(currentTab, formData, true, data);
611
+ this.state.editorInstanse.insertHtml(`{{${data}}}`);
615
612
  }
613
+ //this.resetCkEditorInstance(currentTab, formData, true, data);
616
614
  }
617
615
 
618
616
  onImageSelect = () => {
@@ -866,7 +864,9 @@ export class Email extends React.Component { // eslint-disable-line react/prefer
866
864
 
867
865
 
868
866
  this.setState({ formData, schema, tabKey, currentTab, tabCount: editData.versions.history.length, loadingStatus: this.state.loadingStatus + 1 }, () => {
869
- this.props.showTemplateName({formData, onFormDataChange: this.onFormDataChange});
867
+ if (this.props.isFullMode) {
868
+ this.props.showTemplateName({formData, onFormDataChange: this.onFormDataChange});
869
+ }
870
870
  _.forEach((editData.versions.base.selectedLanguages), (language) => {
871
871
  // if (formData[this.state.currentTab - 1].tabKey === formData[this.state.currentTab - 1][language].tabKey) {
872
872
  // formData[this.state.currentTab - 1].activeTab = language;
@@ -1214,7 +1214,7 @@ export class Email extends React.Component { // eslint-disable-line react/prefer
1214
1214
  const baseData = {};
1215
1215
  const baseLanguage = props.currentOrgDetails.basic_details.base_language;
1216
1216
  this.supportedLanguages = this.getSupportedLanguages(props);
1217
- const languageObject = this.supportedLanguages[_.findIndex(this.supportedLanguages, {iso_code: baseLanguage})];
1217
+ const languageObject = this.supportedLanguages[_.findIndex(this.supportedLanguages, {iso_code: baseLanguage})] || {iso_code: 'en', lang_id: 1, language: "English"};
1218
1218
  baseData.activeTab = baseLanguage;
1219
1219
  baseData[languageObject.iso_code] = {};
1220
1220
  baseData[languageObject.iso_code].is_drag_drop = false;
@@ -17,7 +17,7 @@ import { UserIsAuthenticated } from '../../utils/authWrapper';
17
17
  import {selectEmailLayout, selectCmsTemplates, selectEdmEditor, uploadSelector} from '../Templates/selectors';
18
18
  import * as templatesActionsCreators from '../Templates/actions';
19
19
  import Email from '../Email';
20
- import CmsTemplatesComponent from '../../components/CmsTemplatesComponent';
20
+ import CmsTemplatesComponent from '../../v2Components/CmsTemplatesComponent';
21
21
  import messages from './messages';
22
22
  const CapRadioCardWithLabel = ComponentWithLabelHOC(CapRadioCard);
23
23
  const CardContainer = styled.div`
@@ -8,7 +8,7 @@ import { Row, Col, Spin, Breadcrumb } from 'antd';
8
8
  import _ from 'lodash';
9
9
  import messages from './messages';
10
10
  import * as actions from './actions';
11
- import FormBuilder from '../../../components/FormBuilder';
11
+ import FormBuilder from '../../../v2Components/FormBuilder';
12
12
  import { UserIsAuthenticated } from '../../../utils/authWrapper';
13
13
  import * as globalActions from '../../../containers/Cap/actions';
14
14
  //import { makeSelectCreate, makeSelectCreateResponse, makeSelectEdit, makeSelectEditResponse, makeSelectTemplateDetailsResponse } from './selectors';
@@ -17,7 +17,7 @@ import _ from 'lodash';
17
17
  import {makeSelectEdit, makeSelectEditResponse, makeSelectTemplateDetailsResponse} from "../../MobilePush/Edit/selectors";
18
18
  import {makeSelectMetaEntities, setInjectedTags} from "../../Cap/selectors";
19
19
  import {getMessageObject} from "../../../utils/messageUtils";
20
- import FormBuilder from '../../../components/FormBuilder';
20
+ import FormBuilder from '../../../v2Components/FormBuilder';
21
21
  import * as globalActions from "../../Cap/actions";
22
22
  import * as actions from "../../MobilePush/Edit/actions";
23
23
  import * as templatesActions from "../../Templates/actions";
@@ -10,7 +10,7 @@ import { createStructuredSelector } from 'reselect';
10
10
  import makeSelectLogin from './selectors';
11
11
  import messages from './messages';
12
12
  import config from '../../config/app';
13
- import LoginForm from './components/LoginForm';
13
+ import LoginForm from './v2Components/LoginForm';
14
14
  import * as actions from '../../containers/Cap/actions';
15
15
  import { UserIsNotAuthenticated } from '../../utils/authWrapper';
16
16
  import loaderGif from '../../assets/loading_img.gif';
@@ -18,7 +18,7 @@ import { CapSlideBox, CapHeader, CapTable, CapLink, CapRow, CapColumn, CapIcons,
18
18
  import { makeSelectCreate, makeSelectCreateResponse, makeSelectIosCta } from './selectors';
19
19
  import { makeSelectMetaEntities, setInjectedTags } from '../../Cap/selectors';
20
20
  import * as globalActions from '../../../containers/Cap/actions';
21
- import FormBuilder from '../../../components/FormBuilder';
21
+ import FormBuilder from '../../../v2Components/FormBuilder';
22
22
  import './_mobilePushCreate.scss';
23
23
  import * as actions from './actions';
24
24
 
@@ -151,7 +151,7 @@ export class Create extends React.Component { // eslint-disable-line react/prefe
151
151
 
152
152
  };
153
153
 
154
- onFormDataChange = (formData, tabCount) => {
154
+ onFormDataChange = (formData, tabCount, currentTab, inputField) => {
155
155
  const newFormData = cloneDeep(formData);
156
156
  const {templateCta} = this.state;
157
157
  if (!isEmpty(templateCta)) {
@@ -187,6 +187,11 @@ export class Create extends React.Component { // eslint-disable-line react/prefe
187
187
  if (this.props.isFullMode && this.props.defaultData && isEmpty(formData['template-name'])) {
188
188
  newFormData['template-name'] = get(this.props, "defaultData['template-name']");
189
189
  }
190
+ if (inputField && inputField.id === "add-sec-cta") {
191
+ if (!newFormData[0]["add-sec-cta"]) {
192
+ newFormData[0]["add-sec-cta-2"] = false;
193
+ }
194
+ }
190
195
  this.setState({formData: newFormData, tabCount, isSchemaChanged: !this.state.isSchemaChanged}, () => {
191
196
  if (this.props.isFullMode) {
192
197
  this.props.showTemplateName({formData: this.state.formData, onFormDataChange: this.onFormDataChange});
@@ -1169,6 +1174,7 @@ export class Create extends React.Component { // eslint-disable-line react/prefe
1169
1174
  addSecondoryCta = (flag, formData, schemaField) => {
1170
1175
  const id = schemaField.id;
1171
1176
  const schema = cloneDeep(this.state.schema);
1177
+ const formDataCopy = cloneDeep(formData);
1172
1178
  const ck = this.props.Templates.selectedWeChatAccount.configs ? !!this.props.Templates.selectedWeChatAccount.configs.deeplink : false;
1173
1179
  const deeplinks = ck ? this.props.Templates.selectedWeChatAccount.configs.deeplink : '[]';
1174
1180
  const deepLinkOptions = this.props.Templates.selectedWeChatAccount ? map(JSON.parse(deeplinks), (link) => ({label: link.name, value: link.link, title: link.link }) ) : [];
@@ -1270,7 +1276,24 @@ export class Create extends React.Component { // eslint-disable-line react/prefe
1270
1276
  }
1271
1277
  });
1272
1278
  });
1273
- this.setState({schema, initialState: this.state.initialState ? this.state.initialState : this.state.schema, isSchemaChanged: true}, () => { this.injectEvents(schema); });
1279
+ if (id === "add-sec-cta") {
1280
+ //The following block of code enables and disables add secondary button based on the primary button
1281
+ const indexOfSecondary = findIndex(inputFields, {identifier: 'add-sec-cta-2'});
1282
+ inputFields[indexOfSecondary].cols[0].disabled = !formData[this.state.currentTab - 1][id];
1283
+ //Calling the following function to unset the data set under secondary button
1284
+ if (!formData[this.state.currentTab - 1][id]) {
1285
+ formDataCopy[this.state.currentTab - 1]['add-sec-cta-2'] = false;
1286
+ }
1287
+ //Calling set state here to update the state and schema before manually triggering secondarycta update
1288
+ this.setState(
1289
+ {schema, initialState: this.state.initialState ? this.state.initialState : this.state.schema, isSchemaChanged: true},
1290
+ () => {
1291
+ this.injectEvents(schema);
1292
+ this.addSecondoryCta(true, formDataCopy, inputFields[indexOfSecondary].cols[0]);
1293
+ });
1294
+ } else {
1295
+ this.setState({schema, initialState: this.state.initialState ? this.state.initialState : this.state.schema, isSchemaChanged: true}, () => { this.injectEvents(schema); });
1296
+ }
1274
1297
  };
1275
1298
  copyIphoneContent = () => {
1276
1299
  const formData = cloneDeep(this.state.formData);
@@ -19,7 +19,7 @@ import styled from 'styled-components';
19
19
  import {makeSelectEdit, makeSelectEditResponse, makeSelectTemplateDetailsResponse, makeSelectIosCta} from "./selectors";
20
20
  import {makeSelectMetaEntities, setInjectedTags, isLoadingMetaEntities} from "../../Cap/selectors";
21
21
  import {getMessageObject} from "../../../utils/messageUtils";
22
- import FormBuilder from '../../../components/FormBuilder';
22
+ import FormBuilder from '../../../v2Components/FormBuilder';
23
23
  import * as globalActions from "../../Cap/actions";
24
24
  import * as actions from "../../MobilePush/Edit/actions";
25
25
  import * as templatesActions from "../../Templates/actions";
@@ -189,7 +189,7 @@ export class Edit extends React.Component { // eslint-disable-line react/prefer-
189
189
  }
190
190
  });
191
191
  };
192
- onFormDataChange = (formData, tabCount, currentTab) => {
192
+ onFormDataChange = (formData, tabCount, currentTab, inputField) => {
193
193
  console.log('Form data changed is ', formData, tabCount, currentTab);
194
194
  const newFormData = _.cloneDeep(formData);
195
195
  const {templateCta} = this.state;
@@ -218,6 +218,11 @@ export class Edit extends React.Component { // eslint-disable-line react/prefer-
218
218
  if (this.props.isFullMode && this.props.defaultData && _.isEmpty(formData['template-name'])) {
219
219
  newFormData['template-name'] = _.get(this.props, "defaultData['template-name']");
220
220
  }
221
+ if (inputField && inputField.id === "add-sec-cta") {
222
+ if (!newFormData[0]["add-sec-cta"]) {
223
+ newFormData[0]["add-sec-cta-2"] = false;
224
+ }
225
+ }
221
226
  this.setState({formData: newFormData, tabCount}, () => {
222
227
  this.props.showTemplateName({formData: this.state.formData, onFormDataChange: this.onFormDataChange});
223
228
  });
@@ -1604,6 +1609,7 @@ export class Edit extends React.Component { // eslint-disable-line react/prefer-
1604
1609
  addSecondoryCta = (flag, formData, field, inputSchema, currentTab) => {
1605
1610
  const id = field.id;
1606
1611
  const tabIndex = currentTab || this.state.currentTab;
1612
+ const formDataCopy = cloneDeep(formData);
1607
1613
  const schema = inputSchema ? _.cloneDeep(inputSchema) : _.cloneDeep(this.state.schema);
1608
1614
  const selectedWeChatAccount = (!_.isEmpty(this.props.Templates.selectedWeChatAccount) ? this.props.Templates.selectedWeChatAccount : this.props.Edit.selectedWeChatAccount);
1609
1615
  const ck = selectedWeChatAccount.configs ? !!selectedWeChatAccount.configs.deeplink : false;
@@ -1619,13 +1625,32 @@ export class Edit extends React.Component { // eslint-disable-line react/prefer-
1619
1625
  const deleteCount = indexOfNextField - fieldIndex;
1620
1626
  newInputFields = [...inputFields.slice(0, fieldIndex + 1), ...inputFields.slice(fieldIndex + deleteCount, inputFields.length)];
1621
1627
  }
1622
- set(schema, `containers[0].panes[${tabIndex - 1}].sections[0].childSections[0].childSections[0].inputFields`, newInputFields);
1623
- if (inputSchema) {
1628
+ if (id === "add-sec-cta") {
1629
+ //The following block of code enables and disables add secondary button based on the primary button
1630
+ const indexOfSecondary = findIndex(newInputFields, {identifier: 'add-sec-cta-2'});
1631
+ newInputFields[indexOfSecondary].cols[0].disabled = !formData[this.state.currentTab - 1][id];
1632
+ //Calling the following function to unset the data set under secondary button
1633
+ if (!formData[this.state.currentTab - 1][id]) {
1634
+ formDataCopy[this.state.currentTab - 1]['add-sec-cta-2'] = false;
1635
+ }
1636
+ set(schema, `containers[0].panes[${tabIndex - 1}].sections[0].childSections[0].childSections[0].inputFields`, newInputFields);
1637
+ //Calling set state here to update the state and schema before manually triggering secondarycta update
1638
+ this.setState(
1639
+ {schema, initialState: this.state.initialState ? this.state.initialState : this.state.schema, isSchemaChanged: true},
1640
+ () => {
1641
+ this.injectEvents(schema);
1642
+ this.addSecondoryCta(true, formDataCopy, newInputFields[indexOfSecondary].cols[0]);
1643
+ });
1644
+ } else {
1645
+ set(schema, `containers[0].panes[${tabIndex - 1}].sections[0].childSections[0].childSections[0].inputFields`, newInputFields);
1646
+ if (inputSchema) {
1647
+ return schema;
1648
+ }
1649
+ this.setState({schema, initialState: this.state.initialState ? this.state.initialState : this.state.schema, isSchemaChanged: true});
1650
+ this.injectEvents(schema);
1624
1651
  return schema;
1625
1652
  }
1626
- this.setState({schema, initialState: this.state.initialState ? this.state.initialState : this.state.schema, isSchemaChanged: true});
1627
- this.injectEvents(schema);
1628
- return schema;
1653
+ return true;
1629
1654
  };
1630
1655
 
1631
1656
  addSecondoryCtaIos = (flag, formData, schemaField) => {
@@ -441,6 +441,7 @@ export const response = {
441
441
  id: "add-sec-cta-2",
442
442
  metaType: "label",
443
443
  dynamicTab: false,
444
+ disabled: true,
444
445
  label: "Add secondary button to notification",
445
446
  styling: "semantic",
446
447
  type: "checkbox",
@@ -1323,6 +1324,7 @@ export const response = {
1323
1324
  id: "add-sec-cta-2",
1324
1325
  metaType: "label",
1325
1326
  dynamicTab: false,
1327
+ disabled: true,
1326
1328
  label: "Add secondary button to notification",
1327
1329
  styling: "semantic",
1328
1330
  type: "checkbox",
@@ -17,7 +17,7 @@ import { makeSelectCreate, makeSelectCreateResponse } from './selectors';
17
17
  import { makeSelectMetaEntities, isLoadingMetaEntities, setInjectedTags } from '../../Cap/selectors';
18
18
  import { UserIsAuthenticated } from '../../../utils/authWrapper';
19
19
  import './_smsCreate.scss';
20
- import FormBuilder from '../../../components/FormBuilder';
20
+ import FormBuilder from '../../../v2Components/FormBuilder';
21
21
  import * as actions from './actions';
22
22
  import messages from './messages';
23
23
  import * as charCount from '../../../utils/smsCharCount';
@@ -17,7 +17,7 @@ import { bindActionCreators } from 'redux';
17
17
  import { makeSelectEdit, makeSelectEditResponse, makeSelectTemplateDetailsResponse } from './selectors';
18
18
  import { makeSelectMetaEntities, isLoadingMetaEntities, setInjectedTags } from '../../Cap/selectors';
19
19
  import { UserIsAuthenticated } from '../../../utils/authWrapper';
20
- import FormBuilder from '../../../components/FormBuilder';
20
+ import FormBuilder from '../../../v2Components/FormBuilder';
21
21
  import * as actions from './actions';
22
22
  import {checkUnicode, updateCharCount} from '../../../utils/smsCharCountV2';
23
23
  import '../Create/_smsCreate.scss';
@@ -17,7 +17,7 @@ import { UserIsAuthenticated } from '../../utils/authWrapper';
17
17
  import * as actions from './actions';
18
18
  import * as globalActions from '../../containers/Cap/actions';
19
19
  // import styled from styled-components;
20
- import CapTagList from '../../components/CapTagList';
20
+ import CapTagList from '../../v2Components/CapTagList';
21
21
  import './_tagList.scss';
22
22
  const TreeNode = Tree.TreeNode;
23
23
 
@@ -33,17 +33,17 @@ import * as smsEditActions from '../Sms/Edit/actions';
33
33
  import * as ebillActions from '../Ebill/actions';
34
34
  import * as emailActions from '../Email/actions';
35
35
  import * as lineActions from '../Line/Create/actions';
36
- import CardGrid from '../../components/CardGrid';
36
+ import CardGrid from '../../v2Components/CardGrid';
37
37
  import config from '../../config/app';
38
38
  import './_templates.scss';
39
39
  import * as globalActions from '../Cap/actions';
40
40
  import { makeSelectAuthenticated } from '../Cap/selectors';
41
41
  import {getMessageObject} from '../../utils/messageUtils';
42
42
  import * as commonUtil from '../../utils/common';
43
- import Pagination from '../../components/Pagination';
44
- import EmailPreview from '../../components/EmailPreview';
43
+ import Pagination from '../../v2Components/Pagination';
44
+ import EmailPreview from '../../v2Components/EmailPreview';
45
45
  import CreativesContainer from '../CreativesContainer';
46
- import WechatRichmediaTemplatePreview from '../../components/TemplatePreview/WechatRichmediaTemplatePreview';
46
+ import WechatRichmediaTemplatePreview from '../../v2Components/TemplatePreview/WechatRichmediaTemplatePreview';
47
47
  import { MOBILE_PUSH, WECHAT, SMS, EMAIL, EBILL, LINE } from '../CreativesContainer/constants';
48
48
  const {CapCustomCardList} = CapCustomCard;
49
49
  const InlineDiv = styled.div`
@@ -1,6 +1,6 @@
1
1
 
2
2
  import React from "react";
3
- import SmsTest from '../../components/SmsTest';
3
+ import SmsTest from '../../v2Components/SmsTest';
4
4
 
5
5
  export default class TestPage extends React.PureComponent { // eslint-disable-line react/prefer-stateless-function
6
6
  render() {
@@ -19,13 +19,13 @@ import { makeSelectMetaEntities, makeSelectFetchingSchema, setInjectedTags } fro
19
19
  import makeSelectWeChat from './selectors';
20
20
  import messages from './messages';
21
21
  import * as actions from './actions';
22
- import FormBuilder from '../../../components/FormBuilder';
22
+ import FormBuilder from '../../../v2Components/FormBuilder';
23
23
  import { UserIsAuthenticated } from '../../../utils/authWrapper';
24
24
  import * as globalActions from '../../../containers/Cap/actions';
25
25
  import {getMessageObject} from '../../../utils/messageUtils';
26
26
  import * as templateActions from '../../Templates/actions';
27
- // import SlideBox from '../../components/SlideBox';
28
- // import PageHeader from '../../components/PageHeader';
27
+ // import SlideBox from '../../v2Components/SlideBox';
28
+ // import PageHeader from '../../v2Components/PageHeader';
29
29
  import './_mapTemplates.scss';
30
30
 
31
31
  import callNativeEvent from '../../../utils/callNativeEvent';
@@ -22,9 +22,9 @@ import './_createRichmedia.scss';
22
22
  import messages from './messages';
23
23
  import * as globalActions from '../../../../containers/Cap/actions';
24
24
  import {getMessageObject} from '../../../../../utils/messageUtils';
25
- import FormBuilder from '../../../../components/FormBuilder';
26
- import Header from '../../../../components/Header';
27
- import WechatRichmediaTemplatePreview from '../../../../components/TemplatePreview/WechatRichmediaTemplatePreview';
25
+ import FormBuilder from '../../../../v2Components/FormBuilder';
26
+ import Header from '../../../../v2Components/Header';
27
+ import WechatRichmediaTemplatePreview from '../../../../v2Components/TemplatePreview/WechatRichmediaTemplatePreview';
28
28
  const MenuItem = Menu.Item;
29
29
  export class Create extends React.Component { // eslint-disable-line react/prefer-stateless-function
30
30
  constructor(props) {