@capillarytech/creatives-library 6.9.2 → 6.9.5

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 +1 -0
  4. package/components/TemplatePreview/_templatePreview.scss +6 -0
  5. package/components/TemplatePreview/index.js +35 -28
  6. package/config/app.js +1 -1
  7. package/containers/TagList/index.js +4 -5
  8. package/index.html +0 -5
  9. package/package.json +1 -2
  10. package/services/api.js +1 -16
  11. package/v2Components/CapTagList/index.js +26 -55
  12. package/v2Components/Carousel/index.js +120 -0
  13. package/v2Components/Carousel/style.scss +40 -0
  14. package/v2Components/CmsTemplatesComponent/index.js +4 -4
  15. package/v2Components/Edmeditor/index.js +1 -1
  16. package/v2Components/EmailPreview/_emailPreview.scss +2 -2
  17. package/v2Components/FormBuilder/index.js +43 -79
  18. package/v2Components/TemplatePreview/WechatRichmediaTemplatePreview/_wechatRichmediaTemplatePrev.scss +151 -151
  19. package/v2Components/TemplatePreview/WechatRichmediaTemplatePreview/messages.js +33 -33
  20. package/v2Components/TemplatePreview/WechatRichmediaTemplatePreview/tests/index.test.js +10 -10
  21. package/v2Components/TemplatePreview/_templatePreview.scss +1 -0
  22. package/v2Components/TemplatePreview/assets/images/androidPushMessage.svg +44 -44
  23. package/v2Components/TemplatePreview/assets/images/home-screen-android.svg +21 -21
  24. package/v2Components/TemplatePreview/assets/images/home-screen-ios.svg +16 -16
  25. package/v2Components/TemplatePreview/assets/images/iPhonePushMessage.svg +134 -134
  26. package/v2Components/TemplatePreview/assets/images/mobile.svg +23 -23
  27. package/v2Components/TemplatePreview/assets/images/sms_mobile_android.svg +22 -22
  28. package/v2Components/TemplatePreview/assets/images/user-icon.svg +18 -18
  29. package/v2Components/TemplatePreview/assets/images/wechat-home-screen-android.svg +21 -21
  30. package/v2Components/TemplatePreview/assets/images/wechat-mobile.svg +77 -77
  31. package/v2Components/TemplatePreview/assets/images/wechat_mobile_android.svg +20 -20
  32. package/v2Components/TemplatePreview/index.js +36 -29
  33. package/v2Components/TemplatePreview/tests/index.test.js +10 -10
  34. package/v2Containers/CreativesContainer/SlideBoxContent.js +7 -1
  35. package/v2Containers/CreativesContainer/SlideBoxFooter.js +51 -51
  36. package/v2Containers/CreativesContainer/actions.js +27 -27
  37. package/v2Containers/CreativesContainer/constants.js +17 -17
  38. package/v2Containers/CreativesContainer/index.js +2 -7
  39. package/v2Containers/CreativesContainer/index.scss +44 -44
  40. package/v2Containers/CreativesContainer/messages.js +305 -305
  41. package/v2Containers/CreativesContainer/reducer.js +29 -29
  42. package/v2Containers/CreativesContainer/sagas.js +11 -11
  43. package/v2Containers/CreativesContainer/selectors.js +30 -30
  44. package/v2Containers/CreativesContainer/tests/actions.test.js +18 -18
  45. package/v2Containers/CreativesContainer/tests/index.test.js +10 -10
  46. package/v2Containers/CreativesContainer/tests/reducer.test.js +9 -9
  47. package/v2Containers/CreativesContainer/tests/sagas.test.js +15 -15
  48. package/v2Containers/CreativesContainer/tests/selectors.test.js +10 -10
  49. package/v2Containers/Email/constants.js +0 -1
  50. package/v2Containers/Email/index.js +115 -169
  51. package/v2Containers/Email/initialSchema.js +3 -18
  52. package/v2Containers/Email/sagas.js +2 -2
  53. package/v2Containers/Email/selectors.js +0 -5
  54. package/v2Containers/EmailWrapper/index.js +3 -19
  55. package/v2Containers/Line/Container/Image/index.js +21 -19
  56. package/v2Containers/Line/Container/ImageCarousel/Content.js +554 -0
  57. package/v2Containers/Line/Container/ImageCarousel/constants.js +10 -0
  58. package/v2Containers/Line/Container/ImageCarousel/index.js +526 -0
  59. package/v2Containers/Line/Container/ImageCarousel/messages.js +178 -0
  60. package/v2Containers/Line/Container/ImageCarousel/style.js +61 -0
  61. package/v2Containers/Line/Container/ImageMap/constants.js +2 -1
  62. package/v2Containers/Line/Container/ImageMap/index.js +31 -6
  63. package/v2Containers/Line/Container/ImageMap/messages.js +12 -0
  64. package/v2Containers/Line/Container/Wrapper/index.js +5 -1
  65. package/v2Containers/Line/Container/Wrapper/messages.js +4 -0
  66. package/v2Containers/Line/Container/Wrapper/utils.js +15 -16
  67. package/v2Containers/Line/Container/_lineCreate.scss +2 -2
  68. package/v2Containers/Line/Container/actions.js +4 -2
  69. package/v2Containers/Line/Container/constants.js +3 -0
  70. package/v2Containers/Line/Container/index.js +49 -11
  71. package/v2Containers/Line/Container/reducer.js +2 -2
  72. package/v2Containers/Line/Container/sagas.js +2 -2
  73. package/v2Containers/Line/Container/style.js +2 -1
  74. package/v2Containers/TagList/index.js +0 -6
  75. package/v2Containers/Templates/_templates.scss +9 -0
  76. package/v2Containers/Templates/actions.js +117 -122
  77. package/v2Containers/Templates/constants.js +47 -49
  78. package/v2Containers/Templates/index.js +47 -36
  79. package/v2Containers/Templates/messages.js +4 -8
  80. package/v2Containers/Templates/reducer.js +145 -153
  81. package/v2Containers/Templates/sagas.js +179 -179
  82. package/v2Containers/Templates/selectors.js +1 -19
  83. package/v2Containers/Templates/tests/actions.test.js +18 -18
  84. package/v2Containers/Templates/tests/index.test.js +10 -10
  85. package/v2Containers/Templates/tests/reducer.test.js +9 -9
  86. package/v2Containers/Templates/tests/sagas.test.js +15 -15
  87. package/v2Containers/Templates/tests/selectors.test.js +10 -10
  88. package/v2Containers/TemplatesV2/TemplatesV2.style.js +29 -29
  89. package/v2Containers/TemplatesV2/actions.js +16 -16
  90. package/v2Containers/TemplatesV2/constants.js +10 -10
  91. package/v2Containers/TemplatesV2/messages.js +61 -61
  92. package/v2Containers/TemplatesV2/selectors.js +25 -25
  93. package/v2Containers/TemplatesV2/tests/actions.test.js +18 -18
  94. package/v2Containers/TemplatesV2/tests/index.test.js +10 -10
  95. package/v2Containers/TemplatesV2/tests/reducer.test.js +9 -9
  96. package/v2Containers/TemplatesV2/tests/sagas.test.js +15 -15
  97. package/v2Containers/TemplatesV2/tests/selectors.test.js +10 -10
  98. package/v2Components/BeeEditor/index.js +0 -272
  99. package/v2Components/BeeEditor/index.scss +0 -11
  100. package/v2Components/BeeEditor/messages.js +0 -47
  101. package/v2Components/BeeEditor/tests/index.test.js +0 -10
@@ -11,7 +11,7 @@ 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 { CapSpin, CapDrawer, CapButton, CapInput, CapPopover, CapImage, CapCheckbox, CapRadio, CapSelect, CapTable, CapRow, CapColumn, CapNotification, CapUploader, CapHeading, CapIcon} from '@capillarytech/cap-ui-library';
14
+ import { CapDrawer, CapButton, CapInput, CapPopover, CapImage, 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
17
  import { CAP_SPACE_12, CAP_SPACE_08, FONT_COLOR_05, FONT_COLOR_04 } from '@capillarytech/cap-ui-library/styled/variables';
@@ -21,7 +21,6 @@ import SlideBox from '../SlideBox';
21
21
  import CardGrid from '../CardGrid';
22
22
  import CKEditor from "../Ckeditor/";
23
23
  import EDMEditor from "../Edmeditor";
24
- import BeeEditor from '../BeeEditor';
25
24
  import CustomPopOver from '../CustomPopOver';
26
25
  import messages from './messages';
27
26
  import './_formBuilder.scss';
@@ -276,6 +275,7 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
276
275
  onEdit() {
277
276
 
278
277
  }
278
+
279
279
  getModal = () => {
280
280
  let modal;
281
281
  if (this.state.modal) {
@@ -925,10 +925,7 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
925
925
  for (var i = 0; i < data.selectedLanguages.length; i+= 1) {
926
926
  const currentLang = data.selectedLanguages[i];
927
927
  const content = data[currentLang]['template-content'];
928
- if (!content) {
929
- return false;
930
- }
931
- const tagValidationResponse = this.validateTags(content, tags, injectedTags);;
928
+ const tagValidationResponse = this.validateTags(content, tags, injectedTags);
932
929
  if (errorData[index][currentLang] === undefined) {
933
930
  errorData[index][currentLang] = {};
934
931
  }
@@ -2956,28 +2953,24 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
2956
2953
  if (channel === 'EMAIL') {
2957
2954
  moduleFilterEnabled = this.props.isFullMode;
2958
2955
  }
2959
- const langIndex = 0;
2960
- const currentLang = (!_.isEmpty(this.state.formData) && !_.isEmpty(this.state.formData[`${this.state.currentTab - 1}`]) && !_.isEmpty(this.state.formData[`${this.state.currentTab - 1}`].selectedLanguages) && this.state.formData[`${this.state.currentTab - 1}`].selectedLanguages[langIndex]) ? this.state.formData[`${this.state.currentTab - 1}`].selectedLanguages[langIndex] : this.props.baseLanguage;
2961
- if (!(_.get(this.state, `formData[${this.state.currentTab - 1}][${currentLang}].is_drag_drop`, false)) || channel !== 'EMAIL') {
2962
- columns.push(
2963
- <CapColumn key={`input-${val.id}`} offset={val.offset} span={val.width ? val.width : ''} style={val.style ? val.style : {marginBottom: '16px'}}>
2964
- <TagList
2965
- key={`input-${val.id}`}
2966
- moduleFilterEnabled={moduleFilterEnabled}
2967
- label={val.label ? val.label : ''}
2968
- onTagSelect={(data) => this.callChildEvent(data, val, 'onTagSelect')}
2969
- onContextChange={this.props.onContextChange}
2970
- location={this.props.location}
2971
- tags={this.props.tags ? this.props.tags : []}
2972
- injectedTags={this.props.injectedTags ? this.props.injectedTags : {}}
2973
- className={val.className ? val.className : ''}
2974
- id={val.id}
2975
- userLocale={this.props.userLocale}
2976
- selectedOfferDetails={this.props.selectedOfferDetails}
2977
- />
2978
- </CapColumn>
2979
- );
2980
- }
2956
+ columns.push(
2957
+ <CapColumn key={`input-${val.id}`} offset={val.offset} span={val.width ? val.width : ''} style={val.style ? val.style : {marginBottom: '16px'}}>
2958
+ <TagList
2959
+ key={`input-${val.id}`}
2960
+ moduleFilterEnabled={moduleFilterEnabled}
2961
+ label={val.label ? val.label : ''}
2962
+ onTagSelect={(data) => this.callChildEvent(data, val, 'onTagSelect')}
2963
+ onContextChange={this.props.onContextChange}
2964
+ location={this.props.location}
2965
+ tags={this.props.tags ? this.props.tags : []}
2966
+ injectedTags={this.props.injectedTags ? this.props.injectedTags : {}}
2967
+ className={val.className ? val.className : ''}
2968
+ id={val.id}
2969
+ userLocale={this.props.userLocale}
2970
+ selectedOfferDetails={this.props.selectedOfferDetails}
2971
+ />
2972
+ </CapColumn>
2973
+ );
2981
2974
  break;
2982
2975
  case "button":
2983
2976
  if (styling === 'semantic' && val.metaType === 'submit-button') {
@@ -3198,54 +3191,38 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
3198
3191
  }
3199
3192
  }
3200
3193
  break;
3201
- case "BEEeditor": {
3194
+ case "edmeditor": {
3195
+ // if (!this.state.formData[`${this.state.currentTab - 1}`]) {
3196
+ // return true;
3197
+ // }
3202
3198
  let langTab = 1;
3203
- if (val.id.match(/BEEeditor/g)) {
3199
+ if (val.id.match(/edmeditor/g)) {
3204
3200
  if (val.id.length > 9 && val.id.charAt(9)) {
3205
3201
  langTab = val.id.charAt(9);
3206
3202
  }
3207
3203
  }
3208
- const { currentTab, formData } = this.state;
3209
- const supportedLanguages = formData[currentTab - 1].selectedLanguages;
3204
+ const supportedLanguages = this.state.formData[this.state.currentTab - 1].selectedLanguages;
3205
+ // let langIndex = 0;
3206
+ // if (val.id.indexOf('edmeditor') > -1 && val.id !== 'edmeditorsrc') {
3207
+ // const test = val.id.replace('src', '');
3208
+ // langIndex = parseInt(test.replace('edmeditor', ''), 10) - 1;
3209
+ // }
3210
+ // const currentLang = (!_.isEmpty(this.state.formData) && !_.isEmpty(this.state.formData[`${this.state.currentTab - 1}`]) && !_.isEmpty(this.state.formData[`${this.state.currentTab - 1}`].selectedLanguages) && this.state.formData[`${this.state.currentTab - 1}`].selectedLanguages[langIndex]) ? this.state.formData[`${this.state.currentTab - 1}`].selectedLanguages[langIndex] : this.props.baseLanguage;
3210
3211
  const currentLang = supportedLanguages[langTab - 1];
3212
+ const edmSrc = this.state.formData[`${this.state.currentTab - 1}`][currentLang] && this.state.formData[`${this.state.currentTab - 1}`][currentLang][`edmeditor${this.state.currentTab > 1 ? this.state.currentTab : ''}src`];
3211
3213
 
3212
- let beeJson = '',
3213
- beeToken = '',
3214
- uuid = '';
3215
- const data = formData[`${currentTab - 1}`][currentLang];
3216
- if (data) {
3217
- beeJson = data[`BEEeditor${currentTab > 1 ? currentTab : ''}json`];
3218
- beeToken = data[`BEEeditor${currentTab > 1 ? currentTab : ''}token`];
3219
- uuid = this.props.uuid;
3220
- }
3221
- if (!beeJson || !beeToken) {
3214
+
3215
+ if (!edmSrc) {
3222
3216
  return false;
3223
3217
  }
3224
- console.log('beeJson', beeJson);
3225
- let isModuleFilterEnabled = _.get(this.props.location, 'query.type', '') !== 'embedded';
3226
- const schemaChannel = _.get(this.props.schema, 'channel', "");
3227
- if (schemaChannel === 'EMAIL') {
3228
- isModuleFilterEnabled = this.props.isFullMode;
3229
- }
3218
+
3219
+
3230
3220
  columns.push(
3231
3221
  <CapColumn style={val.colStyle ? val.colStyle : {}} span={val.width}>
3232
- <BeeEditor
3233
- uid={uuid}
3234
- tokenData={beeToken}
3222
+ <EDMEditor
3235
3223
  id={val.id}
3236
- beeJson={beeJson}
3237
- showTagsPopover={this.showTagsPopover}
3238
- location={this.props.location}
3239
- label={val.label || ''}
3240
- className={val.className || ''}
3241
- userLocale={this.props.userLocale}
3242
- selectedOfferDetails={this.props.selectedOfferDetails}
3243
- tags={this.props.tags || []}
3244
- injectedTags={this.props.injectedTags ? this.props.injectedTags : {}}
3245
- saveBeeInstance={this.props.saveBeeInstance}
3246
- saveBeeData={this.props.saveBeeData}
3247
- onContextChange={this.props.onContextChange}
3248
- moduleFilterEnabled={isModuleFilterEnabled}
3224
+ getEditorInstanse={this.getEditorInstanse}
3225
+ edmSrc={edmSrc}
3249
3226
  />
3250
3227
  </CapColumn>
3251
3228
  );
@@ -3286,9 +3263,7 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
3286
3263
  }
3287
3264
  </CapRow>
3288
3265
  );
3289
- if (columns.length) {
3290
- fields.push(row);
3291
- }
3266
+ fields.push(row);
3292
3267
  });
3293
3268
 
3294
3269
  _.forEach(section.actionFields, (field) => {
@@ -3328,18 +3303,8 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
3328
3303
  }
3329
3304
  </CapRow>
3330
3305
  );
3331
- if (columns.length) {
3332
- fields.push(row);
3333
- }
3334
-
3306
+ fields.push(row);
3335
3307
  });
3336
- if(!this.props.isEmailLoading && !fields.length) {
3337
- return (
3338
- <div style={{ textAlign: 'center' }}>
3339
- <CapSpin spinning />
3340
- </div>
3341
- );
3342
- }
3343
3308
  return fields;
3344
3309
  }
3345
3310
 
@@ -3573,7 +3538,6 @@ FormBuilder.propTypes = {
3573
3538
  setDrawerVisibility: PropTypes.bool,
3574
3539
  capDrawerContent: PropTypes.array,
3575
3540
  isFullMode: PropTypes.bool,
3576
-
3577
3541
  };
3578
3542
 
3579
3543
  export default injectIntl(FormBuilder);
@@ -1,152 +1,152 @@
1
- @import '~@capillarytech/cap-ui-library/styles/_variables.scss';
2
-
3
- .shell-lock-screen-android .main-screen-preview .wechatMsgContainer{
4
- position: absolute;
5
- left: 53.5%;
6
- top:28%;
7
- background: white;
8
- width: 19.5%;
9
- text-align: left;
10
- height: fit-content;
11
- border-radius: 0.285rem;
12
- }
13
-
14
- .shell-lock-screen-android .lock-screen-preview{
15
- .wechat-android-sender-id{
16
- position: absolute;
17
- top: 46%;
18
- font-size: 10px;
19
- left: 28%;
20
- }
21
- .wechat-android-title{
22
- position: absolute;
23
- top: 49%;
24
- font-size: 10px;
25
- left: 28%;
26
- color: #5e6c84;
27
- }
28
- .wechat-android-action-buttons{
29
- position: absolute;
30
- left: 28%;
31
- top: 53%;
32
- font-size: 10px;
33
- color: #3861ca;
34
- font-weight: 500;
35
- }
36
- .wechat-ios-sender-id{
37
- position: absolute;
38
- top: 44%;
39
- font-size: 10px;
40
- left: 28.5%;
41
- }
42
- .wechat-ios-title{
43
- position: absolute;
44
- top: 47%;
45
- font-size: 10px;
46
- left: 28.5%;
47
- color: #5e6c84;
48
- }
49
- .wechat-ios-action-reply{
50
- position: absolute;
51
- left: 35%;
52
- top: 59%;
53
- font-size: 12px;
54
- color: #3861ca;
55
- font-weight: 500;
56
- }
57
- .wechat-ios-action-cancel{
58
- position: absolute;
59
- left: 34.5%;
60
- top: 66%;
61
- font-size: 12px;
62
- color: #3861ca;
63
- font-weight: 500;
64
- }
65
- }
66
-
67
- .wechatMsgContainer{
68
- position: absolute;
69
- left: 30%;
70
- top: 20%;
71
- background: white;
72
- width: 40%;
73
- text-align: left;
74
- height: fit-content;
75
- border-radius: $CAP_SPACE_04;
76
- .richmedia-template {
77
- .richmedia-image-container {
78
- width: 100%;
79
- height: 102px;
80
- position: relative;
81
- img {
82
- border-top-left-radius: 4px;
83
- border-top-right-radius: 4px;
84
- }
85
- }
86
- .name-container-with-abstract {
87
- padding: $CAP_SPACE_12;
88
- height: 68px;
89
- }
90
- .name-container {
91
- position: absolute;
92
- bottom: 0px;
93
- height: 44px;
94
- padding-top: 16px;
95
- padding-left: 12px;
96
- color: $CAP_WHITE;
97
- opacity: 0.7;
98
- width: 100%;
99
- background-image: linear-gradient(to top,black 0% ,transparent 100%);
100
- }
101
- .additional-richmedia-container {
102
- display: flex;
103
- justify-content: space-between;
104
- margin: 8px;
105
- padding-bottom: 8px;
106
- img {
107
- border-radius: 4px;
108
- }
109
- }
110
- .additional-richmedia-container:not(:last-child) {
111
- border-bottom: 1px solid #dfe2e7;
112
- }
113
- div {
114
- text-overflow: ellipsis;
115
- overflow: hidden;
116
- white-space: nowrap;
117
- }
118
- }
119
- }
120
- .wechatMsgContainerOutbound{
121
- position: absolute;
122
- left: 35%;
123
- top: 20%;
124
- background: white;
125
- width: 30%;
126
- text-align: left;
127
- }
128
- .wechatMsgContainerCardLayout {
129
- position: absolute;
130
- left: 20%;
131
- top: 20%;
132
- background: white;
133
- width: 60%;
134
- text-align: left;
135
- }
136
- .overflow-handle-preview {
137
- overflow-y: auto;
138
- }
139
- .overflow-handle-preview-outbound {
140
- height: 330px;
141
- overflow-y: auto;
142
- }
143
- .preview-overflow-wrap-fields {
144
- text-overflow: ellipsis;
145
- overflow: hidden;
146
- overflow-wrap: break-word;
147
- display: -webkit-box !important;
148
- -webkit-box-orient: vertical;
149
- -webkit-line-clamp: 2;
150
- text-align: left;
151
- width: 200px;
1
+ @import '~@capillarytech/cap-ui-library/styles/_variables.scss';
2
+
3
+ .shell-lock-screen-android .main-screen-preview .wechatMsgContainer{
4
+ position: absolute;
5
+ left: 53.5%;
6
+ top:28%;
7
+ background: white;
8
+ width: 19.5%;
9
+ text-align: left;
10
+ height: fit-content;
11
+ border-radius: 0.285rem;
12
+ }
13
+
14
+ .shell-lock-screen-android .lock-screen-preview{
15
+ .wechat-android-sender-id{
16
+ position: absolute;
17
+ top: 46%;
18
+ font-size: 10px;
19
+ left: 28%;
20
+ }
21
+ .wechat-android-title{
22
+ position: absolute;
23
+ top: 49%;
24
+ font-size: 10px;
25
+ left: 28%;
26
+ color: #5e6c84;
27
+ }
28
+ .wechat-android-action-buttons{
29
+ position: absolute;
30
+ left: 28%;
31
+ top: 53%;
32
+ font-size: 10px;
33
+ color: #3861ca;
34
+ font-weight: 500;
35
+ }
36
+ .wechat-ios-sender-id{
37
+ position: absolute;
38
+ top: 44%;
39
+ font-size: 10px;
40
+ left: 28.5%;
41
+ }
42
+ .wechat-ios-title{
43
+ position: absolute;
44
+ top: 47%;
45
+ font-size: 10px;
46
+ left: 28.5%;
47
+ color: #5e6c84;
48
+ }
49
+ .wechat-ios-action-reply{
50
+ position: absolute;
51
+ left: 35%;
52
+ top: 59%;
53
+ font-size: 12px;
54
+ color: #3861ca;
55
+ font-weight: 500;
56
+ }
57
+ .wechat-ios-action-cancel{
58
+ position: absolute;
59
+ left: 34.5%;
60
+ top: 66%;
61
+ font-size: 12px;
62
+ color: #3861ca;
63
+ font-weight: 500;
64
+ }
65
+ }
66
+
67
+ .wechatMsgContainer{
68
+ position: absolute;
69
+ left: 30%;
70
+ top: 20%;
71
+ background: white;
72
+ width: 40%;
73
+ text-align: left;
74
+ height: fit-content;
75
+ border-radius: $CAP_SPACE_04;
76
+ .richmedia-template {
77
+ .richmedia-image-container {
78
+ width: 100%;
79
+ height: 102px;
80
+ position: relative;
81
+ img {
82
+ border-top-left-radius: 4px;
83
+ border-top-right-radius: 4px;
84
+ }
85
+ }
86
+ .name-container-with-abstract {
87
+ padding: $CAP_SPACE_12;
88
+ height: 68px;
89
+ }
90
+ .name-container {
91
+ position: absolute;
92
+ bottom: 0px;
93
+ height: 44px;
94
+ padding-top: 16px;
95
+ padding-left: 12px;
96
+ color: $CAP_WHITE;
97
+ opacity: 0.7;
98
+ width: 100%;
99
+ background-image: linear-gradient(to top,black 0% ,transparent 100%);
100
+ }
101
+ .additional-richmedia-container {
102
+ display: flex;
103
+ justify-content: space-between;
104
+ margin: 8px;
105
+ padding-bottom: 8px;
106
+ img {
107
+ border-radius: 4px;
108
+ }
109
+ }
110
+ .additional-richmedia-container:not(:last-child) {
111
+ border-bottom: 1px solid #dfe2e7;
112
+ }
113
+ div {
114
+ text-overflow: ellipsis;
115
+ overflow: hidden;
116
+ white-space: nowrap;
117
+ }
118
+ }
119
+ }
120
+ .wechatMsgContainerOutbound{
121
+ position: absolute;
122
+ left: 35%;
123
+ top: 20%;
124
+ background: white;
125
+ width: 30%;
126
+ text-align: left;
127
+ }
128
+ .wechatMsgContainerCardLayout {
129
+ position: absolute;
130
+ left: 20%;
131
+ top: 20%;
132
+ background: white;
133
+ width: 60%;
134
+ text-align: left;
135
+ }
136
+ .overflow-handle-preview {
137
+ overflow-y: auto;
138
+ }
139
+ .overflow-handle-preview-outbound {
140
+ height: 330px;
141
+ overflow-y: auto;
142
+ }
143
+ .preview-overflow-wrap-fields {
144
+ text-overflow: ellipsis;
145
+ overflow: hidden;
146
+ overflow-wrap: break-word;
147
+ display: -webkit-box !important;
148
+ -webkit-box-orient: vertical;
149
+ -webkit-line-clamp: 2;
150
+ text-align: left;
151
+ width: 200px;
152
152
  }
@@ -1,33 +1,33 @@
1
- /*
2
- * WechatRichmediaTemplatePreview Messages
3
- *
4
- * This contains all the text for the WechatRichmediaTemplatePreview component.
5
- */
6
- import { defineMessages } from 'react-intl';
7
-
8
- export default defineMessages({
9
- header: {
10
- id: 'creatives.components.WechatRichmediaTemplatePreview.header',
11
- defaultMessage: 'This is the WechatRichmediaTemplatePreview component !',
12
- },
13
- select: {
14
- id: 'creatives.components.WechatRichmediaTemplatePreview.select',
15
- defaultMessage: 'Select',
16
- },
17
- edit: {
18
- id: 'creatives.components.WechatRichmediaTemplatePreview.edit',
19
- defaultMessage: 'Edit',
20
- },
21
- MarkAsRead: {
22
- id: 'creatives.components.WechatRichmediaTemplatePreview.MarkAsRead',
23
- defaultMessage: 'Mark as read',
24
- },
25
- reply: {
26
- id: 'creatives.components.WechatRichmediaTemplatePreview.reply',
27
- defaultMessage: 'Reply',
28
- },
29
- cancel: {
30
- id: 'creatives.components.WechatRichmediaTemplatePreview.cancel',
31
- defaultMessage: 'Cancel',
32
- },
33
- });
1
+ /*
2
+ * WechatRichmediaTemplatePreview Messages
3
+ *
4
+ * This contains all the text for the WechatRichmediaTemplatePreview component.
5
+ */
6
+ import { defineMessages } from 'react-intl';
7
+
8
+ export default defineMessages({
9
+ header: {
10
+ id: 'creatives.components.WechatRichmediaTemplatePreview.header',
11
+ defaultMessage: 'This is the WechatRichmediaTemplatePreview component !',
12
+ },
13
+ select: {
14
+ id: 'creatives.components.WechatRichmediaTemplatePreview.select',
15
+ defaultMessage: 'Select',
16
+ },
17
+ edit: {
18
+ id: 'creatives.components.WechatRichmediaTemplatePreview.edit',
19
+ defaultMessage: 'Edit',
20
+ },
21
+ MarkAsRead: {
22
+ id: 'creatives.components.WechatRichmediaTemplatePreview.MarkAsRead',
23
+ defaultMessage: 'Mark as read',
24
+ },
25
+ reply: {
26
+ id: 'creatives.components.WechatRichmediaTemplatePreview.reply',
27
+ defaultMessage: 'Reply',
28
+ },
29
+ cancel: {
30
+ id: 'creatives.components.WechatRichmediaTemplatePreview.cancel',
31
+ defaultMessage: 'Cancel',
32
+ },
33
+ });
@@ -1,10 +1,10 @@
1
- // import React from 'react';
2
- // import { shallow } from 'enzyme';
3
-
4
- // import WechatRichmediaTemplatePreview from '../index';
5
-
6
- describe('<WechatRichmediaTemplatePreview />', () => {
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 WechatRichmediaTemplatePreview from '../index';
5
+
6
+ describe('<WechatRichmediaTemplatePreview />', () => {
7
+ it('Expect to have unit tests specified', () => {
8
+ expect(true).toEqual(false);
9
+ });
10
+ });
@@ -44,6 +44,7 @@
44
44
  }
45
45
  &.line-preview {
46
46
  margin-left: $CAP_SPACE_16;
47
+ width: 40%;
47
48
 
48
49
  .message-pop {
49
50
  width: 80%;