@capillarytech/creatives-library 6.8.8 → 6.9.1

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 (101) hide show
  1. package/components/CapTagList/index.js +1 -1
  2. package/components/Edmeditor/index.js +1 -1
  3. package/components/FormBuilder/index.js +0 -1
  4. package/components/TemplatePreview/_templatePreview.scss +0 -6
  5. package/components/TemplatePreview/index.js +28 -35
  6. package/config/app.js +1 -1
  7. package/containers/TagList/index.js +3 -3
  8. package/index.html +5 -0
  9. package/package.json +2 -1
  10. package/services/api.js +16 -1
  11. package/v2Components/BeeEditor/index.js +278 -0
  12. package/v2Components/BeeEditor/index.scss +11 -0
  13. package/v2Components/BeeEditor/messages.js +47 -0
  14. package/v2Components/BeeEditor/tests/index.test.js +10 -0
  15. package/v2Components/CapTagList/index.js +55 -26
  16. package/v2Components/CmsTemplatesComponent/index.js +4 -4
  17. package/v2Components/Edmeditor/index.js +1 -1
  18. package/v2Components/EmailPreview/_emailPreview.scss +2 -2
  19. package/v2Components/FormBuilder/index.js +117 -43
  20. package/v2Components/TemplatePreview/WechatRichmediaTemplatePreview/_wechatRichmediaTemplatePrev.scss +151 -151
  21. package/v2Components/TemplatePreview/WechatRichmediaTemplatePreview/messages.js +33 -33
  22. package/v2Components/TemplatePreview/WechatRichmediaTemplatePreview/tests/index.test.js +10 -10
  23. package/v2Components/TemplatePreview/_templatePreview.scss +0 -1
  24. package/v2Components/TemplatePreview/assets/images/androidPushMessage.svg +44 -44
  25. package/v2Components/TemplatePreview/assets/images/home-screen-android.svg +21 -21
  26. package/v2Components/TemplatePreview/assets/images/home-screen-ios.svg +16 -16
  27. package/v2Components/TemplatePreview/assets/images/iPhonePushMessage.svg +134 -134
  28. package/v2Components/TemplatePreview/assets/images/mobile.svg +23 -23
  29. package/v2Components/TemplatePreview/assets/images/sms_mobile_android.svg +22 -22
  30. package/v2Components/TemplatePreview/assets/images/user-icon.svg +18 -18
  31. package/v2Components/TemplatePreview/assets/images/wechat-home-screen-android.svg +21 -21
  32. package/v2Components/TemplatePreview/assets/images/wechat-mobile.svg +77 -77
  33. package/v2Components/TemplatePreview/assets/images/wechat_mobile_android.svg +20 -20
  34. package/v2Components/TemplatePreview/index.js +29 -36
  35. package/v2Components/TemplatePreview/tests/index.test.js +10 -10
  36. package/v2Containers/CreativesContainer/SlideBoxContent.js +1 -7
  37. package/v2Containers/CreativesContainer/SlideBoxFooter.js +51 -51
  38. package/v2Containers/CreativesContainer/actions.js +27 -27
  39. package/v2Containers/CreativesContainer/constants.js +17 -17
  40. package/v2Containers/CreativesContainer/index.js +7 -2
  41. package/v2Containers/CreativesContainer/index.scss +44 -44
  42. package/v2Containers/CreativesContainer/messages.js +305 -305
  43. package/v2Containers/CreativesContainer/reducer.js +29 -29
  44. package/v2Containers/CreativesContainer/sagas.js +11 -11
  45. package/v2Containers/CreativesContainer/selectors.js +30 -30
  46. package/v2Containers/CreativesContainer/tests/actions.test.js +18 -18
  47. package/v2Containers/CreativesContainer/tests/index.test.js +10 -10
  48. package/v2Containers/CreativesContainer/tests/reducer.test.js +9 -9
  49. package/v2Containers/CreativesContainer/tests/sagas.test.js +15 -15
  50. package/v2Containers/CreativesContainer/tests/selectors.test.js +10 -10
  51. package/v2Containers/Email/constants.js +1 -0
  52. package/v2Containers/Email/index.js +210 -108
  53. package/v2Containers/Email/initialSchema.js +18 -3
  54. package/v2Containers/Email/sagas.js +2 -2
  55. package/v2Containers/Email/selectors.js +5 -0
  56. package/v2Containers/EmailWrapper/index.js +19 -3
  57. package/v2Containers/Line/Container/Image/index.js +19 -21
  58. package/v2Containers/Line/Container/ImageMap/constants.js +1 -2
  59. package/v2Containers/Line/Container/ImageMap/index.js +6 -31
  60. package/v2Containers/Line/Container/ImageMap/messages.js +0 -12
  61. package/v2Containers/Line/Container/Wrapper/index.js +1 -5
  62. package/v2Containers/Line/Container/Wrapper/messages.js +0 -4
  63. package/v2Containers/Line/Container/Wrapper/utils.js +16 -15
  64. package/v2Containers/Line/Container/_lineCreate.scss +2 -2
  65. package/v2Containers/Line/Container/actions.js +2 -4
  66. package/v2Containers/Line/Container/constants.js +0 -3
  67. package/v2Containers/Line/Container/index.js +11 -49
  68. package/v2Containers/Line/Container/reducer.js +2 -2
  69. package/v2Containers/Line/Container/sagas.js +2 -2
  70. package/v2Containers/Line/Container/style.js +1 -2
  71. package/v2Containers/TagList/index.js +6 -0
  72. package/v2Containers/Templates/_templates.scss +0 -9
  73. package/v2Containers/Templates/actions.js +122 -117
  74. package/v2Containers/Templates/constants.js +49 -47
  75. package/v2Containers/Templates/index.js +34 -42
  76. package/v2Containers/Templates/messages.js +8 -4
  77. package/v2Containers/Templates/reducer.js +153 -145
  78. package/v2Containers/Templates/sagas.js +179 -179
  79. package/v2Containers/Templates/selectors.js +19 -1
  80. package/v2Containers/Templates/tests/actions.test.js +18 -18
  81. package/v2Containers/Templates/tests/index.test.js +10 -10
  82. package/v2Containers/Templates/tests/reducer.test.js +9 -9
  83. package/v2Containers/Templates/tests/sagas.test.js +15 -15
  84. package/v2Containers/Templates/tests/selectors.test.js +10 -10
  85. package/v2Containers/TemplatesV2/TemplatesV2.style.js +29 -29
  86. package/v2Containers/TemplatesV2/actions.js +16 -16
  87. package/v2Containers/TemplatesV2/constants.js +10 -10
  88. package/v2Containers/TemplatesV2/messages.js +61 -61
  89. package/v2Containers/TemplatesV2/selectors.js +25 -25
  90. package/v2Containers/TemplatesV2/tests/actions.test.js +18 -18
  91. package/v2Containers/TemplatesV2/tests/index.test.js +10 -10
  92. package/v2Containers/TemplatesV2/tests/reducer.test.js +9 -9
  93. package/v2Containers/TemplatesV2/tests/sagas.test.js +15 -15
  94. package/v2Containers/TemplatesV2/tests/selectors.test.js +10 -10
  95. package/v2Components/Carousel/index.js +0 -120
  96. package/v2Components/Carousel/style.scss +0 -40
  97. package/v2Containers/Line/Container/ImageCarousel/Content.js +0 -554
  98. package/v2Containers/Line/Container/ImageCarousel/constants.js +0 -10
  99. package/v2Containers/Line/Container/ImageCarousel/index.js +0 -526
  100. package/v2Containers/Line/Container/ImageCarousel/messages.js +0 -178
  101. package/v2Containers/Line/Container/ImageCarousel/style.js +0 -61
@@ -1,20 +1,20 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="220" height="472" viewBox="0 0 220 472">
2
- <g fill="none" fill-rule="evenodd">
3
- <rect width="220" height="472" fill="#101211" rx="26"/>
4
- <rect width="202" height="404" x="9" y="36" fill="#F4F5F7" rx="9"/>
5
- <rect width="182" height="136" x="19" y="112" fill="#F4F5F7" rx="17.5"/>
6
- <path fill="#F4F5F7" d="M18 36h184c4.97 0 9 4.03 9 9v6H9v-6c0-4.97 4.03-9 9-9z"/>
7
- <path fill="#F4F5F7" d="M9 51H211V82H9z" transform="matrix(1 0 0 -1 0 133)"/>
8
- <rect width="52" height="5" x="84" y="14" fill="#2E2E2E" rx="2.5"/>
9
- <rect width="52" height="5" x="84" y="455" fill="#2E2E2E" rx="2.5"/>
10
- <circle cx="45.5" cy="19.5" r="5.5" fill="#2E2E2E"/>
11
- <circle cx="65.5" cy="19.5" r="3.5" fill="#2E2E2E"/>
12
- <text fill="#000" font-family="Roboto-Regular, Roboto" font-size="12" letter-spacing=".175">
13
- <tspan x="49.5" y="71">Muji India</tspan>
14
- </text>
15
- <circle cx="199" cy="63" r="1" fill="#000"/>
16
- <circle cx="199" cy="70" r="1" fill="#000"/>
17
- <circle cx="199" cy="66.5" r="1" fill="#000"/>
18
- <path fill="#000" d="M28 66c0 .279-.226.505-.505.505h-5.556l2.42 2.42c.198.197.198.518 0 .716-.198.198-.52.198-.718 0l-2.934-2.934c-.39-.39-.39-1.024 0-1.414l2.934-2.934c.198-.198.52-.198.718 0 .198.198.198.519 0 .717l-2.42 2.419h5.556c.279 0 .505.226.505.505z"/>
19
- </g>
20
- </svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="220" height="472" viewBox="0 0 220 472">
2
+ <g fill="none" fill-rule="evenodd">
3
+ <rect width="220" height="472" fill="#101211" rx="26"/>
4
+ <rect width="202" height="404" x="9" y="36" fill="#F4F5F7" rx="9"/>
5
+ <rect width="182" height="136" x="19" y="112" fill="#F4F5F7" rx="17.5"/>
6
+ <path fill="#F4F5F7" d="M18 36h184c4.97 0 9 4.03 9 9v6H9v-6c0-4.97 4.03-9 9-9z"/>
7
+ <path fill="#F4F5F7" d="M9 51H211V82H9z" transform="matrix(1 0 0 -1 0 133)"/>
8
+ <rect width="52" height="5" x="84" y="14" fill="#2E2E2E" rx="2.5"/>
9
+ <rect width="52" height="5" x="84" y="455" fill="#2E2E2E" rx="2.5"/>
10
+ <circle cx="45.5" cy="19.5" r="5.5" fill="#2E2E2E"/>
11
+ <circle cx="65.5" cy="19.5" r="3.5" fill="#2E2E2E"/>
12
+ <text fill="#000" font-family="Roboto-Regular, Roboto" font-size="12" letter-spacing=".175">
13
+ <tspan x="49.5" y="71">Muji India</tspan>
14
+ </text>
15
+ <circle cx="199" cy="63" r="1" fill="#000"/>
16
+ <circle cx="199" cy="70" r="1" fill="#000"/>
17
+ <circle cx="199" cy="66.5" r="1" fill="#000"/>
18
+ <path fill="#000" d="M28 66c0 .279-.226.505-.505.505h-5.556l2.42 2.42c.198.197.198.518 0 .716-.198.198-.52.198-.718 0l-2.934-2.934c-.39-.39-.39-1.024 0-1.414l2.934-2.934c.198-.198.52-.198.718 0 .198.198.198.519 0 .717l-2.42 2.419h5.556c.279 0 .505.226.505.505z"/>
19
+ </g>
20
+ </svg>
@@ -15,7 +15,6 @@ import './_templatePreview.scss';
15
15
  import {updateCharCount} from '../../utils/smsCharCountV2';
16
16
  import messages from './messages';
17
17
  import { WECHAT } from '../../v2Containers/CreativesContainer/constants';
18
- import Carousel from '../Carousel';
19
18
  const wechatBodyNew = require('./assets/images/wechat_mobile_android.svg');
20
19
  const smsMobileAndroid = require('./assets/images/sms_mobile_android.svg');
21
20
  const lineMobileAndroid = require('../../assets/line.png');
@@ -24,7 +23,6 @@ const lineStickerPlaceholder = require('../../assets/smiley-placeholder.svg');
24
23
  const androidPushMessagePhone = require('./assets/images/androidPushMessage.svg');
25
24
  const iPhonePushMessagePhone = require('./assets/images/iPhonePushMessage.svg');
26
25
  import { CAP_COLOR_03, CAP_WHITE, FONT_COLOR_01, CAP_G08 } from '@capillarytech/cap-ui-library/styled/variables';
27
- import { TEMPLATE, IMAGE_CAROUSEL, IMAGE, STICKER, TEXT, IMAGE_MAP } from '../../v2Containers/Line/Container/constants';
28
26
 
29
27
  class TemplatePreview extends React.Component { // eslint-disable-line react/prefer-stateless-function
30
28
  onPreviewContentClicked = (channel) => {
@@ -315,7 +313,7 @@ class TemplatePreview extends React.Component { // eslint-disable-line react/pre
315
313
  <div
316
314
  className="msgContainer line-preview"
317
315
  style={{
318
- maxHeight: 330,
316
+ maxHeight: 300,
319
317
  overflow: 'scroll',
320
318
  flexDirection: 'column',
321
319
  marginLeft: 40,
@@ -345,36 +343,35 @@ class TemplatePreview extends React.Component { // eslint-disable-line react/pre
345
343
  selectedSticker = {
346
344
  stickerUrl: lineStickerPlaceholder,
347
345
  },
348
- imageCarousel = [lineImgPlaceholder],
349
346
  } = item || {};
350
- const sectionStyle = {
351
- background: CAP_WHITE,
352
- color: FONT_COLOR_01,
353
- borderRadius: 8,
354
- position: 'static',
355
- margin: '6px 0 20px 28px',
356
- height: 'auto',
357
- minHeight: 'auto',
358
- overflow: 'initial',
359
- maxHeight: 'initial',
360
- };
361
- if (type === TEXT) {
347
+ if (type === 'text') {
362
348
  return (
363
349
  <div
364
350
  className="message-pop align-left"
365
- style={sectionStyle}
351
+ style={{
352
+ background: CAP_WHITE,
353
+ color: FONT_COLOR_01,
354
+ borderRadius: 8,
355
+ position: 'static',
356
+ margin: '6px 0 20px 28px',
357
+ height: 'auto'
358
+ }}
366
359
  >
367
360
  <p style={{ marginBottom: 5 }}>{messageContent || ''}</p>
368
361
  </div>
369
362
  );
370
363
  }
371
- if ((type === IMAGE && previewImageUrl)) {
364
+ if ((type === 'image' && previewImageUrl)) {
372
365
  return (
373
366
  <div
374
367
  className="message-pop align-left"
375
368
  style={{
376
- ...sectionStyle,
377
- minHeight: 184,
369
+ background: CAP_G08,
370
+ color: FONT_COLOR_01,
371
+ borderRadius: 8,
372
+ position: 'static',
373
+ margin: '6px 0 20px 28px',
374
+ height: 184,
378
375
  display: 'flex',
379
376
  justifyContent: 'center',
380
377
  alignItems: 'center',
@@ -393,13 +390,17 @@ class TemplatePreview extends React.Component { // eslint-disable-line react/pre
393
390
  </div>
394
391
  );
395
392
  }
396
- if ((type === IMAGE_MAP && baseUrl)) {
393
+ if ((type === 'imagemap' && baseUrl)) {
397
394
  return (
398
395
  <div
399
396
  className="message-pop align-left"
400
397
  style={{
401
- ...sectionStyle,
402
- minHeight: 184,
398
+ background: CAP_G08,
399
+ color: FONT_COLOR_01,
400
+ borderRadius: 8,
401
+ position: 'static',
402
+ margin: '6px 0 20px 28px',
403
+ height: 184,
403
404
  display: 'flex',
404
405
  justifyContent: 'center',
405
406
  alignItems: 'center',
@@ -418,13 +419,16 @@ class TemplatePreview extends React.Component { // eslint-disable-line react/pre
418
419
  </div>
419
420
  );
420
421
  }
421
- if (type === STICKER && selectedSticker) {
422
+ if (type === 'sticker' && selectedSticker) {
422
423
  return (
423
424
  <div
424
425
  className="message-pop align-left"
425
426
  style={{
426
- ...sectionStyle,
427
427
  background: 'transparent',
428
+ color: FONT_COLOR_01,
429
+ color: FONT_COLOR_01,
430
+ position: 'static',
431
+ margin: '6px 0 20px 10px',
428
432
  display: 'flex',
429
433
  justifyContent: 'center',
430
434
  alignItems: 'center',
@@ -446,17 +450,6 @@ class TemplatePreview extends React.Component { // eslint-disable-line react/pre
446
450
  </div>
447
451
  );
448
452
  }
449
- if ((type === IMAGE_CAROUSEL || type === TEMPLATE) && imageCarousel) {
450
- return (
451
- <div
452
- style={{
453
- margin: '32px 0',
454
- }}
455
- >
456
- <Carousel imageCarousel={imageCarousel}/>
457
- </div>
458
- )
459
- }
460
453
  return null;
461
454
  })
462
455
  }
@@ -1,10 +1,10 @@
1
- // import React from 'react';
2
- // import { shallow } from 'enzyme';
3
-
4
- // import TemplatePreview from '../index';
5
-
6
- describe('<TemplatePreview />', () => {
7
- it('Expect to have unit tests specified', () => {
8
- expect(true).toEqual(false);
9
- });
10
- });
1
+ // import React from 'react';
2
+ // import { shallow } from 'enzyme';
3
+
4
+ // import TemplatePreview from '../index';
5
+
6
+ describe('<TemplatePreview />', () => {
7
+ it('Expect to have unit tests specified', () => {
8
+ expect(true).toEqual(false);
9
+ });
10
+ });
@@ -175,8 +175,7 @@ function SlideBoxContent(props) {
175
175
  animatedStickerUrl,
176
176
  stickerId,
177
177
  packageId,
178
- baseUrl,
179
- template,
178
+ baseUrl
180
179
  }) => {
181
180
  let previewContent = {};
182
181
  previewContent.messageContent = text;
@@ -188,8 +187,6 @@ function SlideBoxContent(props) {
188
187
  packageId,
189
188
  };
190
189
  previewContent.baseUrl = baseUrl;
191
- previewContent.imageCarousel = get(template, 'columns', [{}]).map(({ imageUrl, action: { label: actionLabel } = {} }) => ({ imageUrl, actionLabel }) );
192
-
193
190
  const getType = () => {
194
191
  if (text) {
195
192
  return 'text';
@@ -203,9 +200,6 @@ function SlideBoxContent(props) {
203
200
  if (baseUrl) {
204
201
  return 'imagemap';
205
202
  }
206
- if (template) {
207
- return 'image_carousel';
208
- }
209
203
  };
210
204
  previewContent.type = getType();
211
205
  return previewContent;
@@ -1,51 +1,51 @@
1
- import React from 'react';
2
- import { FormattedMessage } from 'react-intl';
3
- import { CapButton } from '@capillarytech/cap-ui-library';
4
- import PropTypes from 'prop-types';
5
- import messages from './messages';
6
- function getFullModeSaveBtn(slidBoxContent) {
7
- return slidBoxContent === "editTemplate" ?
8
- <FormattedMessage {...messages.creativesTemplatesUpdate}/>
9
- :
10
- <FormattedMessage {...messages.creativesTemplatesSaveFullMode}/>;
11
- }
12
- function SlideBoxFooter(props) {
13
- const { slidBoxContent, onSave, onEditTemplate, onCreateNextStep, isFullMode} = props;
14
- return (
15
- <div>
16
- <div>
17
- {props.shouldShowDoneFooter() && (
18
- <div>
19
- <CapButton onClick={onSave}>
20
- {isFullMode ?
21
- getFullModeSaveBtn(slidBoxContent)
22
- :
23
- <FormattedMessage {...messages.creativesTemplatesSave} />
24
- }
25
- </CapButton>
26
- {/* {isFullMode && <CapButton type="secondary" onClick={onDiscard}><FormattedMessage {...messages.creativesTemplatesDiscard}/></CapButton>} */}
27
- </div>)}
28
- {props.shouldShowContinueFooter() &&
29
- <CapButton onClick={onCreateNextStep}>
30
- <FormattedMessage {...messages.continue} />
31
- </CapButton>
32
- }
33
- {slidBoxContent === 'preview' && (
34
- <CapButton onClick={onEditTemplate} type="secondary">
35
- <FormattedMessage {...messages.creativesTemplatesEdit} />
36
- </CapButton>
37
- )}
38
- </div>
39
- </div>
40
- );
41
- }
42
- SlideBoxFooter.propTypes = {
43
- slidBoxContent: PropTypes.node,
44
- onSave: PropTypes.func,
45
- onEditTemplate: PropTypes.func,
46
- onCreateNextStep: PropTypes.func,
47
- shouldShowContinueFooter: PropTypes.func,
48
- shouldShowDoneFooter: PropTypes.func,
49
- isFullMode: PropTypes.bool,
50
- };
51
- export default SlideBoxFooter;
1
+ import React from 'react';
2
+ import { FormattedMessage } from 'react-intl';
3
+ import { CapButton } from '@capillarytech/cap-ui-library';
4
+ import PropTypes from 'prop-types';
5
+ import messages from './messages';
6
+ function getFullModeSaveBtn(slidBoxContent) {
7
+ return slidBoxContent === "editTemplate" ?
8
+ <FormattedMessage {...messages.creativesTemplatesUpdate}/>
9
+ :
10
+ <FormattedMessage {...messages.creativesTemplatesSaveFullMode}/>;
11
+ }
12
+ function SlideBoxFooter(props) {
13
+ const { slidBoxContent, onSave, onEditTemplate, onCreateNextStep, isFullMode, fetchingCmsData} = props;
14
+ return (
15
+ <div>
16
+ <div>
17
+ {props.shouldShowDoneFooter() && (
18
+ <div>
19
+ <CapButton onClick={onSave} disabled={fetchingCmsData || false}>
20
+ {isFullMode ?
21
+ getFullModeSaveBtn(slidBoxContent)
22
+ :
23
+ <FormattedMessage {...messages.creativesTemplatesSave} />
24
+ }
25
+ </CapButton>
26
+ {/* {isFullMode && <CapButton type="secondary" onClick={onDiscard}><FormattedMessage {...messages.creativesTemplatesDiscard}/></CapButton>} */}
27
+ </div>)}
28
+ {props.shouldShowContinueFooter() &&
29
+ <CapButton onClick={onCreateNextStep}>
30
+ <FormattedMessage {...messages.continue} />
31
+ </CapButton>
32
+ }
33
+ {slidBoxContent === 'preview' && (
34
+ <CapButton onClick={onEditTemplate} type="secondary">
35
+ <FormattedMessage {...messages.creativesTemplatesEdit} />
36
+ </CapButton>
37
+ )}
38
+ </div>
39
+ </div>
40
+ );
41
+ }
42
+ SlideBoxFooter.propTypes = {
43
+ slidBoxContent: PropTypes.node,
44
+ onSave: PropTypes.func,
45
+ onEditTemplate: PropTypes.func,
46
+ onCreateNextStep: PropTypes.func,
47
+ shouldShowContinueFooter: PropTypes.func,
48
+ shouldShowDoneFooter: PropTypes.func,
49
+ isFullMode: PropTypes.bool,
50
+ };
51
+ export default SlideBoxFooter;
@@ -1,27 +1,27 @@
1
- /*
2
- *
3
- * CreativesContainer actions
4
- *
5
- */
6
-
7
- import {
8
- DEFAULT_ACTION,
9
- HIDE_CONTAINER_LOADER,
10
- SHOW_CONTANER_LOADER,
11
- } from './constants';
12
-
13
- export function defaultAction() {
14
- return {
15
- type: DEFAULT_ACTION,
16
- };
17
- }
18
- export function showCreativesContainerLoader() {
19
- return {
20
- type: SHOW_CONTANER_LOADER,
21
- };
22
- }
23
- export function hideCreativesContanerLoader() {
24
- return {
25
- type: HIDE_CONTAINER_LOADER,
26
- };
27
- }
1
+ /*
2
+ *
3
+ * CreativesContainer actions
4
+ *
5
+ */
6
+
7
+ import {
8
+ DEFAULT_ACTION,
9
+ HIDE_CONTAINER_LOADER,
10
+ SHOW_CONTANER_LOADER,
11
+ } from './constants';
12
+
13
+ export function defaultAction() {
14
+ return {
15
+ type: DEFAULT_ACTION,
16
+ };
17
+ }
18
+ export function showCreativesContainerLoader() {
19
+ return {
20
+ type: SHOW_CONTANER_LOADER,
21
+ };
22
+ }
23
+ export function hideCreativesContanerLoader() {
24
+ return {
25
+ type: HIDE_CONTAINER_LOADER,
26
+ };
27
+ }
@@ -1,17 +1,17 @@
1
- /*
2
- *
3
- * CreativesContainer constants
4
- *
5
- */
6
-
7
- export const DEFAULT_ACTION = 'app/CreativesContainer/DEFAULT_ACTION';
8
- export const EMAIL = "EMAIL";
9
- export const SMS = "SMS";
10
- export const EBILL = "EBILL";
11
- export const LINE = "LINE";
12
- export const CALL_TASK = "CALL_TASK";
13
- export const MOBILE_PUSH = "MOBILEPUSH";
14
- export const WECHAT = "WECHAT";
15
- export const FACEBOOK = "FACEBOOK";
16
- export const SHOW_CONTANER_LOADER = "app/CreativesContainer/SHOW_CONTANER_LOADER";
17
- export const HIDE_CONTAINER_LOADER = "app/CreativesContainer/HIDE_CONTAINER_LOADER";
1
+ /*
2
+ *
3
+ * CreativesContainer constants
4
+ *
5
+ */
6
+
7
+ export const DEFAULT_ACTION = 'app/CreativesContainer/DEFAULT_ACTION';
8
+ export const EMAIL = "EMAIL";
9
+ export const SMS = "SMS";
10
+ export const EBILL = "EBILL";
11
+ export const LINE = "LINE";
12
+ export const CALL_TASK = "CALL_TASK";
13
+ export const MOBILE_PUSH = "MOBILEPUSH";
14
+ export const WECHAT = "WECHAT";
15
+ export const FACEBOOK = "FACEBOOK";
16
+ export const SHOW_CONTANER_LOADER = "app/CreativesContainer/SHOW_CONTANER_LOADER";
17
+ export const HIDE_CONTAINER_LOADER = "app/CreativesContainer/HIDE_CONTAINER_LOADER";
@@ -25,6 +25,7 @@ import * as globalActions from '../Cap/actions';
25
25
  import {isLoading as isLoadingSelector} from './selectors';
26
26
  import messages from './messages';
27
27
  import { MAP_TEMPLATE } from '../WeChat/Wrapper/constants';
28
+ import { makeSelectFetchingCmsData } from '../Email/selectors';
28
29
 
29
30
  const classPrefix = 'add-creatives-section';
30
31
 
@@ -165,6 +166,8 @@ class Creatives extends React.Component {
165
166
  iso_code: templateData.iso_code,
166
167
  language: templateData.language,
167
168
  drag_drop_id: templateData.drag_drop_id,
169
+ json_content: templateData.json_content,
170
+ id: templateData.id,
168
171
  };
169
172
  creativesTemplateData = {
170
173
  base: formData,
@@ -528,7 +531,7 @@ class Creatives extends React.Component {
528
531
  }
529
532
  render() {
530
533
  const {slidBoxContent, isGetFormData, showSlideBox, templateData, currentChannel, emailCreateMode, templateStep, isLoadingContent, mobilePushCreateMode, isDiscardMessage, weChatTemplateType, weChatMaptemplateStep} = this.state;
531
- const {isFullMode, creativesMode, cap, isUploading, channelsToHide, selectedWeChatAccount, forwardedTags, channelsToDisable, selectedOfferDetails, onTestContentClicked, onPreviewContentClicked, getCreativesData} = this.props;
534
+ const {isFullMode, creativesMode, cap, isUploading, channelsToHide, selectedWeChatAccount, forwardedTags, channelsToDisable, selectedOfferDetails, onTestContentClicked, onPreviewContentClicked, getCreativesData, fetchingCmsData} = this.props;
532
535
  const mapTemplateCreate = slidBoxContent === 'createTemplate' && weChatTemplateType === MAP_TEMPLATE && templateStep !== 'modeSelection';
533
536
  /* TODO: Instead of passing down same props separately to each component down, write common function to these props and pass it accordingly */
534
537
  return (
@@ -617,11 +620,12 @@ class Creatives extends React.Component {
617
620
  emailCreateMode={emailCreateMode}
618
621
  shouldShowContinueFooter={this.shouldShowContinueFooter}
619
622
  shouldShowDoneFooter={this.shouldShowDoneFooter}
623
+ fetchingCmsData={fetchingCmsData}
620
624
  />
621
625
  }
622
626
  handleClose={this.handleCloseSlideBox}
623
627
  show={showSlideBox}
624
- size="size-l"
628
+ size="size-xl"
625
629
  />
626
630
  </SlideBoxWrapper>
627
631
  );
@@ -659,6 +663,7 @@ const mapStatesToProps = () => createStructuredSelector({
659
663
  EmailLayout: selectEmailLayout(),
660
664
  isUploading: uploadSelector(),
661
665
  Templates: makeSelectTemplates(),
666
+ fetchingCmsData: makeSelectFetchingCmsData(),
662
667
  });
663
668
  function mapDispatchToProps(dispatch) {
664
669
  return {
@@ -1,45 +1,45 @@
1
- @import '~@capillarytech/cap-ui-library/styles/_variables.scss';
2
-
3
- $classPrefix: add-creatives-section;
4
-
5
- .#{$classPrefix} {
6
- &.creatives-library-mode{
7
- .sms-create-container, .sms-email-container{
8
- .ant-tabs-top-bar{
9
- display: none;
10
- }
11
- }
12
- }
13
- .#{$classPrefix}-footer {
14
- position: absolute;
15
- bottom: 0;
16
- left: 1px;
17
- padding: 0 12px;
18
- display: flex;
19
- align-items: center;
20
- height: 48px;
21
- border-top: 1px solid $CAP_G07;
22
-
23
- &.with-creative {
24
- width: 100%;
25
- }
26
- }
27
- .wechat-steps {
28
- width: 40% !important;
29
- left: 20%;
30
- position: relative;
31
- .ant-steps-item-title::after {
32
- top: 8px;
33
- }
34
- .ant-steps-item-content {
35
- vertical-align: middle;
36
- padding-top: 4px;
37
- }
38
- }
39
- }
40
-
41
- .map-template-create {
42
- .slidebox-header div:first-child {
43
- width: 100%;
44
- }
1
+ @import '~@capillarytech/cap-ui-library/styles/_variables.scss';
2
+
3
+ $classPrefix: add-creatives-section;
4
+
5
+ .#{$classPrefix} {
6
+ &.creatives-library-mode{
7
+ .sms-create-container, .sms-email-container{
8
+ .ant-tabs-top-bar{
9
+ display: none;
10
+ }
11
+ }
12
+ }
13
+ .#{$classPrefix}-footer {
14
+ position: absolute;
15
+ bottom: 0;
16
+ left: 1px;
17
+ padding: 0 12px;
18
+ display: flex;
19
+ align-items: center;
20
+ height: 48px;
21
+ border-top: 1px solid $CAP_G07;
22
+
23
+ &.with-creative {
24
+ width: 100%;
25
+ }
26
+ }
27
+ .wechat-steps {
28
+ width: 40% !important;
29
+ left: 20%;
30
+ position: relative;
31
+ .ant-steps-item-title::after {
32
+ top: 8px;
33
+ }
34
+ .ant-steps-item-content {
35
+ vertical-align: middle;
36
+ padding-top: 4px;
37
+ }
38
+ }
39
+ }
40
+
41
+ .map-template-create {
42
+ .slidebox-header div:first-child {
43
+ width: 100%;
44
+ }
45
45
  }