@capillarytech/creatives-library 3.9.21 → 3.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/components/TemplatePreview/WechatRichmediaTemplatePreview/index.js +7 -7
  2. package/components/TemplatePreview/_templatePreview.scss +20 -287
  3. package/components/TemplatePreview/index.js +31 -203
  4. package/components/TemplatePreview/messages.js +0 -21
  5. package/containers/Assets/Gallery/index.js +59 -53
  6. package/containers/Cap/index.js +0 -1
  7. package/index.js +0 -6
  8. package/package.json +1 -1
  9. package/routes.js +0 -5
  10. package/services/getSchema.js +1 -4
  11. package/translations/en.json +1 -29
  12. package/translations/zh.json +1 -29
  13. package/v2Components/FormBuilder/index.js +37 -188
  14. package/v2Components/FormBuilder/messages.js +0 -16
  15. package/v2Components/MobilePushPreviewV2/index.js +36 -44
  16. package/v2Components/MobilePushPreviewV2/messages.js +8 -0
  17. package/v2Components/TemplatePreview/WechatRichmediaTemplatePreview/_wechatRichmediaTemplatePrev.scss +0 -64
  18. package/v2Components/TemplatePreview/WechatRichmediaTemplatePreview/index.js +18 -100
  19. package/v2Components/TemplatePreview/WechatRichmediaTemplatePreview/messages.js +0 -12
  20. package/v2Components/TemplatePreview/_templatePreview.scss +4 -24
  21. package/v2Components/TemplatePreview/index.js +23 -162
  22. package/v2Components/TemplatePreview/messages.js +0 -8
  23. package/v2Containers/Assets/Gallery/index.js +48 -54
  24. package/v2Containers/CreativesContainer/SlideBoxContent.js +4 -87
  25. package/v2Containers/CreativesContainer/SlideBoxHeader.js +1 -1
  26. package/v2Containers/CreativesContainer/index.js +2 -58
  27. package/v2Containers/CreativesContainer/messages.js +2 -2
  28. package/v2Containers/Email/_email.scss +1 -7
  29. package/v2Containers/Email/index.js +14 -40
  30. package/v2Containers/Email/messages.js +0 -4
  31. package/v2Containers/Email/reducer.js +0 -1
  32. package/v2Containers/EmailWrapper/index.js +5 -7
  33. package/v2Containers/Line/Create/_lineCreate.scss +19 -40
  34. package/v2Containers/Line/Create/actions.js +9 -13
  35. package/v2Containers/Line/Create/index.js +237 -498
  36. package/v2Containers/Line/Create/messages.js +2 -42
  37. package/v2Containers/Line/Create/sagas.js +4 -10
  38. package/v2Containers/Line/Create/selectors.js +9 -3
  39. package/v2Containers/MobilePush/Create/index.js +0 -5
  40. package/v2Containers/MobilePush/Edit/index.js +0 -5
  41. package/v2Containers/MobilepushWrapper/index.js +1 -4
  42. package/v2Containers/Sms/Create/index.js +1 -2
  43. package/v2Containers/Sms/Edit/index.js +0 -2
  44. package/v2Containers/Templates/_templates.scss +1 -24
  45. package/v2Containers/Templates/actions.js +0 -7
  46. package/v2Containers/Templates/constants.js +0 -2
  47. package/v2Containers/Templates/index.js +15 -118
  48. package/v2Containers/Templates/messages.js +0 -8
  49. package/v2Containers/Templates/reducer.js +0 -2
  50. package/v2Containers/TemplatesV2/index.js +4 -5
  51. package/v2Containers/TemplatesV2/messages.js +0 -4
  52. package/assets/IPad.js +0 -23
  53. package/assets/index.js +0 -1
  54. package/assets/lineImageTemplate.png +0 -0
  55. package/components/TemplatePreview/assets/images/HomeScreenAndroid.js +0 -53
  56. package/components/TemplatePreview/assets/images/SmsMobileAndroid.js +0 -52
  57. package/components/TemplatePreview/assets/images/SmsMobileIos.js +0 -71
  58. package/components/TemplatePreview/assets/images/UserIcon.js +0 -24
  59. package/components/TemplatePreview/assets/images/WechatMobileAndroid.js +0 -53
  60. package/components/TemplatePreview/assets/images/home-screen-android.svg +0 -21
  61. package/components/TemplatePreview/assets/images/home-screen-ios.svg +0 -16
  62. package/components/TemplatePreview/assets/images/sms_mobile_android.svg +0 -22
  63. package/components/TemplatePreview/assets/images/sms_mobile_ios.svg +0 -16
  64. package/components/TemplatePreview/assets/images/wechat_mobile_android.svg +0 -20
  65. package/v2Components/TemplatePreview/assets/images/HomeScreenAndroid.js +0 -53
  66. package/v2Components/TemplatePreview/assets/images/SmsMobileAndroid.js +0 -52
  67. package/v2Components/TemplatePreview/assets/images/UserIcon.js +0 -24
  68. package/v2Components/TemplatePreview/assets/images/WechatHomeScreenAndroid.js +0 -74
  69. package/v2Components/TemplatePreview/assets/images/WechatMobileAndroid.js +0 -53
  70. package/v2Components/TemplatePreview/assets/images/home-screen-android.svg +0 -21
  71. package/v2Components/TemplatePreview/assets/images/home-screen-ios.svg +0 -16
  72. package/v2Components/TemplatePreview/assets/images/sms_mobile_android.svg +0 -22
  73. package/v2Components/TemplatePreview/assets/images/wechat-home-screen-android.svg +0 -21
  74. package/v2Components/TemplatePreview/assets/images/wechat_mobile_android.svg +0 -20
  75. package/v2Containers/Assets/images/CalltaskIllustration.js +0 -71
  76. package/v2Containers/Assets/images/EmailIllustration.js +0 -87
  77. package/v2Containers/Assets/images/ImageGalleryIllustration.js +0 -60
  78. package/v2Containers/Assets/images/PushIllustration.js +0 -60
  79. package/v2Containers/Assets/images/SmsIllustration.js +0 -191
  80. package/v2Containers/Assets/images/WechatIllustration.js +0 -90
  81. package/v2Containers/Assets/images/index.js +0 -6
  82. package/v2Containers/Line/Create/initialSchema.js +0 -378
  83. package/v2Containers/Line/CreateWrapper/constants.js +0 -2
  84. package/v2Containers/Line/CreateWrapper/index.js +0 -117
  85. package/v2Containers/Line/CreateWrapper/messages.js +0 -55
@@ -1,7 +1,6 @@
1
1
  {
2
2
  "app.components.TemplatePreview.includesOptoutTag": "Includes optout tag",
3
3
  "app.components.TemplatePreview.optoutCharactersTotal": "Includes optout tag ({optoutUrlLength} characters)",
4
- "creatives.components.TemplatePreview.unicodeIconTooltip": "This message has unicode characters. This may affect the cost per message.",
5
4
  "creatives.components.BreadCrumbs.header": "This is the BreadCrumbs component !",
6
5
  "creatives.components.CapTagList.Cancel": "Cancel",
7
6
  "creatives.components.CapTagList.Ok": "Ok",
@@ -113,8 +112,6 @@
113
112
  "creatives.componentsV2.FormBuilder.contentNotValidLanguage": "Content is not valid for language:",
114
113
  "creatives.componentsV2.FormBuilder.dragAndDrop": "Drag and drop image here",
115
114
  "creatives.componentsV2.FormBuilder.header": "This is the FormBuilder component !",
116
- "creatives.componentsV2.FormBuilder.imageDimenstionDescription": "Dimensions: 300px x 400px Size: 30mb",
117
- "creatives.componentsV2.FormBuilder.imageReUpload": "Re upload",
118
115
  "creatives.componentsV2.FormBuilder.layoutSelection": "Layout Selection",
119
116
  "creatives.componentsV2.FormBuilder.loadingEDMTemplates": "Loading EDM Templates",
120
117
  "creatives.componentsV2.FormBuilder.missingTags": "Missing tags are:",
@@ -123,8 +120,6 @@
123
120
  "creatives.componentsV2.FormBuilder.selectAFile": "Select a file from your computer",
124
121
  "creatives.componentsV2.FormBuilder.unsupportedTags": "Unsupported tags are:",
125
122
  "creatives.componentsV2.FormBuilder.upload": "Upload",
126
- "creatives.componentsV2.FormBuilder.uploadComputer": "Your computer",
127
- "creatives.componentsV2.FormBuilder.uploadGallery": "Gallery",
128
123
  "creatives.componentsV2.FormBuilder.yes": "Yes",
129
124
  "creatives.componentsV2.Header.cancel": "Cancel",
130
125
  "creatives.componentsV2.Header.header": "This is the Header component !",
@@ -234,7 +229,6 @@
234
229
  "creatives.containers.Create.graphic_details_page": "Whether to display the graphic cover on the graphic details page",
235
230
  "creatives.containers.Create.header": "This is Create container !",
236
231
  "creatives.containers.Create.http_example": "Example: http://example.com",
237
- "creatives.containers.Create.imageGallery": "Gallery",
238
232
  "creatives.containers.Create.markFinalVersionLabel": "Mark as final",
239
233
  "creatives.containers.Create.maxContentCount": "You have reached the maximum template size",
240
234
  "creatives.containers.Create.messageLabel": "Message",
@@ -252,17 +246,9 @@
252
246
  "creatives.containers.Create.sourceLinkEmpty": "Cannot leave source link field empty",
253
247
  "creatives.containers.Create.tagsErrorMessage": "\"Optout\" label is mandatory. Please add \"Optout\" label to this message",
254
248
  "creatives.containers.Create.tagsLabel": "Tags",
255
- "creatives.containers.Create.templateAddTag": "Add tag",
256
249
  "creatives.containers.Create.templateDataNotValid": "Template data is not valid",
257
250
  "creatives.containers.Create.templateMarkedFinal": "Template Marked as Final Successfully",
258
- "creatives.containers.Create.templateMessageError": "Template content cannot be empty!",
259
- "creatives.containers.Create.templateMessagePlaceholder": "Please input line template content.",
260
- "creatives.containers.Create.templateMessagePreviewPropsError": "Please upload image",
261
- "creatives.containers.Create.templateMessagePreviewPropsInductiveText": "The relevant image that complements the message context.",
262
- "creatives.containers.Create.templateMessagePreviewPropsLabel": "Upload image content",
263
- "creatives.containers.Create.templateNameErrorPlaceholder": "Template name cannot be empty.",
264
251
  "creatives.containers.Create.templateNamePlaceHolder": "Enter template name",
265
- "creatives.containers.Create.templatePlaceholder": "Enter template name",
266
252
  "creatives.containers.Create.titleCharacterCount": "Title exceeds character count limit by",
267
253
  "creatives.containers.Create.titleEmpty": "Cannot leave title field empty",
268
254
  "creatives.containers.Create.titleNameRepeated": "Title name cannot be repeated",
@@ -1065,7 +1051,6 @@
1065
1051
  "creatives.containersV2.Line.Create.image": "Please upload an image to proceed",
1066
1052
  "creatives.containersV2.Line.Create.inputLineTemplateContent": "Please enter the message content",
1067
1053
  "creatives.containersV2.Line.Create.line": "Line",
1068
- "creatives.containersV2.Line.Create.lineTemplateCreatedSuccessfully": "Line template created successfully",
1069
1054
  "creatives.containersV2.Line.Create.maxUploadFileSize": "Max file size acceptable is 5mb",
1070
1055
  "creatives.containersV2.Line.Create.maximumCharacterLengthExceeds": "Maximum characters length exceeds",
1071
1056
  "creatives.containersV2.Line.Create.message": "Message",
@@ -1080,6 +1065,7 @@
1080
1065
  "creatives.containersV2.Line.Create.somethingWentWrong": "Something went wrong!!",
1081
1066
  "creatives.containersV2.Line.Create.template": "Template",
1082
1067
  "creatives.containersV2.Line.Create.templateCantEmpty": "Template name cannot be empty",
1068
+ "creatives.containersV2.Line.Create.templateCreatedSuccessfully": "Line template created successfully",
1083
1069
  "creatives.containersV2.Line.Create.templateEditedSuccessfully": "Line template edited successfully",
1084
1070
  "creatives.containersV2.Line.Create.templateNameNotEmpty": "Please provide a template name",
1085
1071
  "creatives.containersV2.Line.Create.templateNotConfigured": "template not configured,",
@@ -1092,17 +1078,6 @@
1092
1078
  "creatives.containersV2.Line.Create.uploadSuccess": "Photo uploaded successfully",
1093
1079
  "creatives.containersV2.Line.Create.uploadingImage": "Uploading image...",
1094
1080
  "creatives.containersV2.Line.Create.valueCantEmpty": "value cannot be empty.",
1095
- "creatives.containersV2.Line.CreateWrapper.accountLineListDescription": "Choose the account to send content",
1096
- "creatives.containersV2.Line.CreateWrapper.accountLineListTitle": "Line accounts",
1097
- "creatives.containersV2.Line.CreateWrapper.accountLineNoListTitle": "No line accounts present",
1098
- "creatives.containersV2.Line.CreateWrapper.continue": "Continue",
1099
- "creatives.containersV2.Line.CreateWrapper.hybridTemplateDescription": "Used to create combined text & image or video content",
1100
- "creatives.containersV2.Line.CreateWrapper.hybridTemplateTitle": "Hybrid",
1101
- "creatives.containersV2.Line.CreateWrapper.imageTemplateDescription": "Used for creating image or video content",
1102
- "creatives.containersV2.Line.CreateWrapper.imageTemplateTitle": "Image/video template",
1103
- "creatives.containersV2.Line.CreateWrapper.templateType": "Select the type of content",
1104
- "creatives.containersV2.Line.CreateWrapper.textTemplateDescription": "Used for announcing offers and transaction related information",
1105
- "creatives.containersV2.Line.CreateWrapper.textTemplateTitle": "Text template",
1106
1081
  "creatives.containersV2.Line.Edit.Campaigns": "Campaigns",
1107
1082
  "creatives.containersV2.Line.Edit.Creatives": "Creatives",
1108
1083
  "creatives.containersV2.Line.Edit.Image": "Image",
@@ -1330,7 +1305,6 @@
1330
1305
  "creatives.containersV2.Templates.imageTemplate": "Image",
1331
1306
  "creatives.containersV2.Templates.invalidUploadFileError": "File cannot be uploaded. Please select another file with valid file format.",
1332
1307
  "creatives.containersV2.Templates.layoutSelection": "Select layout",
1333
- "creatives.containersV2.Templates.lineAccount": "Line account",
1334
1308
  "creatives.containersV2.Templates.lineHeader": "Line",
1335
1309
  "creatives.containersV2.Templates.mapTemplate": "Map template",
1336
1310
  "creatives.containersV2.Templates.mapTemplates": "Map templates",
@@ -1343,7 +1317,6 @@
1343
1317
  "creatives.containersV2.Templates.newTemplate": "New template",
1344
1318
  "creatives.containersV2.Templates.noAccountMessage": "Please select an account to proceed",
1345
1319
  "creatives.containersV2.Templates.noAccountsPresent": "Push notifications are not setup for your brand",
1346
- "creatives.containersV2.Templates.noAccountsPresentLine": "Line accounts are not setup for your brand",
1347
1320
  "creatives.containersV2.Templates.noAccountsPresentWeChat": "Wechat accounts are not setup for your brand",
1348
1321
  "creatives.containersV2.Templates.noTemplatesFound": "No templates found",
1349
1322
  "creatives.containersV2.Templates.noTemplatesMessage": "No templates available",
@@ -1390,7 +1363,6 @@
1390
1363
  "creatives.containersV2.TemplatesV2.facebook": "Facebook",
1391
1364
  "creatives.containersV2.TemplatesV2.gallery": "Gallery",
1392
1365
  "creatives.containersV2.TemplatesV2.header": "This is TemplatesV2 container !",
1393
- "creatives.containersV2.TemplatesV2.line": "Line",
1394
1366
  "creatives.containersV2.TemplatesV2.pushNotification": "Push notification",
1395
1367
  "creatives.containersV2.TemplatesV2.select": "Select",
1396
1368
  "creatives.containersV2.TemplatesV2.sms": "SMS",
@@ -1,7 +1,6 @@
1
1
  {
2
2
  "app.components.TemplatePreview.includesOptoutTag": "",
3
3
  "app.components.TemplatePreview.optoutCharactersTotal": "",
4
- "creatives.components.TemplatePreview.unicodeIconTooltip": "",
5
4
  "creatives.components.BreadCrumbs.header": "",
6
5
  "creatives.components.CapTagList.Cancel": "",
7
6
  "creatives.components.CapTagList.Ok": "",
@@ -113,8 +112,6 @@
113
112
  "creatives.componentsV2.FormBuilder.contentNotValidLanguage": "",
114
113
  "creatives.componentsV2.FormBuilder.dragAndDrop": "",
115
114
  "creatives.componentsV2.FormBuilder.header": "",
116
- "creatives.componentsV2.FormBuilder.imageDimenstionDescription": "",
117
- "creatives.componentsV2.FormBuilder.imageReUpload": "",
118
115
  "creatives.componentsV2.FormBuilder.layoutSelection": "",
119
116
  "creatives.componentsV2.FormBuilder.loadingEDMTemplates": "",
120
117
  "creatives.componentsV2.FormBuilder.missingTags": "",
@@ -123,8 +120,6 @@
123
120
  "creatives.componentsV2.FormBuilder.selectAFile": "",
124
121
  "creatives.componentsV2.FormBuilder.unsupportedTags": "",
125
122
  "creatives.componentsV2.FormBuilder.upload": "",
126
- "creatives.componentsV2.FormBuilder.uploadComputer": "",
127
- "creatives.componentsV2.FormBuilder.uploadGallery": "",
128
123
  "creatives.componentsV2.FormBuilder.yes": "",
129
124
  "creatives.componentsV2.Header.cancel": "",
130
125
  "creatives.componentsV2.Header.header": "",
@@ -234,7 +229,6 @@
234
229
  "creatives.containers.Create.graphic_details_page": "",
235
230
  "creatives.containers.Create.header": "",
236
231
  "creatives.containers.Create.http_example": "",
237
- "creatives.containers.Create.imageGallery": "",
238
232
  "creatives.containers.Create.markFinalVersionLabel": "",
239
233
  "creatives.containers.Create.maxContentCount": "",
240
234
  "creatives.containers.Create.messageLabel": "",
@@ -252,17 +246,9 @@
252
246
  "creatives.containers.Create.sourceLinkEmpty": "",
253
247
  "creatives.containers.Create.tagsErrorMessage": "",
254
248
  "creatives.containers.Create.tagsLabel": "",
255
- "creatives.containers.Create.templateAddTag": "",
256
249
  "creatives.containers.Create.templateDataNotValid": "",
257
250
  "creatives.containers.Create.templateMarkedFinal": "",
258
- "creatives.containers.Create.templateMessageError": "",
259
- "creatives.containers.Create.templateMessagePlaceholder": "",
260
- "creatives.containers.Create.templateMessagePreviewPropsError": "",
261
- "creatives.containers.Create.templateMessagePreviewPropsInductiveText": "",
262
- "creatives.containers.Create.templateMessagePreviewPropsLabel": "",
263
- "creatives.containers.Create.templateNameErrorPlaceholder": "",
264
251
  "creatives.containers.Create.templateNamePlaceHolder": "",
265
- "creatives.containers.Create.templatePlaceholder": "",
266
252
  "creatives.containers.Create.titleCharacterCount": "",
267
253
  "creatives.containers.Create.titleEmpty": "",
268
254
  "creatives.containers.Create.titleNameRepeated": "",
@@ -1065,7 +1051,6 @@
1065
1051
  "creatives.containersV2.Line.Create.image": "",
1066
1052
  "creatives.containersV2.Line.Create.inputLineTemplateContent": "",
1067
1053
  "creatives.containersV2.Line.Create.line": "",
1068
- "creatives.containersV2.Line.Create.lineTemplateCreatedSuccessfully": "",
1069
1054
  "creatives.containersV2.Line.Create.maxUploadFileSize": "",
1070
1055
  "creatives.containersV2.Line.Create.maximumCharacterLengthExceeds": "",
1071
1056
  "creatives.containersV2.Line.Create.message": "",
@@ -1080,6 +1065,7 @@
1080
1065
  "creatives.containersV2.Line.Create.somethingWentWrong": "",
1081
1066
  "creatives.containersV2.Line.Create.template": "",
1082
1067
  "creatives.containersV2.Line.Create.templateCantEmpty": "",
1068
+ "creatives.containersV2.Line.Create.templateCreatedSuccessfully": "",
1083
1069
  "creatives.containersV2.Line.Create.templateEditedSuccessfully": "",
1084
1070
  "creatives.containersV2.Line.Create.templateNameNotEmpty": "",
1085
1071
  "creatives.containersV2.Line.Create.templateNotConfigured": "",
@@ -1092,17 +1078,6 @@
1092
1078
  "creatives.containersV2.Line.Create.uploadSuccess": "",
1093
1079
  "creatives.containersV2.Line.Create.uploadingImage": "",
1094
1080
  "creatives.containersV2.Line.Create.valueCantEmpty": "",
1095
- "creatives.containersV2.Line.CreateWrapper.accountLineListDescription": "",
1096
- "creatives.containersV2.Line.CreateWrapper.accountLineListTitle": "",
1097
- "creatives.containersV2.Line.CreateWrapper.accountLineNoListTitle": "",
1098
- "creatives.containersV2.Line.CreateWrapper.continue": "",
1099
- "creatives.containersV2.Line.CreateWrapper.hybridTemplateDescription": "",
1100
- "creatives.containersV2.Line.CreateWrapper.hybridTemplateTitle": "",
1101
- "creatives.containersV2.Line.CreateWrapper.imageTemplateDescription": "",
1102
- "creatives.containersV2.Line.CreateWrapper.imageTemplateTitle": "",
1103
- "creatives.containersV2.Line.CreateWrapper.templateType": "",
1104
- "creatives.containersV2.Line.CreateWrapper.textTemplateDescription": "",
1105
- "creatives.containersV2.Line.CreateWrapper.textTemplateTitle": "",
1106
1081
  "creatives.containersV2.Line.Edit.Campaigns": "",
1107
1082
  "creatives.containersV2.Line.Edit.Creatives": "",
1108
1083
  "creatives.containersV2.Line.Edit.Image": "",
@@ -1330,7 +1305,6 @@
1330
1305
  "creatives.containersV2.Templates.imageTemplate": "",
1331
1306
  "creatives.containersV2.Templates.invalidUploadFileError": "",
1332
1307
  "creatives.containersV2.Templates.layoutSelection": "",
1333
- "creatives.containersV2.Templates.lineAccount": "",
1334
1308
  "creatives.containersV2.Templates.lineHeader": "",
1335
1309
  "creatives.containersV2.Templates.mapTemplate": "",
1336
1310
  "creatives.containersV2.Templates.mapTemplates": "",
@@ -1343,7 +1317,6 @@
1343
1317
  "creatives.containersV2.Templates.newTemplate": "",
1344
1318
  "creatives.containersV2.Templates.noAccountMessage": "",
1345
1319
  "creatives.containersV2.Templates.noAccountsPresent": "",
1346
- "creatives.containersV2.Templates.noAccountsPresentLine": "",
1347
1320
  "creatives.containersV2.Templates.noAccountsPresentWeChat": "",
1348
1321
  "creatives.containersV2.Templates.noTemplatesFound": "",
1349
1322
  "creatives.containersV2.Templates.noTemplatesMessage": "",
@@ -1390,7 +1363,6 @@
1390
1363
  "creatives.containersV2.TemplatesV2.facebook": "",
1391
1364
  "creatives.containersV2.TemplatesV2.gallery": "",
1392
1365
  "creatives.containersV2.TemplatesV2.header": "",
1393
- "creatives.containersV2.TemplatesV2.line": "",
1394
1366
  "creatives.containersV2.TemplatesV2.pushNotification": "",
1395
1367
  "creatives.containersV2.TemplatesV2.select": "",
1396
1368
  "creatives.containersV2.TemplatesV2.sms": "",
@@ -11,10 +11,9 @@ import PropTypes from 'prop-types';
11
11
  import React from 'react';
12
12
  import _ from 'lodash';
13
13
  import { Tabs, Table, Modal} from 'antd';
14
- import { CapDrawer, CapButton, CapInput, CapPopover, CapImage, CapCheckbox, CapRadio, CapSelect, CapTable, CapRow, CapColumn, CapNotification, CapUploader, CapHeading, CapIcon} from '@capillarytech/cap-ui-library';
14
+ import { CapButton, CapInput, CapPopover, CapCheckbox, CapRadio, CapSelect, CapTable, CapRow, CapColumn, CapNotification, CapUploader, CapHeading, CapIcon} from '@capillarytech/cap-ui-library';
15
15
  import { injectIntl, intlShape, FormattedMessage } from 'react-intl';
16
16
  import LabelHOC from '@capillarytech/cap-ui-library/assets/HOCs/ComponentWithLabelHOC';
17
- import { CAP_SPACE_12, CAP_SPACE_08, FONT_COLOR_05, FONT_COLOR_04 } from '@capillarytech/cap-ui-library/styled/variables';
18
17
  import TemplatePreview from '../TemplatePreview';
19
18
  import TagList from '../../v2Containers/TagList';
20
19
  import SlideBox from '../SlideBox';
@@ -25,7 +24,7 @@ import CustomPopOver from '../CustomPopOver';
25
24
  import messages from './messages';
26
25
  import './_formBuilder.scss';
27
26
  import {updateCharCount, checkUnicode} from "../../utils/smsCharCountV2";
28
- import { SMS, LINE } from '../../v2Containers/CreativesContainer/constants';
27
+ import {SMS} from '../../v2Containers/CreativesContainer/constants';
29
28
  const TabPane = Tabs.TabPane;
30
29
  const {Column} = Table;
31
30
  const {TextArea} = CapInput;
@@ -56,7 +55,6 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
56
55
  currentEventData: {},
57
56
  popoverVisible: false,
58
57
  customPopoverVisible: false,
59
- isDrawerVisible: false,
60
58
  };
61
59
  this.renderForm = this.renderForm.bind(this);
62
60
  this.updateFormData = this.updateFormData.bind(this);
@@ -209,7 +207,7 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
209
207
  if (nextProps.isNewVersionFlow && !this.state.formData[this.state.currentTab - 1][this.state.formData[this.state.currentTab - 1].activeTab].tabKey) {
210
208
  this.resetTabKeys(nextProps.formData, nextProps.tabCount, false, true);
211
209
  }
212
- if (type === 'embedded' || ( this.props.schema.channel && this.props.schema.channel.toUpperCase() === 'EMAIL')) {
210
+ if (type === 'embedded' || this.props.schema.channel.toUpperCase() === 'EMAIL') {
213
211
  this.validateForm();
214
212
  }
215
213
  if ((this.props.schema && this.props.schema.channel && this.props.schema.channel.toUpperCase() === 'MOBILEPUSH')) {
@@ -255,11 +253,6 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
255
253
  if (nextProps.modal && (!_.isEqual(nextProps.modal, this.props.modal) || _.isEmpty(this.state.modal))) {
256
254
  this.setState({modal: nextProps.modal});
257
255
  }
258
- if (nextProps.isDrawerRequired !== this.props.isDrawerRequired) {
259
- this.setState({
260
- isDrawerVisible: nextProps.isDrawerRequired,
261
- });
262
- }
263
256
  }
264
257
 
265
258
  onEdit() {
@@ -491,74 +484,38 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
491
484
  }
492
485
 
493
486
  //validation for LINE
494
- if (channel === LINE) {
487
+ if (this.props.schema.channel === 'LINE') {
495
488
 
496
- if (this.state.formData['message-editor'] !== undefined ) {
497
- const content = this.state.formData['0']['message-editor'] || '';
489
+ if (this.state.formData['0']['message-editor'] !== undefined ) {
490
+ const content = this.state.formData['0']['message-editor'];
498
491
 
499
- const tagValidationResponse = this.validateTags((content), tags, injectedTags);
492
+ const tagValidationResponse = this.validateTags(content, tags, injectedTags);
500
493
 
501
494
  if (tagValidationResponse.valid) {
502
- errorData = {
503
- ...errorData,
504
- 0: {
505
- ...errorData[0],
506
- 'message-editor': false,
507
- }
508
- };
495
+ errorData['0']['message-editor'] = false;
509
496
  } else {
510
- errorData = {
511
- ...errorData,
512
- 0: {
513
- ...errorData[0],
514
- 'message-editor': true,
515
- }
516
- };
497
+
498
+ errorData['0']['message-editor'] = true;
517
499
  isValid = false;
518
500
  }
519
501
  if (content.trim() === '') {
520
- errorData = {
521
- ...errorData,
522
- 0: {
523
- ...errorData[0],
524
- 'message-editor': true,
525
- }
526
- };
502
+
503
+ errorData['0']['message-editor'] = true;
527
504
  isValid = false;
528
505
  }
529
506
  }
530
507
 
531
- if (this.state.formData['image-upload-line'] !== undefined) {
532
- const {
533
- formData: {
534
- 0: {
535
- image,
536
- imagePreview,
537
- }
538
- }
539
- } = this.state;
540
- const imgContentLength = image ? image.length : 0;
541
- const imgContentLengthPreview = imagePreview ? imagePreview.length : 0;
508
+ if ( (this.state.formData['0'].image !== undefined) && (this.state.formData['0'].imagePreview !== undefined)){
509
+ const imgContentLength = this.state.formData['0'].image.length;
510
+ const imgContentLengthPreview = this.state.formData['0'].imagePreview.length;
542
511
  if ( (imgContentLength < 1) && (imgContentLengthPreview < 1) ) {
543
512
 
544
- errorData = {
545
- ...errorData,
546
- 0: {
547
- ...errorData[0],
548
- image: true,
549
- imagePreview: true,
550
- }
551
- };
513
+ errorData['0'].image = true;
514
+ errorData['0'].imagePreview = true;
552
515
  isValid = false;
553
516
  }else{
554
- errorData = {
555
- ...errorData,
556
- 0: {
557
- ...errorData[0],
558
- image: false,
559
- imagePreview: false,
560
- }
561
- };
517
+ errorData['0'].image = false;
518
+ errorData['0'].imagePreview = false;
562
519
  }
563
520
  }
564
521
  if(type !== 'embedded' && (!this.state.formData['template-name'] || this.state.formData['template-name'] === '')) {
@@ -1192,7 +1149,7 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
1192
1149
  // this.formElements.push(col.id);
1193
1150
  // }
1194
1151
  if (!col.onlyDisplay && !ifError) {
1195
- if (col.id && col.id.indexOf('tagList-') === -1) {
1152
+ if (col.id.indexOf('tagList-') === -1) {
1196
1153
  this.formElements.push(col.id);
1197
1154
  }
1198
1155
 
@@ -1392,7 +1349,7 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
1392
1349
  delete tempFormData[key];
1393
1350
  } else if (typeof element === "object") {
1394
1351
  _.forEach(element, (innerElement, innerKey) => {
1395
- if (innerKey !== "tabKey" && innerKey !== "base" && innerKey !== 'name' && innerKey !== 'imagePreview' && innerKey !== 'image' && this.formElements.indexOf(innerKey) === -1) {
1352
+ if (innerKey !== "tabKey" && innerKey !== "base" && innerKey !== 'name' && innerKey !== 'imagePreview' && this.formElements.indexOf(innerKey) === -1) {
1396
1353
  delete tempFormData[key][innerKey];
1397
1354
  }
1398
1355
  });
@@ -1964,7 +1921,7 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
1964
1921
  return;
1965
1922
  } else if (event === 'markFinalVersion' || event === 'duplicateVersion' || event === 'deleteVersion' || event === 'renameVersion') {
1966
1923
  this.setState({ popoverVisible: false });
1967
- if ((event !== 'deleteVersion' && !this.props.isNewVersionFlow) || ((event === 'deleteVersion') && this.props.schema.channel && this.props.schema.channel.toUpperCase() === 'EMAIL')) {
1924
+ if ((event !== 'deleteVersion' && !this.props.isNewVersionFlow) || ((event === 'deleteVersion') && this.props.schema.channel.toUpperCase() === 'EMAIL')) {
1968
1925
  val.injectedEvents[event].call(this.props.parent, data, this.state.currentTab);
1969
1926
  } else {
1970
1927
  this.setState({currentEvent: val.injectedEvents[event], currentEventData: data});
@@ -2143,8 +2100,8 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
2143
2100
  img.src = _URL.createObjectURL(file);
2144
2101
  img.onload = () => {
2145
2102
  const fileParams = {
2146
- width: this.width || img.width,
2147
- height: this.height || img.height,
2103
+ width: this.width,
2104
+ height: this.height,
2148
2105
  error: file.size / (1e+6) > 3,
2149
2106
  };
2150
2107
  this.callChildEvent({file, type: 'image', fileParams}, val, val.submitAction);
@@ -2197,7 +2154,7 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
2197
2154
  //
2198
2155
  const imgSrc = template && template.versions && template.versions.base ? template.versions.base.preview_http_url : '';
2199
2156
  // const ifPreviewGenerated = template && template.versions && template.versions.base ? template.versions.base.isPreviewGenerated : 0;
2200
- const content = <CapImage src={imgSrc || ''} alt="" />;
2157
+ const content = <img src={imgSrc || ''} alt="" />;
2201
2158
 
2202
2159
  temp.content = (
2203
2160
  <div
@@ -2382,10 +2339,8 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
2382
2339
  content={content}
2383
2340
  charCounterEnabled={val.charCounterEnabled}
2384
2341
  unicodeEnabled={unicodeEnabled}
2385
- showTestAndPreviewIcon
2386
- onPreviewContentClicked={this.props.onPreviewContentClicked}
2387
- onTestContentClicked={this.props.onTestContentClicked}
2388
- />
2342
+ >
2343
+ </TemplatePreview>
2389
2344
  </CapColumn>
2390
2345
  );
2391
2346
  break;
@@ -2577,81 +2532,6 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
2577
2532
  }
2578
2533
  }
2579
2534
 
2580
- onGalleryClick = (event) => {
2581
- event.stopPropagation();
2582
- this.props.setDrawerVisibility(true);
2583
- }
2584
-
2585
- onReUpload = () => {
2586
- const { formData } = this.state;
2587
- this.props.onChange({
2588
- ...formData,
2589
- 0: {
2590
- ...formData[0],
2591
- image: undefined,
2592
- imagePreview: undefined,
2593
- },
2594
- base: {
2595
- ...formData.base,
2596
- image: undefined,
2597
- imagePreview: undefined,
2598
- },
2599
- reUpload: true,
2600
- });
2601
- }
2602
-
2603
- getUploadVariants = (isImage, val) => {
2604
- if (this.props.schema && this.props.schema.channel === 'LINE') {
2605
- if (!isImage) {
2606
- return (
2607
- <>
2608
- <CapUploader.CapDragger
2609
- customRequest={(data) => this.capUploaderCustomRequest(data, val)}
2610
- {...val.componentProps}
2611
- className="form-builder-dragger"
2612
- >
2613
- <CapHeading className="dragger-title" type="h7">
2614
- <FormattedMessage {...messages.dragAndDrop} />
2615
- </CapHeading>
2616
- <CapHeading className="dragger-or" type="label6">
2617
- <FormattedMessage {...messages.or} />
2618
- </CapHeading>
2619
- <CapButton className="dragger-button" type="secondary" style={{marginRight: CAP_SPACE_08}}>
2620
- <FormattedMessage {...messages.uploadComputer} />
2621
- </CapButton>
2622
- <CapButton
2623
- className="dragger-button"
2624
- type="secondary"
2625
- style={{marginLeft: CAP_SPACE_08}}
2626
- onClick={this.onGalleryClick}
2627
- >
2628
- <FormattedMessage {...messages.uploadGallery} />
2629
- </CapButton>
2630
- </CapUploader.CapDragger>
2631
- <CapHeading type="h6" style={{marginTop: CAP_SPACE_12 }}>
2632
- <FormattedMessage {...messages.imageDimenstionDescription} />
2633
- </CapHeading>
2634
- </>
2635
- );
2636
- }
2637
- return (
2638
- <CapButton
2639
- className="dragger-button"
2640
- type="flat"
2641
- style={{top: 0, position: 'absolute', right: 0, color: FONT_COLOR_05 }}
2642
- onClick={this.onReUpload}
2643
- >
2644
- <FormattedMessage {...messages.imageReUpload} />
2645
- </CapButton>
2646
- );
2647
- }
2648
- return (
2649
- <CapButton disabled={val.disabled ? val.disabled : false} type="flat" prefix={<CapIcon size="s" type="add-photo" />} onClick={(e) => this.openFileDialog(e, val.id)} style={{float: 'right', color: `${val.disabled ? FONT_COLOR_04 : FONT_COLOR_05}`}}>
2650
- {val.label}
2651
- </CapButton>
2652
- );
2653
- }
2654
-
2655
2535
  renderMultiColSection(section, childIndex) {
2656
2536
  const fields = [];
2657
2537
  let contentSections = [];
@@ -2698,6 +2578,7 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
2698
2578
  );
2699
2579
  return true;
2700
2580
  }
2581
+
2701
2582
  switch (type) {
2702
2583
  case "input":
2703
2584
  ifError = this.state.checkValidation && (isVersionEnable ? this.state.errorData[`${this.state.currentTab - 1}`][val.id] : this.state.errorData[val.id]);
@@ -2825,7 +2706,7 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
2825
2706
  <div>
2826
2707
  <div className={`image-container ${ifError ? 'error' : ''}`}>
2827
2708
  {self.state && !!self.state.formData[`${self.state.currentTab - 1}`].image ?
2828
- <CapImage src={self.state.formData[`${self.state.currentTab - 1}`].image} alt={val.alt} style={val.style}/>
2709
+ <img src={self.state.formData[`${self.state.currentTab - 1}`].image} alt={val.alt} style={val.style}/>
2829
2710
  :
2830
2711
  <div style={{width: "100%", textAlign: "center"}}><span className="image-placeholder">{val.placeholder}</span></div>
2831
2712
  }
@@ -2836,22 +2717,13 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
2836
2717
  );
2837
2718
  break;
2838
2719
  case 'upload':
2839
- const {
2840
- formData: {
2841
- [`${self.state.currentTab - 1}`]: {
2842
- image,
2843
- } = {},
2844
- } = {},
2845
- } = self.state;
2846
- const isImage = !!image;
2847
2720
  ifError = (this.state.checkValidation || this.props.startValidation) && (isVersionEnable ? this.state.errorData[`${this.state.currentTab - 1}`][val.id] : this.state.errorData[val.id]);
2848
2721
  const ImageComponent = (props) => (
2849
2722
  <div key={`${val.id}-${this.state.currentTab}`}>
2850
2723
  <div className={`image-container ${props.ifError ? 'error' : ''}`}>
2851
-
2852
- {isImage ?
2853
- <CapImage src={self.state.formData[`${self.state.currentTab - 1}`].image} alt={props.alt} style={props.style}/>
2854
- :
2724
+ {self.state && !!self.state.formData[`${self.state.currentTab - 1}`].image ?
2725
+ <img src={self.state.formData[`${self.state.currentTab - 1}`].image} alt={props.alt} style={props.style}/>
2726
+ :
2855
2727
  <div style={{width: "100%", textAlign: "center"}}><span className="image-placeholder">{props.placeholder}</span></div>
2856
2728
  }
2857
2729
  </div>
@@ -2864,7 +2736,9 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
2864
2736
  {val.showPreview && <WithLabel key={`${val.id}-with-label`} {...rest} errorMessage={ifError && errorMessage} ifError={ifError}/>}
2865
2737
  <form encType="multipart/form-data" id={val.id}>
2866
2738
  <input key={val.id} style={{ display: 'none'}} id="fileName" type="file" onChange={(e) => this.uploadImages(e, {files: e.target.files}, val)} accept={val.supportedExtensions ? val.supportedExtensions : "image/*"} />
2867
- {this.getUploadVariants(isImage, val)}
2739
+ <CapButton disabled={val.disabled ? val.disabled : false} type="flat" prefix={<CapIcon size="s" type="add-photo" />} onClick={(e) => this.openFileDialog(e, val.id)} style={{float: 'right', color: `${val.disabled ? '#b3bac5' : '#2466ea'}`}}>
2740
+ {val.label}
2741
+ </CapButton>
2868
2742
  </form>
2869
2743
  </CapColumn>
2870
2744
  );
@@ -2909,16 +2783,11 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
2909
2783
  );
2910
2784
  break;
2911
2785
  case "tag-list":
2912
- let moduleFilterEnabled = this.props.location && this.props.location.query && this.props.location.query.type !== 'embedded';
2913
- const channel = _.get(this.props, 'schema.channel', "");
2914
- if (channel === 'EMAIL') {
2915
- moduleFilterEnabled = this.props.isFullMode;
2916
- }
2917
2786
  columns.push(
2918
2787
  <CapColumn key={`input-${val.id}`} offset={val.offset} span={val.width ? val.width : ''} style={val.style ? val.style : {marginBottom: '16px'}}>
2919
2788
  <TagList
2920
2789
  key={`input-${val.id}`}
2921
- moduleFilterEnabled={moduleFilterEnabled}
2790
+ moduleFilterEnabled={this.props.location && this.props.location.query && this.props.location.query.type !== 'embedded'}
2922
2791
  label={val.label ? val.label : ''}
2923
2792
  onTagSelect={(data) => this.callChildEvent(data, val, 'onTagSelect')}
2924
2793
  onContextChange={this.props.onContextChange}
@@ -2941,7 +2810,7 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
2941
2810
  type={val.buttonType}
2942
2811
  icon={val.icon}
2943
2812
  disabled={val.disabled ? val.disabled : false}
2944
- onClick={(data) => val.id === 'save-button' ? this.saveForm() : this.callChildEvent(data, val, val.submitAction)}>
2813
+ onClick={(data) => this.callChildEvent(data, val, val.submitAction)}>
2945
2814
  {val.value}
2946
2815
  </CapButton>
2947
2816
  </CapColumn>
@@ -2965,9 +2834,6 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
2965
2834
  content={content}
2966
2835
  charCounterEnabled={val.charCounterEnabled}
2967
2836
  unicodeEnabled={unicodeEnabled}
2968
- showTestAndPreviewIcon
2969
- onPreviewContentClicked={this.props.onPreviewContentClicked}
2970
- onTestContentClicked={this.props.onTestContentClicked}
2971
2837
  >
2972
2838
  </TemplatePreview>
2973
2839
  </CapColumn>
@@ -3017,10 +2883,6 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
3017
2883
  ],
3018
2884
  appName: val.content.appName,
3019
2885
  }}
3020
- showTestAndPreviewIcon
3021
- onPreviewContentClicked={this.props.onPreviewContentClicked}
3022
- onTestContentClicked={this.props.onTestContentClicked}
3023
- templateDataRaw={this.props.templateData}
3024
2886
  >
3025
2887
  </TemplatePreview>
3026
2888
  </CapColumn>
@@ -3434,16 +3296,6 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
3434
3296
  loadingText={this.props.intl.formatMessage(messages.loadingEDMTemplates)}
3435
3297
  isLoading={this.props.getCmsTemplatesInProgress}
3436
3298
  />
3437
- {
3438
- this.props.capDrawerContent && (
3439
- <CapDrawer
3440
- content={this.props.capDrawerContent}
3441
- visible={this.state.isDrawerVisible}
3442
- width={380}
3443
- onClose={() => this.props.setDrawerVisibility(false)}
3444
- />
3445
- )
3446
- }
3447
3299
  </CapRow>
3448
3300
  );
3449
3301
  }
@@ -3494,9 +3346,6 @@ FormBuilder.propTypes = {
3494
3346
  handleDelete: PropTypes.func,
3495
3347
  intl: intlShape.isRequired,
3496
3348
  selectedOfferDetails: PropTypes.array,
3497
- setDrawerVisibility: PropTypes.bool,
3498
- capDrawerContent: PropTypes.array,
3499
- isFullMode: PropTypes.bool,
3500
3349
  };
3501
3350
 
3502
3351
  export default injectIntl(FormBuilder);
@@ -58,20 +58,4 @@ export default defineMessages({
58
58
  id: 'creatives.componentsV2.FormBuilder.loadingEDMTemplates',
59
59
  defaultMessage: 'Loading EDM Templates',
60
60
  },
61
- uploadComputer: {
62
- id: 'creatives.componentsV2.FormBuilder.uploadComputer',
63
- defaultMessage: 'Your computer',
64
- },
65
- uploadGallery: {
66
- id: 'creatives.componentsV2.FormBuilder.uploadGallery',
67
- defaultMessage: 'Gallery',
68
- },
69
- imageDimenstionDescription: {
70
- id: 'creatives.componentsV2.FormBuilder.imageDimenstionDescription',
71
- defaultMessage: 'Dimensions: 300px x 400px Size: 30mb',
72
- },
73
- imageReUpload: {
74
- id: 'creatives.componentsV2.FormBuilder.imageReUpload',
75
- defaultMessage: 'Re upload',
76
- },
77
61
  });