@goldenpine/react-form-builder2 0.20.3-build.22 → 0.20.3-build.23

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.
@@ -866,7 +866,7 @@ var Camera = /*#__PURE__*/function (_React$Component17) {
866
866
  src: this.state.previewImg,
867
867
  height: "100",
868
868
  className: "image-upload-preview"
869
- }), /*#__PURE__*/_react["default"].createElement("br", null), /*#__PURE__*/_react["default"].createElement("div", {
869
+ }), /*#__PURE__*/_react["default"].createElement("button", {
870
870
  className: "btn btn-image-clear",
871
871
  onClick: this.clearImage
872
872
  }, /*#__PURE__*/_react["default"].createElement("i", {
@@ -904,9 +904,7 @@ var Camera = /*#__PURE__*/function (_React$Component17) {
904
904
  className: "upload-text"
905
905
  }, this.props.data.message_under_camera_icon), /*#__PURE__*/_react["default"].createElement("div", {
906
906
  className: "btn-browse"
907
- }, this.props.data.label_after_camera_icon))), this.state.img && /*#__PURE__*/_react["default"].createElement("div", {
908
- className: "preview-container"
909
- }, /*#__PURE__*/_react["default"].createElement("img", {
907
+ }, this.props.data.label_after_camera_icon))), this.state.img && /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("img", {
910
908
  onLoad: function onLoad() {
911
909
  return URL.revokeObjectURL(_this13.state.previewImg);
912
910
  },
@@ -919,7 +917,7 @@ var Camera = /*#__PURE__*/function (_React$Component17) {
919
917
  onClick: this.clearImage
920
918
  }, /*#__PURE__*/_react["default"].createElement("i", {
921
919
  className: "fas fa-times"
922
- }), " Remove Photo")))));
920
+ }), " ", this.props.data.label_after_photo_clear_icon)))));
923
921
  }
924
922
  }
925
923
  }]);
@@ -1007,6 +1005,61 @@ var FileUpload = /*#__PURE__*/function (_React$Component18) {
1007
1005
  if (this.props.data.pageBreakBefore) {
1008
1006
  baseClasses += ' alwaysbreak';
1009
1007
  }
1008
+ if (this.props.data.upload_layout === 'standard') {
1009
+ return /*#__PURE__*/_react["default"].createElement("div", {
1010
+ style: _objectSpread({}, this.props.style),
1011
+ className: baseClasses
1012
+ }, /*#__PURE__*/_react["default"].createElement(_componentHeader["default"], this.props), /*#__PURE__*/_react["default"].createElement("div", {
1013
+ className: "mb-3"
1014
+ }, /*#__PURE__*/_react["default"].createElement(_componentLabel["default"], this.props), this.props.read_only === true && this.props.defaultValue && this.props.defaultValue.length > 0 ? /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("button", {
1015
+ className: "btn btn-outline-secondary",
1016
+ onClick: this.saveFile
1017
+ }, /*#__PURE__*/_react["default"].createElement("i", {
1018
+ className: "fas fa-download"
1019
+ }), " Download File")) : /*#__PURE__*/_react["default"].createElement("div", {
1020
+ className: "image-upload-container"
1021
+ }, /*#__PURE__*/_react["default"].createElement("div", {
1022
+ style: fileInputStyle
1023
+ }, /*#__PURE__*/_react["default"].createElement("input", {
1024
+ name: name,
1025
+ type: "file",
1026
+ accept: this.props.data.fileType || '*',
1027
+ className: "image-upload visually-hidden",
1028
+ onChange: this.displayFileUpload,
1029
+ "data-clearlabel": this.props.data.label_after_file_clear_icon,
1030
+ disabled: this.props.read_only,
1031
+ id: name
1032
+ }), /*#__PURE__*/_react["default"].createElement("div", {
1033
+ className: "image-upload-control",
1034
+ style: {
1035
+ position: 'relative'
1036
+ }
1037
+ }, /*#__PURE__*/_react["default"].createElement("label", {
1038
+ className: "btn btn-outline-secondary",
1039
+ htmlFor: name
1040
+ }, /*#__PURE__*/_react["default"].createElement("i", {
1041
+ className: "fas fa-file"
1042
+ }), " ", this.props.data.label_after_file_icon), /*#__PURE__*/_react["default"].createElement("div", null, this.props.data.message_under_file_icon))), this.state.fileUpload && /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("div", {
1043
+ className: "file-upload-preview"
1044
+ }, /*#__PURE__*/_react["default"].createElement("div", {
1045
+ style: {
1046
+ display: 'inline-block',
1047
+ marginRight: '5px'
1048
+ }
1049
+ }, this.state.fileUpload.name), /*#__PURE__*/_react["default"].createElement("div", {
1050
+ style: {
1051
+ display: 'inline-block',
1052
+ marginLeft: '5px'
1053
+ }
1054
+ }, this.state.fileUpload.size.length > 6 ? " ".concat(Math.ceil(this.state.fileUpload.size / (1024 * 1024)), " mb") : " ".concat(Math.ceil(this.state.fileUpload.size / 1024), " kb"))), /*#__PURE__*/_react["default"].createElement("br", null), /*#__PURE__*/_react["default"].createElement("div", {
1055
+ className: "btn btn-file-upload-clear",
1056
+ onClick: this.clearFileUpload
1057
+ }, /*#__PURE__*/_react["default"].createElement("i", {
1058
+ className: "fas fa-times"
1059
+ }), " ", this.props.data.label_after_file_clear_icon)))));
1060
+ }
1061
+
1062
+ // non-standard layout: use "upload-card" style like Camera
1010
1063
  return /*#__PURE__*/_react["default"].createElement("div", {
1011
1064
  style: _objectSpread({}, this.props.style),
1012
1065
  className: baseClasses
@@ -1020,27 +1073,27 @@ var FileUpload = /*#__PURE__*/function (_React$Component18) {
1020
1073
  }), " Download File")) : /*#__PURE__*/_react["default"].createElement("div", {
1021
1074
  className: "image-upload-container"
1022
1075
  }, /*#__PURE__*/_react["default"].createElement("div", {
1023
- style: fileInputStyle
1076
+ style: fileInputStyle,
1077
+ className: "upload-card"
1024
1078
  }, /*#__PURE__*/_react["default"].createElement("input", {
1025
1079
  name: name,
1026
1080
  type: "file",
1027
1081
  accept: this.props.data.fileType || '*',
1028
- className: "image-upload visually-hidden",
1082
+ className: "visually-hidden",
1029
1083
  onChange: this.displayFileUpload,
1030
1084
  "data-clearlabel": this.props.data.label_after_file_clear_icon,
1031
1085
  disabled: this.props.read_only,
1032
1086
  id: name
1033
- }), /*#__PURE__*/_react["default"].createElement("div", {
1034
- className: "image-upload-control",
1035
- style: {
1036
- position: 'relative'
1037
- }
1038
- }, /*#__PURE__*/_react["default"].createElement("label", {
1039
- className: "btn btn-outline-secondary",
1040
- htmlFor: name
1087
+ }), /*#__PURE__*/_react["default"].createElement("label", {
1088
+ htmlFor: name,
1089
+ className: "upload-card-content"
1041
1090
  }, /*#__PURE__*/_react["default"].createElement("i", {
1042
- className: "fas fa-file"
1043
- }), " ", this.props.data.label_after_file_icon), /*#__PURE__*/_react["default"].createElement("div", null, this.props.data.message_under_file_icon))), this.state.fileUpload && /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("div", {
1091
+ className: "fas fa-cloud-upload-alt upload-icon"
1092
+ }), /*#__PURE__*/_react["default"].createElement("span", {
1093
+ className: "upload-text"
1094
+ }, this.props.data.message_under_file_icon), /*#__PURE__*/_react["default"].createElement("div", {
1095
+ className: "btn-browse"
1096
+ }, this.props.data.label_after_file_icon))), this.state.fileUpload && /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("div", {
1044
1097
  className: "file-upload-preview"
1045
1098
  }, /*#__PURE__*/_react["default"].createElement("div", {
1046
1099
  style: {
@@ -172,6 +172,7 @@ var FormElementsEdit = exports["default"] = /*#__PURE__*/function (_React$Compon
172
172
  canHaveOptionCorrect = _this$props$element.canHaveOptionCorrect,
173
173
  canHaveOptionValue = _this$props$element.canHaveOptionValue;
174
174
  var canHaveImageSize = this.state.element.element === 'Image' || this.state.element.element === 'Camera';
175
+ var canHaveUploadLayout = this.state.element.element === 'Camera' || this.state.element.element === 'FileUpload';
175
176
  var this_files = this.props.files.length ? this.props.files : [];
176
177
  if (this_files.length < 1 || this_files.length > 0 && this_files[0].id !== '') {
177
178
  this_files.unshift({
@@ -372,7 +373,7 @@ var FormElementsEdit = exports["default"] = /*#__PURE__*/function (_React$Compon
372
373
  defaultValue: this.props.element.src,
373
374
  onBlur: this.updateElement.bind(this),
374
375
  onChange: this.editElementProp.bind(this, 'src', 'value')
375
- }))), this.state.element.element === 'Camera' && /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("div", {
376
+ }))), canHaveUploadLayout && /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("div", {
376
377
  className: "mb-3"
377
378
  }, /*#__PURE__*/_react["default"].createElement("label", {
378
379
  className: "control-label bold"
@@ -410,7 +411,7 @@ var FormElementsEdit = exports["default"] = /*#__PURE__*/function (_React$Compon
410
411
  htmlFor: "uploadLayoutDropZone"
411
412
  }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
412
413
  id: "upload-layout-dropzone"
413
- }))))), /*#__PURE__*/_react["default"].createElement("div", {
414
+ })))))), this.state.element.element === 'Camera' && /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("div", {
414
415
  className: "mb-3"
415
416
  }, /*#__PURE__*/_react["default"].createElement("label", {
416
417
  className: "control-label",
package/lib/toolbar.js CHANGED
@@ -443,6 +443,7 @@ var Toolbar = /*#__PURE__*/function (_React$Component) {
443
443
  id: 'place-holder-label'
444
444
  }),
445
445
  field_name: 'file_upload_',
446
+ upload_layout: 'standard',
446
447
  label_after_file_icon: intl.formatMessage({
447
448
  id: 'place-holder-display-label-after-file-icon'
448
449
  }),
@@ -546,6 +547,7 @@ var Toolbar = /*#__PURE__*/function (_React$Component) {
546
547
  elementOptions.label_after_photo_clear_icon = item.label_after_photo_clear_icon;
547
548
  }
548
549
  if (elementKey === 'FileUpload') {
550
+ elementOptions.upload_layout = item.upload_layout;
549
551
  elementOptions.label_after_file_icon = item.label_after_file_icon;
550
552
  elementOptions.message_under_file_icon = item.message_under_file_icon;
551
553
  elementOptions.label_after_file_clear_icon = item.label_after_file_clear_icon;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@goldenpine/react-form-builder2",
3
- "version": "0.20.3-build.22",
3
+ "version": "0.20.3-build.23",
4
4
  "description": "A complete form builder for react.",
5
5
  "main": "lib/index.js",
6
6
  "types": "types/index.d.ts",