@capillarytech/creatives-library 2.0.50 → 2.0.51

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.
@@ -1746,7 +1746,9 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
1746
1746
 
1747
1747
 
1748
1748
  this.setState({formData}, () => {
1749
- this.validateForm();
1749
+ if (this.props.startValidation) {
1750
+ this.validateForm();
1751
+ }
1750
1752
  });
1751
1753
  if (event && val.injectedEvents[event]) {
1752
1754
  if (event === "onRowClick") {
@@ -39,7 +39,7 @@ function SlideBoxContent(props) {
39
39
  setIsLoadingContent,
40
40
  } = props;
41
41
  const type = messageDetails.type.toLowerCase(); // type is context in get tags values : outbound | dvs | referral | loyalty | coupons
42
- const query = { type: !isFullMode && 'embedded', module: isFullMode ? 'defualt' : 'library', isLanguageSupport: true};
42
+ const query = { type: !isFullMode && 'embedded', module: isFullMode ? 'defualt' : 'library'};
43
43
  const creativesLocationProps = {
44
44
  pathname: `/sms/edit`,
45
45
  query,
@@ -117,6 +117,8 @@ function SlideBoxContent(props) {
117
117
  )}
118
118
  {isEmailCreate && (
119
119
  <EmailWrapper
120
+ key="creatives-email-wrapper"
121
+ date={new Date().getMilliseconds()}
120
122
  setIsLoadingContent={setIsLoadingContent}
121
123
  onEmailModeChange={onEmailModeChange}
122
124
  emailCreateMode={emailCreateMode}
@@ -8,7 +8,7 @@ const PrefixWrapper = styled.div`
8
8
  margin-right: 16px;
9
9
  `;
10
10
  function SlideBoxHeader(props) {
11
- const { slidBoxContent, messages, templateData, onShowTemplates, creativesMode, isFullMode } = props;
11
+ const { slidBoxContent, messages, templateData, onShowTemplates, creativesMode, isFullMode, showPrefix } = props;
12
12
  return (
13
13
  <div>
14
14
  {slidBoxContent === 'templates' && (
@@ -33,7 +33,7 @@ function SlideBoxHeader(props) {
33
33
  {slidBoxContent === 'editTemplate' && (
34
34
  <CapHeader
35
35
  title={<FormattedMessage {...messages.editMessageContent} />}
36
- prefix={creativesMode !== 'edit' && !isFullMode &&
36
+ prefix={creativesMode !== 'edit' && !isFullMode && showPrefix &&
37
37
  <PrefixWrapper>
38
38
  <CapIcons.backIcon onClick={onShowTemplates} />
39
39
  </PrefixWrapper>
@@ -43,7 +43,7 @@ function SlideBoxHeader(props) {
43
43
  {slidBoxContent === 'createTemplate' && (
44
44
  <CapHeader
45
45
  title={<FormattedMessage {...messages.createMessageContent} />}
46
- prefix={!isFullMode &&
46
+ prefix={!isFullMode && showPrefix &&
47
47
  <PrefixWrapper>
48
48
  <CapIcons.backIcon onClick={onShowTemplates} />
49
49
  </PrefixWrapper>
@@ -60,5 +60,6 @@ SlideBoxHeader.propTypes = {
60
60
  onShowTemplates: PropTypes.func,
61
61
  creativesMode: PropTypes.string,
62
62
  isFullMode: PropTypes.bool,
63
+ showPrefix: PropTypes.bool,
63
64
  };
64
65
  export default SlideBoxHeader;
@@ -224,8 +224,8 @@ class Creatives extends React.Component {
224
224
  return isShowContinueFooter;
225
225
  }
226
226
  render() {
227
- const {slidBoxContent, isGetFormData, showSlideBox, templateData, currentChannel, emailCreateMode, templateStep} = this.state;
228
- const {isFullMode, creativesMode, cap} = this.props;
227
+ const {slidBoxContent, isGetFormData, showSlideBox, templateData, currentChannel, emailCreateMode, templateStep, isLoadingContent} = this.state;
228
+ const {isFullMode, creativesMode, cap, isUploading} = this.props;
229
229
  return (
230
230
  <div className={classnames(`${classPrefix} ${isFullMode ? 'creatives-full-mode' : 'creatives-library-mode'}`)}>
231
231
  <CapSlideBox
@@ -237,6 +237,8 @@ class Creatives extends React.Component {
237
237
  onShowTemplates={this.onShowTemplates}
238
238
  creativesMode={creativesMode}
239
239
  isFullMode={isFullMode}
240
+ isLoadingContent={isLoadingContent}
241
+ showPrefix={!isUploading} // not show back button when email template is being uploaded
240
242
  />
241
243
  }
242
244
  content={
@@ -78,3 +78,9 @@ export function uploadAsset(file, assetType, fileParams) {
78
78
  fileParams,
79
79
  };
80
80
  }
81
+
82
+ export function resetCmsData() {
83
+ return {
84
+ type: types.RESET_CMS_EDITOR_DATA,
85
+ };
86
+ }
@@ -23,6 +23,7 @@ export const GET_CMS_EDITOR_DETAILS_FAILURE = 'app/containers/Email/GET_CMS_EDIT
23
23
  export const GET_CMS_EDITOR_DATA_REQUEST = 'app/containers/Email/GET_CMS_EDITOR_DATA_REQUEST';
24
24
  export const GET_CMS_EDITOR_DATA_SUCCESS = 'app/containers/Email/GET_CMS_EDITOR_DATA_SUCCESS';
25
25
  export const GET_CMS_EDITOR_DATA_FAILURE = 'app/containers/Email/GET_CMS_EDITOR_DATA_FAILURE';
26
+ export const RESET_CMS_EDITOR_DATA = 'app/containers/Email/RESET_CMS_EDITOR_DATA';
26
27
 
27
28
  export const UPLOAD_ASSET_REQUEST = 'app/containers/Email/UPLOAD_ASSET_REQUEST';
28
29
  export const UPLOAD_ASSET_SUCCESS = 'app/containers/Email/UPLOAD_ASSET_SUCCESS';
@@ -310,6 +310,9 @@ export class Email extends React.Component { // eslint-disable-line react/prefer
310
310
  this.startTemplateCreation(nextProps.templateData);
311
311
  }
312
312
  if (nextProps.location.query.module === 'library' && nextProps.isGetFormData) {
313
+ if (!_.isEmpty(this.props.Email.cmsData)) {
314
+ this.props.actions.resetCmsData();
315
+ }
313
316
  this.getFormData();
314
317
  }
315
318
 
@@ -1315,7 +1318,9 @@ export class Email extends React.Component { // eslint-disable-line react/prefer
1315
1318
  this.validateContent(e);
1316
1319
  break;
1317
1320
  case "Save result: success":
1318
- this.handleEdmSave();
1321
+ if (_.isEmpty(this.props.Email.cmsData)) {
1322
+ this.handleEdmSave();
1323
+ }
1319
1324
  break;
1320
1325
  case "JsonChanged":
1321
1326
  this.edmEvent = e;
@@ -2666,4 +2671,4 @@ function mapDispatchToProps(dispatch) {
2666
2671
  };
2667
2672
  }
2668
2673
 
2669
- export default UserIsAuthenticated(connect(mapStateToProps, mapDispatchToProps)(injectIntl(Email)));
2674
+ export default UserIsAuthenticated(connect(mapStateToProps, mapDispatchToProps)(injectIntl(Email)));
@@ -95,6 +95,9 @@ function emailReducer(state = initialState, action) {
95
95
  .set('cmsData', '')
96
96
  .set('langId', undefined)
97
97
  .set('fetchingCmsDataFailed', false);
98
+ case types.RESET_CMS_EDITOR_DATA:
99
+ return state
100
+ .set('cmsData', '');
98
101
  case types.GET_CMS_EDITOR_DATA_SUCCESS:
99
102
  return state
100
103
  .set('fetchingCmsData', false)
@@ -25,7 +25,7 @@ export class EmailWrapper extends React.Component { // eslint-disable-line react
25
25
  templateName: '',
26
26
  routeParams: {
27
27
  pathname: `/email/create`,
28
- query: { module: 'library', type: 'embedded', isEdmSupport: true},
28
+ query: { module: 'library', type: 'embedded'},
29
29
  },
30
30
  modeContent: {
31
31
 
@@ -116,6 +116,7 @@ export class EmailWrapper extends React.Component { // eslint-disable-line react
116
116
  reader.readAsText(file.originFileObj);
117
117
  } else {
118
118
  const message = {
119
+ key: "email-upload-error",
119
120
  message: intl.formatMessage(messages.invalidUploadFileError),
120
121
  description: intl.formatMessage(messages.invalidUploadFileErrorDesc),
121
122
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@capillarytech/creatives-library",
3
3
  "author": "meharaj",
4
- "version": "2.0.50",
4
+ "version": "2.0.51",
5
5
  "description": "Capillary creatives ui",
6
6
  "main": "./index.js",
7
7
  "module": "./index.es.js",