@capillarytech/creatives-library 8.0.264 → 8.0.265

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 (158) hide show
  1. package/constants/unified.js +0 -1
  2. package/package.json +1 -1
  3. package/services/api.js +0 -5
  4. package/utils/common.js +0 -6
  5. package/utils/tagValidations.js +1 -2
  6. package/utils/tests/transformerUtils.test.js +0 -297
  7. package/utils/transformerUtils.js +0 -40
  8. package/v2Components/CapImageUpload/constants.js +0 -2
  9. package/v2Components/CapImageUpload/index.js +16 -65
  10. package/v2Components/CapImageUpload/index.scss +1 -4
  11. package/v2Components/CapImageUpload/messages.js +1 -5
  12. package/v2Components/CommonTestAndPreview/UnifiedPreview/_unifiedPreview.scss +2 -2
  13. package/v2Components/FormBuilder/index.js +8 -8
  14. package/v2Containers/App/constants.js +0 -5
  15. package/v2Containers/CreativesContainer/SlideBoxContent.js +2 -57
  16. package/v2Containers/CreativesContainer/SlideBoxHeader.js +0 -1
  17. package/v2Containers/CreativesContainer/constants.js +0 -3
  18. package/v2Containers/CreativesContainer/index.js +0 -168
  19. package/v2Containers/CreativesContainer/messages.js +0 -4
  20. package/v2Containers/CreativesContainer/tests/SlideBoxContent.test.js +0 -210
  21. package/v2Containers/CreativesContainer/tests/__snapshots__/SlideBoxContent.test.js.snap +0 -304
  22. package/v2Containers/Email/index.js +7 -3
  23. package/v2Containers/FTP/index.js +1 -1
  24. package/v2Containers/InApp/index.js +0 -1
  25. package/v2Containers/Line/Container/Text/index.js +0 -1
  26. package/v2Containers/MobilePushNew/index.js +0 -1
  27. package/v2Containers/Rcs/index.js +0 -3
  28. package/v2Containers/SmsTrai/Edit/index.js +0 -1
  29. package/v2Containers/Templates/ChannelTypeIllustration.js +1 -13
  30. package/v2Containers/Templates/_templates.scss +0 -205
  31. package/v2Containers/Templates/actions.js +1 -2
  32. package/v2Containers/Templates/constants.js +0 -1
  33. package/v2Containers/Templates/index.js +34 -274
  34. package/v2Containers/Templates/messages.js +0 -24
  35. package/v2Containers/Templates/reducer.js +0 -2
  36. package/v2Containers/Templates/tests/index.test.js +0 -10
  37. package/v2Containers/TemplatesV2/index.js +7 -15
  38. package/v2Containers/TemplatesV2/messages.js +0 -4
  39. package/v2Containers/Viber/index.js +0 -1
  40. package/v2Containers/Whatsapp/index.js +0 -1
  41. package/v2Containers/Zalo/index.js +0 -1
  42. package/v2Containers/Zalo/tests/index.test.js +5 -1
  43. package/utils/imageUrlUpload.js +0 -141
  44. package/v2Components/CapImageUrlUpload/constants.js +0 -26
  45. package/v2Components/CapImageUrlUpload/index.js +0 -365
  46. package/v2Components/CapImageUrlUpload/index.scss +0 -35
  47. package/v2Components/CapImageUrlUpload/messages.js +0 -47
  48. package/v2Containers/WebPush/Create/components/BrandIconSection.js +0 -108
  49. package/v2Containers/WebPush/Create/components/ButtonForm.js +0 -172
  50. package/v2Containers/WebPush/Create/components/ButtonItem.js +0 -101
  51. package/v2Containers/WebPush/Create/components/ButtonList.js +0 -145
  52. package/v2Containers/WebPush/Create/components/ButtonsLinksSection.js +0 -164
  53. package/v2Containers/WebPush/Create/components/ButtonsLinksSection.test.js +0 -463
  54. package/v2Containers/WebPush/Create/components/FormActions.js +0 -54
  55. package/v2Containers/WebPush/Create/components/FormActions.test.js +0 -163
  56. package/v2Containers/WebPush/Create/components/MediaSection.js +0 -142
  57. package/v2Containers/WebPush/Create/components/MediaSection.test.js +0 -341
  58. package/v2Containers/WebPush/Create/components/MessageSection.js +0 -103
  59. package/v2Containers/WebPush/Create/components/MessageSection.test.js +0 -268
  60. package/v2Containers/WebPush/Create/components/NotificationTitleSection.js +0 -87
  61. package/v2Containers/WebPush/Create/components/NotificationTitleSection.test.js +0 -210
  62. package/v2Containers/WebPush/Create/components/TemplateNameSection.js +0 -54
  63. package/v2Containers/WebPush/Create/components/TemplateNameSection.test.js +0 -143
  64. package/v2Containers/WebPush/Create/components/__snapshots__/ButtonsLinksSection.test.js.snap +0 -86
  65. package/v2Containers/WebPush/Create/components/__snapshots__/FormActions.test.js.snap +0 -16
  66. package/v2Containers/WebPush/Create/components/__snapshots__/MediaSection.test.js.snap +0 -41
  67. package/v2Containers/WebPush/Create/components/__snapshots__/MessageSection.test.js.snap +0 -54
  68. package/v2Containers/WebPush/Create/components/__snapshots__/NotificationTitleSection.test.js.snap +0 -37
  69. package/v2Containers/WebPush/Create/components/__snapshots__/TemplateNameSection.test.js.snap +0 -21
  70. package/v2Containers/WebPush/Create/components/_buttons.scss +0 -246
  71. package/v2Containers/WebPush/Create/components/tests/ButtonForm.test.js +0 -554
  72. package/v2Containers/WebPush/Create/components/tests/ButtonItem.test.js +0 -607
  73. package/v2Containers/WebPush/Create/components/tests/ButtonList.test.js +0 -633
  74. package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonForm.test.js.snap +0 -666
  75. package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonItem.test.js.snap +0 -74
  76. package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonList.test.js.snap +0 -78
  77. package/v2Containers/WebPush/Create/hooks/useButtonManagement.js +0 -138
  78. package/v2Containers/WebPush/Create/hooks/useButtonManagement.test.js +0 -406
  79. package/v2Containers/WebPush/Create/hooks/useCharacterCount.js +0 -30
  80. package/v2Containers/WebPush/Create/hooks/useCharacterCount.test.js +0 -151
  81. package/v2Containers/WebPush/Create/hooks/useImageUpload.js +0 -104
  82. package/v2Containers/WebPush/Create/hooks/useImageUpload.test.js +0 -538
  83. package/v2Containers/WebPush/Create/hooks/useTagManagement.js +0 -122
  84. package/v2Containers/WebPush/Create/hooks/useTagManagement.test.js +0 -633
  85. package/v2Containers/WebPush/Create/index.js +0 -1148
  86. package/v2Containers/WebPush/Create/index.scss +0 -134
  87. package/v2Containers/WebPush/Create/messages.js +0 -211
  88. package/v2Containers/WebPush/Create/preview/DevicePreviewContent.js +0 -228
  89. package/v2Containers/WebPush/Create/preview/NotificationContainer.js +0 -294
  90. package/v2Containers/WebPush/Create/preview/PreviewContent.js +0 -90
  91. package/v2Containers/WebPush/Create/preview/PreviewControls.js +0 -305
  92. package/v2Containers/WebPush/Create/preview/PreviewDisclaimer.js +0 -25
  93. package/v2Containers/WebPush/Create/preview/WebPushPreview.js +0 -155
  94. package/v2Containers/WebPush/Create/preview/assets/Light.svg +0 -53
  95. package/v2Containers/WebPush/Create/preview/assets/Top.svg +0 -5
  96. package/v2Containers/WebPush/Create/preview/assets/android-arrow-down.svg +0 -9
  97. package/v2Containers/WebPush/Create/preview/assets/android-arrow-up.svg +0 -9
  98. package/v2Containers/WebPush/Create/preview/assets/chrome-icon.png +0 -0
  99. package/v2Containers/WebPush/Create/preview/assets/edge-icon.png +0 -0
  100. package/v2Containers/WebPush/Create/preview/assets/firefox-icon.svg +0 -106
  101. package/v2Containers/WebPush/Create/preview/assets/iOS.svg +0 -26
  102. package/v2Containers/WebPush/Create/preview/assets/macos-arrow-down-icon.svg +0 -9
  103. package/v2Containers/WebPush/Create/preview/assets/macos-triple-dot-icon.svg +0 -9
  104. package/v2Containers/WebPush/Create/preview/assets/opera-icon.svg +0 -18
  105. package/v2Containers/WebPush/Create/preview/assets/safari-icon.svg +0 -29
  106. package/v2Containers/WebPush/Create/preview/assets/windows-close-icon.svg +0 -9
  107. package/v2Containers/WebPush/Create/preview/assets/windows-triple-dot-icon.svg +0 -9
  108. package/v2Containers/WebPush/Create/preview/components/AndroidMobileChromeHeader.js +0 -51
  109. package/v2Containers/WebPush/Create/preview/components/AndroidMobileExpanded.js +0 -145
  110. package/v2Containers/WebPush/Create/preview/components/IOSHeader.js +0 -45
  111. package/v2Containers/WebPush/Create/preview/components/NotificationExpandedContent.js +0 -68
  112. package/v2Containers/WebPush/Create/preview/components/NotificationHeader.js +0 -61
  113. package/v2Containers/WebPush/Create/preview/components/WindowsChromeExpanded.js +0 -99
  114. package/v2Containers/WebPush/Create/preview/components/tests/AndroidMobileExpanded.test.js +0 -733
  115. package/v2Containers/WebPush/Create/preview/components/tests/WindowsChromeExpanded.test.js +0 -571
  116. package/v2Containers/WebPush/Create/preview/components/tests/__snapshots__/AndroidMobileExpanded.test.js.snap +0 -85
  117. package/v2Containers/WebPush/Create/preview/components/tests/__snapshots__/WindowsChromeExpanded.test.js.snap +0 -81
  118. package/v2Containers/WebPush/Create/preview/config/notificationMappings.js +0 -50
  119. package/v2Containers/WebPush/Create/preview/constants.js +0 -637
  120. package/v2Containers/WebPush/Create/preview/notification-container.scss +0 -79
  121. package/v2Containers/WebPush/Create/preview/preview.scss +0 -358
  122. package/v2Containers/WebPush/Create/preview/styles/_android-mobile-chrome.scss +0 -370
  123. package/v2Containers/WebPush/Create/preview/styles/_android-mobile-edge.scss +0 -12
  124. package/v2Containers/WebPush/Create/preview/styles/_android-mobile-firefox.scss +0 -12
  125. package/v2Containers/WebPush/Create/preview/styles/_android-mobile-opera.scss +0 -12
  126. package/v2Containers/WebPush/Create/preview/styles/_android-tablet-chrome.scss +0 -47
  127. package/v2Containers/WebPush/Create/preview/styles/_android-tablet-edge.scss +0 -11
  128. package/v2Containers/WebPush/Create/preview/styles/_android-tablet-firefox.scss +0 -11
  129. package/v2Containers/WebPush/Create/preview/styles/_android-tablet-opera.scss +0 -11
  130. package/v2Containers/WebPush/Create/preview/styles/_base.scss +0 -207
  131. package/v2Containers/WebPush/Create/preview/styles/_ios.scss +0 -153
  132. package/v2Containers/WebPush/Create/preview/styles/_ipados.scss +0 -107
  133. package/v2Containers/WebPush/Create/preview/styles/_macos-chrome.scss +0 -101
  134. package/v2Containers/WebPush/Create/preview/styles/_windows-chrome.scss +0 -229
  135. package/v2Containers/WebPush/Create/preview/tests/DevicePreviewContent.test.js +0 -909
  136. package/v2Containers/WebPush/Create/preview/tests/NotificationContainer.test.js +0 -1081
  137. package/v2Containers/WebPush/Create/preview/tests/PreviewControls.test.js +0 -723
  138. package/v2Containers/WebPush/Create/preview/tests/WebPushPreview.test.js +0 -1327
  139. package/v2Containers/WebPush/Create/preview/tests/__snapshots__/DevicePreviewContent.test.js.snap +0 -131
  140. package/v2Containers/WebPush/Create/preview/tests/__snapshots__/NotificationContainer.test.js.snap +0 -112
  141. package/v2Containers/WebPush/Create/preview/tests/__snapshots__/PreviewControls.test.js.snap +0 -144
  142. package/v2Containers/WebPush/Create/preview/tests/__snapshots__/WebPushPreview.test.js.snap +0 -129
  143. package/v2Containers/WebPush/Create/utils/payloadBuilder.js +0 -96
  144. package/v2Containers/WebPush/Create/utils/payloadBuilder.test.js +0 -396
  145. package/v2Containers/WebPush/Create/utils/previewUtils.js +0 -89
  146. package/v2Containers/WebPush/Create/utils/urlValidation.js +0 -115
  147. package/v2Containers/WebPush/Create/utils/urlValidation.test.js +0 -449
  148. package/v2Containers/WebPush/Create/utils/validation.js +0 -76
  149. package/v2Containers/WebPush/Create/utils/validation.test.js +0 -283
  150. package/v2Containers/WebPush/actions.js +0 -60
  151. package/v2Containers/WebPush/constants.js +0 -132
  152. package/v2Containers/WebPush/index.js +0 -2
  153. package/v2Containers/WebPush/reducer.js +0 -104
  154. package/v2Containers/WebPush/sagas.js +0 -119
  155. package/v2Containers/WebPush/selectors.js +0 -65
  156. package/v2Containers/WebPush/tests/reducer.test.js +0 -863
  157. package/v2Containers/WebPush/tests/sagas.test.js +0 -566
  158. package/v2Containers/WebPush/tests/selectors.test.js +0 -960
@@ -24,24 +24,6 @@ jest.mock('../../../v2Components/FormBuilder', () => ({
24
24
  ),
25
25
  }));
26
26
 
27
- jest.mock('../../WebPush/Create/preview/DevicePreviewContent', () => ({
28
- __esModule: true,
29
- default: (props) => (
30
- <div className="DevicePreviewContent-mock" {...props}>
31
- DevicePreviewContent
32
- </div>
33
- ),
34
- }));
35
-
36
- jest.mock('../../WebPush', () => ({
37
- __esModule: true,
38
- default: (props) => (
39
- <div className="WebPush-mock" {...props}>
40
- WebPush
41
- </div>
42
- ),
43
- }));
44
-
45
27
  describe('Test SlideBoxContent container', () => {
46
28
  const onCreateComplete = jest.fn();
47
29
  let renderedComponent;
@@ -718,196 +700,4 @@ describe('Test SlideBoxContent container', () => {
718
700
  expect(renderedComponent).toMatchSnapshot();
719
701
  });
720
702
  });
721
-
722
- describe('WebPush channel functionality', () => {
723
- it('Should render correct component for webpush channel create mode', () => {
724
- renderFunction('WEBPUSH', 'createTemplate', { mode: 'create' });
725
- expect(renderedComponent).toMatchSnapshot();
726
- });
727
-
728
- it('Should render correct component for webpush channel edit mode', () => {
729
- const webpushEditTemplateData = {
730
- type: 'WEBPUSH',
731
- _id: '123',
732
- versions: {
733
- base: {
734
- content: {
735
- webpush: {
736
- title: 'Test Title',
737
- message: 'Test Message',
738
- }
739
- }
740
- }
741
- }
742
- };
743
- renderFunction('WEBPUSH', 'editTemplate', webpushEditTemplateData);
744
- expect(renderedComponent).toMatchSnapshot();
745
- });
746
-
747
- it('Should render correct component for webpush channel preview mode with all fields', () => {
748
- const webpushPreviewTemplateData = {
749
- type: 'WEBPUSH',
750
- versions: {
751
- base: {
752
- content: {
753
- webpush: {
754
- title: 'Test Notification Title',
755
- message: 'Test notification body text',
756
- image: 'https://example.com/image.jpg',
757
- brandIcon: 'https://example.com/brand-icon.png',
758
- onClickAction: {
759
- url: 'https://example.com'
760
- }
761
- }
762
- }
763
- }
764
- }
765
- };
766
- renderFunction('WEBPUSH', 'preview', webpushPreviewTemplateData);
767
- expect(renderedComponent).toMatchSnapshot();
768
- });
769
-
770
- it('Should render correct component for webpush channel preview mode with minimal fields', () => {
771
- const webpushPreviewTemplateData = {
772
- type: 'WEBPUSH',
773
- versions: {
774
- base: {
775
- content: {
776
- webpush: {
777
- title: 'Test Title',
778
- message: 'Test Message'
779
- }
780
- }
781
- }
782
- }
783
- };
784
- renderFunction('WEBPUSH', 'preview', webpushPreviewTemplateData);
785
- expect(renderedComponent).toMatchSnapshot();
786
- });
787
-
788
- it('Should render correct component for webpush channel preview mode with empty fields', () => {
789
- const webpushPreviewTemplateData = {
790
- type: 'WEBPUSH',
791
- versions: {
792
- base: {
793
- content: {
794
- webpush: {}
795
- }
796
- }
797
- }
798
- };
799
- renderFunction('WEBPUSH', 'preview', webpushPreviewTemplateData);
800
- expect(renderedComponent).toMatchSnapshot();
801
- });
802
-
803
- it('Should render correct component for webpush channel preview mode with missing onClickAction url', () => {
804
- const webpushPreviewTemplateData = {
805
- type: 'WEBPUSH',
806
- versions: {
807
- base: {
808
- content: {
809
- webpush: {
810
- title: 'Test Title',
811
- message: 'Test Message',
812
- onClickAction: {}
813
- }
814
- }
815
- }
816
- }
817
- };
818
- renderFunction('WEBPUSH', 'preview', webpushPreviewTemplateData);
819
- expect(renderedComponent).toMatchSnapshot();
820
- });
821
-
822
- it('Should render correct component for webpush channel preview mode with null onClickAction', () => {
823
- const webpushPreviewTemplateData = {
824
- type: 'WEBPUSH',
825
- versions: {
826
- base: {
827
- content: {
828
- webpush: {
829
- title: 'Test Title',
830
- message: 'Test Message',
831
- onClickAction: null
832
- }
833
- }
834
- }
835
- }
836
- };
837
- renderFunction('WEBPUSH', 'preview', webpushPreviewTemplateData);
838
- expect(renderedComponent).toMatchSnapshot();
839
- });
840
-
841
- it('Should handle supportedTags prop in webpush create mode', () => {
842
- renderFunction('WEBPUSH', 'createTemplate', { mode: 'create' }, {
843
- supportedTags: ['tag1', 'tag2']
844
- });
845
- expect(renderedComponent).toMatchSnapshot();
846
- });
847
-
848
- it('Should handle supportedTags prop in webpush edit mode', () => {
849
- const webpushEditTemplateData = {
850
- type: 'WEBPUSH',
851
- _id: '123',
852
- versions: {
853
- base: {
854
- content: {
855
- webpush: {
856
- title: 'Test Title',
857
- message: 'Test Message',
858
- }
859
- }
860
- }
861
- }
862
- };
863
- renderFunction('WEBPUSH', 'editTemplate', webpushEditTemplateData, {
864
- supportedTags: ['tag1', 'tag2']
865
- });
866
- expect(renderedComponent).toMatchSnapshot();
867
- });
868
-
869
- it('Should handle webpush create mode with all props', () => {
870
- renderFunction('WEBPUSH', 'createTemplate', { mode: 'create' }, {
871
- isFullMode: true,
872
- handleClose: jest.fn(),
873
- onCreateComplete: jest.fn(),
874
- creativesMode: 'test',
875
- getDefaultTags: 'outbound',
876
- forwardedTags: {},
877
- supportedTags: ['tag1'],
878
- selectedOfferDetails: [],
879
- eventContextTags: {}
880
- });
881
- expect(renderedComponent).toMatchSnapshot();
882
- });
883
-
884
- it('Should handle webpush edit mode with all props', () => {
885
- const webpushEditTemplateData = {
886
- type: 'WEBPUSH',
887
- _id: '123',
888
- versions: {
889
- base: {
890
- content: {
891
- webpush: {
892
- title: 'Test Title',
893
- message: 'Test Message',
894
- }
895
- }
896
- }
897
- }
898
- };
899
- renderFunction('WEBPUSH', 'editTemplate', webpushEditTemplateData, {
900
- isFullMode: true,
901
- handleClose: jest.fn(),
902
- onCreateComplete: jest.fn(),
903
- creativesMode: 'test',
904
- getDefaultTags: 'outbound',
905
- forwardedTags: {},
906
- supportedTags: ['tag1'],
907
- selectedOfferDetails: [],
908
- eventContextTags: {}
909
- });
910
- expect(renderedComponent).toMatchSnapshot();
911
- });
912
- });
913
703
  });
@@ -1425,310 +1425,6 @@ exports[`Test SlideBoxContent container Should render correctly with isTestAndPr
1425
1425
  </SlideBoxContent__CreativesWrapper>
1426
1426
  `;
1427
1427
 
1428
- exports[`Test SlideBoxContent container WebPush channel functionality Should handle supportedTags prop in webpush create mode 1`] = `
1429
- <SlideBoxContent__CreativesWrapper>
1430
- <_default
1431
- getDefaultTags=""
1432
- location={
1433
- Object {
1434
- "pathname": "/webpush/create",
1435
- "query": Object {
1436
- "isEditFromCampaigns": undefined,
1437
- "module": "library",
1438
- "type": "embedded",
1439
- },
1440
- "search": "",
1441
- }
1442
- }
1443
- onCreateComplete={[MockFunction]}
1444
- supportedTags={
1445
- Array [
1446
- "tag1",
1447
- "tag2",
1448
- ]
1449
- }
1450
- />
1451
- </SlideBoxContent__CreativesWrapper>
1452
- `;
1453
-
1454
- exports[`Test SlideBoxContent container WebPush channel functionality Should handle supportedTags prop in webpush edit mode 1`] = `
1455
- <SlideBoxContent__CreativesWrapper>
1456
- <_default
1457
- getDefaultTags=""
1458
- location={
1459
- Object {
1460
- "pathname": "/webpush/edit",
1461
- "query": Object {
1462
- "isEditFromCampaigns": undefined,
1463
- "module": "library",
1464
- "type": "embedded",
1465
- },
1466
- "search": "",
1467
- }
1468
- }
1469
- onCreateComplete={[MockFunction]}
1470
- params={
1471
- Object {
1472
- "id": "123",
1473
- }
1474
- }
1475
- supportedTags={
1476
- Array [
1477
- "tag1",
1478
- "tag2",
1479
- ]
1480
- }
1481
- templateData={
1482
- Object {
1483
- "_id": "123",
1484
- "type": "WEBPUSH",
1485
- "versions": Object {
1486
- "base": Object {
1487
- "content": Object {
1488
- "webpush": Object {
1489
- "message": "Test Message",
1490
- "title": "Test Title",
1491
- },
1492
- },
1493
- },
1494
- },
1495
- }
1496
- }
1497
- />
1498
- </SlideBoxContent__CreativesWrapper>
1499
- `;
1500
-
1501
- exports[`Test SlideBoxContent container WebPush channel functionality Should handle webpush create mode with all props 1`] = `
1502
- <SlideBoxContent__CreativesWrapper>
1503
- <_default
1504
- creativesMode="test"
1505
- eventContextTags={Object {}}
1506
- forwardedTags={Object {}}
1507
- getDefaultTags=""
1508
- handleClose={[MockFunction]}
1509
- isFullMode={true}
1510
- location={
1511
- Object {
1512
- "pathname": "/webpush/create",
1513
- "query": Object {
1514
- "isEditFromCampaigns": undefined,
1515
- "module": "default",
1516
- "type": false,
1517
- },
1518
- "search": "",
1519
- }
1520
- }
1521
- onCreateComplete={[MockFunction]}
1522
- selectedOfferDetails={Array []}
1523
- supportedTags={
1524
- Array [
1525
- "tag1",
1526
- ]
1527
- }
1528
- />
1529
- </SlideBoxContent__CreativesWrapper>
1530
- `;
1531
-
1532
- exports[`Test SlideBoxContent container WebPush channel functionality Should handle webpush edit mode with all props 1`] = `
1533
- <SlideBoxContent__CreativesWrapper>
1534
- <_default
1535
- creativesMode="test"
1536
- eventContextTags={Object {}}
1537
- forwardedTags={Object {}}
1538
- getDefaultTags=""
1539
- handleClose={[MockFunction]}
1540
- isFullMode={true}
1541
- location={
1542
- Object {
1543
- "pathname": "/webpush/edit",
1544
- "query": Object {
1545
- "isEditFromCampaigns": undefined,
1546
- "module": "default",
1547
- "type": false,
1548
- },
1549
- "search": "",
1550
- }
1551
- }
1552
- onCreateComplete={[MockFunction]}
1553
- params={
1554
- Object {
1555
- "id": "123",
1556
- }
1557
- }
1558
- selectedOfferDetails={Array []}
1559
- supportedTags={
1560
- Array [
1561
- "tag1",
1562
- ]
1563
- }
1564
- templateData={
1565
- Object {
1566
- "_id": "123",
1567
- "type": "WEBPUSH",
1568
- "versions": Object {
1569
- "base": Object {
1570
- "content": Object {
1571
- "webpush": Object {
1572
- "message": "Test Message",
1573
- "title": "Test Title",
1574
- },
1575
- },
1576
- },
1577
- },
1578
- }
1579
- }
1580
- />
1581
- </SlideBoxContent__CreativesWrapper>
1582
- `;
1583
-
1584
- exports[`Test SlideBoxContent container WebPush channel functionality Should render correct component for webpush channel create mode 1`] = `
1585
- <SlideBoxContent__CreativesWrapper>
1586
- <_default
1587
- getDefaultTags=""
1588
- location={
1589
- Object {
1590
- "pathname": "/webpush/create",
1591
- "query": Object {
1592
- "isEditFromCampaigns": undefined,
1593
- "module": "library",
1594
- "type": "embedded",
1595
- },
1596
- "search": "",
1597
- }
1598
- }
1599
- onCreateComplete={[MockFunction]}
1600
- supportedTags={Array []}
1601
- />
1602
- </SlideBoxContent__CreativesWrapper>
1603
- `;
1604
-
1605
- exports[`Test SlideBoxContent container WebPush channel functionality Should render correct component for webpush channel edit mode 1`] = `
1606
- <SlideBoxContent__CreativesWrapper>
1607
- <_default
1608
- getDefaultTags=""
1609
- location={
1610
- Object {
1611
- "pathname": "/webpush/edit",
1612
- "query": Object {
1613
- "isEditFromCampaigns": undefined,
1614
- "module": "library",
1615
- "type": "embedded",
1616
- },
1617
- "search": "",
1618
- }
1619
- }
1620
- onCreateComplete={[MockFunction]}
1621
- params={
1622
- Object {
1623
- "id": "123",
1624
- }
1625
- }
1626
- supportedTags={Array []}
1627
- templateData={
1628
- Object {
1629
- "_id": "123",
1630
- "type": "WEBPUSH",
1631
- "versions": Object {
1632
- "base": Object {
1633
- "content": Object {
1634
- "webpush": Object {
1635
- "message": "Test Message",
1636
- "title": "Test Title",
1637
- },
1638
- },
1639
- },
1640
- },
1641
- }
1642
- }
1643
- />
1644
- </SlideBoxContent__CreativesWrapper>
1645
- `;
1646
-
1647
- exports[`Test SlideBoxContent container WebPush channel functionality Should render correct component for webpush channel preview mode with all fields 1`] = `
1648
- <SlideBoxContent__CreativesWrapper>
1649
- <div
1650
- className="webpush-preview-container"
1651
- >
1652
- <_default
1653
- brandIconSrc="https://example.com/brand-icon.png"
1654
- imageSrc="https://example.com/image.jpg"
1655
- layoutMode="compact"
1656
- notificationBody="Test notification body text"
1657
- notificationTitle="Test Notification Title"
1658
- url="https://example.com"
1659
- />
1660
- </div>
1661
- </SlideBoxContent__CreativesWrapper>
1662
- `;
1663
-
1664
- exports[`Test SlideBoxContent container WebPush channel functionality Should render correct component for webpush channel preview mode with empty fields 1`] = `
1665
- <SlideBoxContent__CreativesWrapper>
1666
- <div
1667
- className="webpush-preview-container"
1668
- >
1669
- <_default
1670
- brandIconSrc=""
1671
- imageSrc=""
1672
- layoutMode="compact"
1673
- notificationBody=""
1674
- notificationTitle=""
1675
- url=""
1676
- />
1677
- </div>
1678
- </SlideBoxContent__CreativesWrapper>
1679
- `;
1680
-
1681
- exports[`Test SlideBoxContent container WebPush channel functionality Should render correct component for webpush channel preview mode with minimal fields 1`] = `
1682
- <SlideBoxContent__CreativesWrapper>
1683
- <div
1684
- className="webpush-preview-container"
1685
- >
1686
- <_default
1687
- brandIconSrc=""
1688
- imageSrc=""
1689
- layoutMode="compact"
1690
- notificationBody="Test Message"
1691
- notificationTitle="Test Title"
1692
- url=""
1693
- />
1694
- </div>
1695
- </SlideBoxContent__CreativesWrapper>
1696
- `;
1697
-
1698
- exports[`Test SlideBoxContent container WebPush channel functionality Should render correct component for webpush channel preview mode with missing onClickAction url 1`] = `
1699
- <SlideBoxContent__CreativesWrapper>
1700
- <div
1701
- className="webpush-preview-container"
1702
- >
1703
- <_default
1704
- brandIconSrc=""
1705
- imageSrc=""
1706
- layoutMode="compact"
1707
- notificationBody="Test Message"
1708
- notificationTitle="Test Title"
1709
- url=""
1710
- />
1711
- </div>
1712
- </SlideBoxContent__CreativesWrapper>
1713
- `;
1714
-
1715
- exports[`Test SlideBoxContent container WebPush channel functionality Should render correct component for webpush channel preview mode with null onClickAction 1`] = `
1716
- <SlideBoxContent__CreativesWrapper>
1717
- <div
1718
- className="webpush-preview-container"
1719
- >
1720
- <_default
1721
- brandIconSrc=""
1722
- imageSrc=""
1723
- layoutMode="compact"
1724
- notificationBody="Test Message"
1725
- notificationTitle="Test Title"
1726
- url=""
1727
- />
1728
- </div>
1729
- </SlideBoxContent__CreativesWrapper>
1730
- `;
1731
-
1732
1428
  exports[`Test SlideBoxContent container getChannelPreviewContent utility function Should handle FACEBOOK channel preview content 1`] = `
1733
1429
  <SlideBoxContent__CreativesWrapper>
1734
1430
  <InjectIntl(TemplatePreview)
@@ -62,6 +62,7 @@ export class Email extends React.Component { // eslint-disable-line react/prefer
62
62
  isEdit: false,
63
63
  schema: {},
64
64
  loading: false,
65
+ isFormValid: true,
65
66
  injectedTags: {},
66
67
  checkValidation: false,
67
68
  saveEdmDataMode: 'save',
@@ -888,7 +889,9 @@ export class Email extends React.Component { // eslint-disable-line react/prefer
888
889
  return '';
889
890
  }
890
891
 
891
- setFormValidity = () => {}
892
+ setFormValidity = (isFormValid) => {
893
+ this.setState({isFormValid});
894
+ }
892
895
 
893
896
  setEditData(editData) {
894
897
  const isBEESupport = (this.props.location.query.isBEESupport !== "false") || false;
@@ -1115,6 +1118,7 @@ export class Email extends React.Component { // eslint-disable-line react/prefer
1115
1118
  isEdit: false,
1116
1119
  schema: {},
1117
1120
  loading: false,
1121
+ isFormValid: true,
1118
1122
  injectedTags: {},
1119
1123
  checkValidation: false,
1120
1124
  tabKey: '',
@@ -2456,14 +2460,14 @@ export class Email extends React.Component { // eslint-disable-line react/prefer
2456
2460
  }
2457
2461
 
2458
2462
  saveFormData = (passedData) => {
2463
+ //saveFormData gets called only when validation result is true
2459
2464
  if (this.state.gettingFormData && !this.props.isFullMode) {
2460
2465
  const response = {
2461
2466
  action: "getFormData",
2462
2467
  postAction: this.state.getFormDataValue || 'next',
2463
2468
  id: _.get(this.props, 'Email.templateDetails._id', ''),
2464
2469
  value: this.transformFormData(passedData),
2465
- //saveFormData gets called only when validation result is true
2466
- validity: true,
2470
+ validity: this.state.isFormValid,
2467
2471
  type: 'EMAIL',
2468
2472
  };
2469
2473
 
@@ -285,7 +285,7 @@ export class FTP extends React.Component {
285
285
  const { formatMessage } = this.props.intl;
286
286
  const { metaEntities, selectedOfferDetails, injectedTags } = this.props;
287
287
  const tagsRaw = metaEntities && metaEntities.tags ? metaEntities.tags.standard : [];
288
- const validateTagResponse = this.props?.isFullMode ? this.validateTags(messageContent, tagsTree, injectedTags) : { valid: true, unsupportedTags: [] };
288
+ const validateTagResponse = this.validateTags(messageContent, tagsTree, injectedTags);
289
289
  let unsupportedTags = null;
290
290
  let errorMessageText = '';
291
291
  if (!validateTagResponse.valid) {
@@ -395,7 +395,6 @@ export const InApp = (props) => {
395
395
  injectedTagsParams: injectedTags,
396
396
  location,
397
397
  tagModule: getDefaultTags,
398
- isFullMode,
399
398
  }) || {};
400
399
  if (value === '' && INAPP_MEDIA_TYPES.NONE) {
401
400
  errorMessage = formatMessage(messages.emptyTemplateDescErrorMessage);
@@ -140,7 +140,6 @@ export const LineText = ({
140
140
  injectedTagsParams: injectedTags,
141
141
  location,
142
142
  tagModule: 'outbound',
143
- isFullMode,
144
143
  }) || {};
145
144
  if (value.trim() === '') {
146
145
  errorMessage = formatMessage(messages.emptyContentErrorMessage);
@@ -805,7 +805,6 @@ const MobilePushNew = ({
805
805
  injectedTagsParams: injectedTags,
806
806
  location,
807
807
  tagModule: getDefaultTags,
808
- isFullMode,
809
808
  }) || {};
810
809
  if (value === "" && MEDIA_TYPES_OPTIONS[0].value) {
811
810
  errorTemplateDescMessage = formatMessage(
@@ -399,7 +399,6 @@ export const Rcs = (props) => {
399
399
  location,
400
400
  tagModule: getDefaultTags,
401
401
  eventContextTags,
402
- isFullMode,
403
402
  }) || {};
404
403
  const unsupportedTagsLengthCheck =
405
404
  validationResponse?.unsupportedTags?.length > 0;
@@ -841,7 +840,6 @@ export const Rcs = (props) => {
841
840
  injectedTagsParams: injectedTags,
842
841
  location,
843
842
  tagModule: getDefaultTags,
844
- isFullMode,
845
843
  }) || {};
846
844
 
847
845
  const maxLength = templateType === contentType.text_message
@@ -875,7 +873,6 @@ export const Rcs = (props) => {
875
873
  injectedTagsParams: injectedTags,
876
874
  location,
877
875
  tagModule: getDefaultTags,
878
- isFullMode,
879
876
  }) || {};
880
877
  if (value?.length > FALLBACK_MESSAGE_MAX_LENGTH) {
881
878
  errorMessage = formatMessage(messages.fallbackMsgLenError);
@@ -243,7 +243,6 @@ export const SmsTraiEdit = (props) => {
243
243
  location,
244
244
  tagModule: getDefaultTags,
245
245
  eventContextTags,
246
- isFullMode,
247
246
  }) || {};
248
247
  updateIsTagValidationError(
249
248
  tagValidationResponse.unsupportedTags.length > 0,
@@ -14,7 +14,7 @@ import inAppIllustration from '@capillarytech/cap-ui-library/assets/images/featu
14
14
  import messages from './messages';
15
15
  import { FormattedMessage } from 'react-intl';
16
16
  import { CapIllustration } from "@capillarytech/cap-ui-library";
17
- import { MOBILE_PUSH, SMS, EMAIL, LINE, VIBER, FACEBOOK, WHATSAPP, RCS, ZALO, INAPP, WEBPUSH } from '../CreativesContainer/constants';
17
+ import { MOBILE_PUSH, SMS, EMAIL, LINE, VIBER, FACEBOOK, WHATSAPP, RCS, ZALO, INAPP } from '../CreativesContainer/constants';
18
18
 
19
19
 
20
20
  // Configuration object for channel types
@@ -133,18 +133,6 @@ function ChannelTypeIllustration(props) {
133
133
  };
134
134
  }
135
135
 
136
- if (type === WEBPUSH) {
137
- return {
138
- buttonLabel: <FormattedMessage {...messages.newWebPushTemplate} values={{ template: templateText }} />,
139
- onClick: createTemplate,
140
- illustrationImage: pushIllustration,
141
- title: <FormattedMessage {...messages.webPushTitleIllustration} values={{ template: templateText }} />,
142
- description: <FormattedMessage {...messages.webPushDescIllustration} />,
143
- descriptionPosition: 'bottom',
144
- descriptionClassName: 'illustration-desc',
145
- };
146
- }
147
-
148
136
  // Handle standard channels using configuration
149
137
  const config = CHANNEL_CONFIG[type];
150
138
  if (!config) {