react-survey-builder 1.0.19 → 1.0.21

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.
package/lib/form.js CHANGED
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports["default"] = void 0;
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
9
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
11
  var _react = _interopRequireDefault(require("react"));
11
12
  var _reactDom = _interopRequireDefault(require("react-dom"));
@@ -33,12 +34,8 @@ var Image = _surveyElements["default"].Image,
33
34
  var ReactSurvey = function ReactSurvey(_ref) {
34
35
  var _ref$validateForCorre = _ref.validateForCorrectness,
35
36
  validateForCorrectness = _ref$validateForCorre === void 0 ? false : _ref$validateForCorre,
36
- _ref$skipValidations = _ref.skipValidations,
37
- skipValidations = _ref$skipValidations === void 0 ? false : _ref$skipValidations,
38
37
  _ref$displayShort = _ref.displayShort,
39
38
  displayShort = _ref$displayShort === void 0 ? false : _ref$displayShort,
40
- _ref$hideRequiredAler = _ref.hideRequiredAlert,
41
- hideRequiredAlert = _ref$hideRequiredAler === void 0 ? false : _ref$hideRequiredAler,
42
39
  _ref$readOnly = _ref.readOnly,
43
40
  readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,
44
41
  downloadPath = _ref.downloadPath,
@@ -115,6 +112,9 @@ var ReactSurvey = function ReactSurvey(_ref) {
115
112
  if (defaultValue === undefined) {
116
113
  if ($dataItem.element === 'Checkboxes' || $dataItem.element === 'Tags') {
117
114
  defaultValue = [];
115
+ } else if ($dataItem.element === 'NumberInput' || $dataItem.element === 'Range') {
116
+ var _$dataItem$minValue;
117
+ defaultValue = (_$dataItem$minValue = $dataItem.minValue) !== null && _$dataItem$minValue !== void 0 ? _$dataItem$minValue : 0;
118
118
  } else {
119
119
  defaultValue = '';
120
120
  }
@@ -161,7 +161,8 @@ var ReactSurvey = function ReactSurvey(_ref) {
161
161
  };
162
162
  var _isIncorrect = function _isIncorrect($dataItem) {
163
163
  var incorrect = false;
164
- if ($dataItem.canHaveAnswer) {
164
+ var canHaveAnswer = ['NumberInput', 'EmailInput', 'TextInput', 'PhoneNumber', 'TextArea', 'DatePicker', 'Dropdown', 'Tags', 'Checkboxes', 'Checkbox', 'RadioButtons', 'Rating', 'Range'].indexOf($dataItem.element) !== -1;
165
+ if (canHaveAnswer) {
165
166
  var ref = inputs.current[$dataItem.fieldName];
166
167
  if ($dataItem.element === 'Checkboxes' || $dataItem.element === 'RadioButtons') {
167
168
  $dataItem.options.forEach(function (option) {
@@ -172,7 +173,13 @@ var ReactSurvey = function ReactSurvey(_ref) {
172
173
  });
173
174
  } else {
174
175
  var $item = _getItemValue($dataItem, ref);
175
- if ($dataItem.element === 'Rating') {
176
+ if ($dataItem.element === 'Rating' || $dataItem.element === 'Range' || $dataItem.element === 'NumberInput') {
177
+ // number to string
178
+ if ($item.value.toString() !== $dataItem.correct) {
179
+ incorrect = true;
180
+ }
181
+ } else if ($dataItem.element === 'Checkbox') {
182
+ // boolean to string
176
183
  if ($item.value.toString() !== $dataItem.correct) {
177
184
  incorrect = true;
178
185
  }
@@ -260,41 +267,25 @@ var ReactSurvey = function ReactSurvey(_ref) {
260
267
  });
261
268
  return formData;
262
269
  };
263
- var _getSignatureImg = function _getSignatureImg($dataItem) {
264
- var ref = inputs.current[$dataItem.fieldName];
265
- var $canvas_sig = ref.canvas.current;
266
- if ($canvas_sig) {
267
- var base64 = $canvas_sig.toDataURL().replace('data:image/png;base64,', '');
268
- var _isEmpty = $canvas_sig.isEmpty();
269
- var $input_sig = _reactDom["default"].findDOMNode(ref.inputField.current);
270
- if (_isEmpty) {
271
- $input_sig.value = '';
272
- methods.setValue($dataItem.fieldName, '');
273
- } else {
274
- $input_sig.value = base64;
275
- methods.setValue($dataItem.fieldName, base64);
276
- }
277
- }
278
- };
279
270
 
280
271
  //#endregion
281
272
  //#region form methods
282
273
 
283
274
  var handleSubmit = function handleSubmit($formData, event) {
284
275
  event.preventDefault();
285
- console.log('handleSubmit', $formData);
286
- var errors = [];
287
- if (!skipValidations) {
288
- errors = validateForm();
289
- // Publish errors, if any.
290
- //emitter.emit('surveyValidation', errors);
276
+ var hasErrors = false;
277
+ if (validateForCorrectness) {
278
+ hasErrors = validateForm();
291
279
  }
292
280
 
293
281
  // Only submit if there are no errors.
294
- if (errors.length < 1) {
282
+ if (hasErrors === false) {
295
283
  if (onSubmit) {
296
284
  var $data = _collectFormData(items);
297
- onSubmit($data);
285
+ onSubmit({
286
+ formData: $formData,
287
+ answers: $data
288
+ });
298
289
  } else {
299
290
  var $form = _reactDom["default"].findDOMNode(form.current);
300
291
  $form.submit();
@@ -310,7 +301,7 @@ var ReactSurvey = function ReactSurvey(_ref) {
310
301
  }
311
302
  };
312
303
  var validateForm = function validateForm() {
313
- var errors = [];
304
+ var hasErrors = false;
314
305
  var dataItems = items;
315
306
  if (displayShort) {
316
307
  dataItems = items.filter(function (i) {
@@ -318,51 +309,19 @@ var ReactSurvey = function ReactSurvey(_ref) {
318
309
  });
319
310
  }
320
311
  dataItems.forEach(function (item) {
321
- if (item.element === 'Signature') {
322
- _getSignatureImg(item);
323
- }
324
- if (_isInvalid(item)) {
325
- errors.push("".concat(item.label, " ").concat(intl.formatMessage({
326
- id: 'message.is-required'
327
- }), "!"));
328
- }
329
- if (item.element === 'EmailInput') {
330
- var ref = inputs.current[item.fieldName];
331
- var emailValue = _getItemValue(item, ref).value;
332
- if (emailValue) {
333
- var checkEmail = validateEmail(emailValue);
334
- if (!checkEmail) {
335
- errors.push("".concat(item.label, " ").concat(intl.formatMessage({
336
- id: 'message.invalid-email'
337
- })));
338
- }
312
+ if (_isIncorrect(item)) {
313
+ if (methods) {
314
+ methods.setError(item.fieldName, {
315
+ type: 'incorrect',
316
+ message: "".concat(item.label, " ").concat(intl.formatMessage({
317
+ id: 'message.was-answered-incorrectly'
318
+ }))
319
+ });
339
320
  }
340
- }
341
- if (item.element === 'PhoneNumber') {
342
- var _ref2 = inputs.current[item.fieldName];
343
- var phoneValue = _getItemValue(item, _ref2).value;
344
- if (phoneValue) {
345
- var checkPhone = validatePhone(phoneValue);
346
- if (!checkPhone) {
347
- errors.push("".concat(item.label, " ").concat(intl.formatMessage({
348
- id: 'message.invalid-phone-number'
349
- })));
350
- }
351
- }
352
- }
353
- if (validateForCorrectness && _isIncorrect(item)) {
354
- methods.setError(item.fieldName, {
355
- type: 'incorrect',
356
- message: "".concat(item.label, " ").concat(intl.formatMessage({
357
- id: 'message.was-answered-incorrectly'
358
- }))
359
- });
360
- errors.push("".concat(item.label, " ").concat(intl.formatMessage({
361
- id: 'message.was-answered-incorrectly'
362
- }), "!"));
321
+ hasErrors = true;
363
322
  }
364
323
  });
365
- return errors;
324
+ return hasErrors;
366
325
  };
367
326
  var validateEmail = function validateEmail(email) {
368
327
  return email.match(
@@ -443,12 +402,12 @@ var ReactSurvey = function ReactSurvey(_ref) {
443
402
  return x.id === id;
444
403
  });
445
404
  if ($dataItem !== undefined) {
405
+ var _ref2, _ref3;
446
406
  return _objectSpread(_objectSpread({}, $dataItem), {}, {
447
407
  fieldRules: getFieldRules($dataItem),
448
408
  print: print !== null && print !== void 0 ? print : false,
449
- hideRequiredAlert: hideRequiredAlert || $dataItem.hideRequiredAlert,
450
- readOnly: readOnly || $dataItem.readOnly,
451
- disabled: $dataItem.readOnly,
409
+ readOnly: (_ref2 = readOnly || $dataItem.readOnly) !== null && _ref2 !== void 0 ? _ref2 : false,
410
+ disabled: (_ref3 = readOnly || $dataItem.readOnly) !== null && _ref3 !== void 0 ? _ref3 : false,
452
411
  mutable: true
453
412
  });
454
413
  }
@@ -468,19 +427,19 @@ var ReactSurvey = function ReactSurvey(_ref) {
468
427
  defaultValue: _getDefaultValue(item),
469
428
  disabled: item.disabled,
470
429
  required: item.required,
471
- render: function render(_ref3) {
472
- var _ref3$field = _ref3.field,
473
- _onChange = _ref3$field.onChange,
474
- onBlur = _ref3$field.onBlur,
475
- value = _ref3$field.value,
476
- name = _ref3$field.name,
477
- ref = _ref3$field.ref,
478
- _ref3$fieldState = _ref3.fieldState,
479
- invalid = _ref3$fieldState.invalid,
480
- isTouched = _ref3$fieldState.isTouched,
481
- isDirty = _ref3$fieldState.isDirty,
482
- error = _ref3$fieldState.error,
483
- formState = _ref3.formState;
430
+ render: function render(_ref4) {
431
+ var _ref4$field = _ref4.field,
432
+ _onChange = _ref4$field.onChange,
433
+ onBlur = _ref4$field.onBlur,
434
+ value = _ref4$field.value,
435
+ name = _ref4$field.name,
436
+ ref = _ref4$field.ref,
437
+ _ref4$fieldState = _ref4.fieldState,
438
+ invalid = _ref4$fieldState.invalid,
439
+ isTouched = _ref4$fieldState.isTouched,
440
+ isDirty = _ref4$fieldState.isDirty,
441
+ error = _ref4$fieldState.error,
442
+ formState = _ref4.formState;
484
443
  return /*#__PURE__*/_react["default"].createElement(Input, {
485
444
  onBlur: onBlur,
486
445
  onChange: function onChange(e) {
@@ -534,19 +493,19 @@ var ReactSurvey = function ReactSurvey(_ref) {
534
493
  defaultValue: _getDefaultValue(item),
535
494
  disabled: item.disabled,
536
495
  required: item.required,
537
- render: function render(_ref4) {
538
- var _ref4$field = _ref4.field,
539
- _onChange2 = _ref4$field.onChange,
540
- onBlur = _ref4$field.onBlur,
541
- value = _ref4$field.value,
542
- name = _ref4$field.name,
543
- ref = _ref4$field.ref,
544
- _ref4$fieldState = _ref4.fieldState,
545
- invalid = _ref4$fieldState.invalid,
546
- isTouched = _ref4$fieldState.isTouched,
547
- isDirty = _ref4$fieldState.isDirty,
548
- error = _ref4$fieldState.error,
549
- formState = _ref4.formState;
496
+ render: function render(_ref5) {
497
+ var _ref5$field = _ref5.field,
498
+ _onChange2 = _ref5$field.onChange,
499
+ onBlur = _ref5$field.onBlur,
500
+ value = _ref5$field.value,
501
+ name = _ref5$field.name,
502
+ ref = _ref5$field.ref,
503
+ _ref5$fieldState = _ref5.fieldState,
504
+ invalid = _ref5$fieldState.invalid,
505
+ isTouched = _ref5$fieldState.isTouched,
506
+ isDirty = _ref5$fieldState.isDirty,
507
+ error = _ref5$fieldState.error,
508
+ formState = _ref5.formState;
550
509
  return /*#__PURE__*/_react["default"].createElement(_customElement["default"], {
551
510
  onBlur: onBlur,
552
511
  onChange: function onChange(e) {
@@ -627,11 +586,11 @@ var ReactSurvey = function ReactSurvey(_ref) {
627
586
 
628
587
  //#endregion
629
588
 
630
- var dataItems = items;
589
+ var dataItems = items ? (0, _toConsumableArray2["default"])(items) : [];
631
590
  if (displayShort) {
632
- dataItems = items.filter(function (i) {
591
+ dataItems = items ? (0, _toConsumableArray2["default"])(items).filter(function (i) {
633
592
  return i.alternateForm === true;
634
- });
593
+ }) : [];
635
594
  }
636
595
  dataItems.forEach(function (item) {
637
596
  if (item && item.readOnly && item.variableKey && variables[item.variableKey]) {
@@ -641,12 +600,12 @@ var ReactSurvey = function ReactSurvey(_ref) {
641
600
  var fieldItems = dataItems.filter(function (x) {
642
601
  return !x.parentId;
643
602
  }).map(function (item) {
603
+ var _ref6, _ref7;
644
604
  if (!item) return null;
645
605
  item.fieldRules = getFieldRules(item);
646
606
  item.print = print !== null && print !== void 0 ? print : false;
647
- item.hideRequiredAlert = hideRequiredAlert || item.hideRequiredAlert;
648
- item.readOnly = readOnly || item.readOnly;
649
- item.disabled = item.readOnly;
607
+ item.readOnly = (_ref6 = readOnly || item.readOnly) !== null && _ref6 !== void 0 ? _ref6 : false;
608
+ item.disabled = (_ref7 = readOnly || item.readOnly) !== null && _ref7 !== void 0 ? _ref7 : false;
650
609
  item.mutable = true;
651
610
  switch (item.element) {
652
611
  case 'TextInput':
@@ -681,19 +640,19 @@ var ReactSurvey = function ReactSurvey(_ref) {
681
640
  defaultValue: _getDefaultValue(item),
682
641
  disabled: item.disabled,
683
642
  required: item.required,
684
- render: function render(_ref5) {
685
- var _ref5$field = _ref5.field,
686
- _onChange3 = _ref5$field.onChange,
687
- onBlur = _ref5$field.onBlur,
688
- value = _ref5$field.value,
689
- name = _ref5$field.name,
690
- ref = _ref5$field.ref,
691
- _ref5$fieldState = _ref5.fieldState,
692
- invalid = _ref5$fieldState.invalid,
693
- isTouched = _ref5$fieldState.isTouched,
694
- isDirty = _ref5$fieldState.isDirty,
695
- error = _ref5$fieldState.error,
696
- formState = _ref5.formState;
643
+ render: function render(_ref8) {
644
+ var _ref8$field = _ref8.field,
645
+ _onChange3 = _ref8$field.onChange,
646
+ onBlur = _ref8$field.onBlur,
647
+ value = _ref8$field.value,
648
+ name = _ref8$field.name,
649
+ ref = _ref8$field.ref,
650
+ _ref8$fieldState = _ref8.fieldState,
651
+ invalid = _ref8$fieldState.invalid,
652
+ isTouched = _ref8$fieldState.isTouched,
653
+ isDirty = _ref8$fieldState.isDirty,
654
+ error = _ref8$fieldState.error,
655
+ formState = _ref8.formState;
697
656
  return /*#__PURE__*/_react["default"].createElement(Signature, {
698
657
  methods: methods,
699
658
  onBlur: onBlur,
@@ -719,19 +678,19 @@ var ReactSurvey = function ReactSurvey(_ref) {
719
678
  defaultValue: _optionsDefaultValue(item),
720
679
  disabled: item.disabled,
721
680
  required: item.required,
722
- render: function render(_ref6) {
723
- var _ref6$field = _ref6.field,
724
- _onChange4 = _ref6$field.onChange,
725
- onBlur = _ref6$field.onBlur,
726
- value = _ref6$field.value,
727
- name = _ref6$field.name,
728
- ref = _ref6$field.ref,
729
- _ref6$fieldState = _ref6.fieldState,
730
- invalid = _ref6$fieldState.invalid,
731
- isTouched = _ref6$fieldState.isTouched,
732
- isDirty = _ref6$fieldState.isDirty,
733
- error = _ref6$fieldState.error,
734
- formState = _ref6.formState;
681
+ render: function render(_ref9) {
682
+ var _ref9$field = _ref9.field,
683
+ _onChange4 = _ref9$field.onChange,
684
+ onBlur = _ref9$field.onBlur,
685
+ value = _ref9$field.value,
686
+ name = _ref9$field.name,
687
+ ref = _ref9$field.ref,
688
+ _ref9$fieldState = _ref9.fieldState,
689
+ invalid = _ref9$fieldState.invalid,
690
+ isTouched = _ref9$fieldState.isTouched,
691
+ isDirty = _ref9$fieldState.isDirty,
692
+ error = _ref9$fieldState.error,
693
+ formState = _ref9.formState;
735
694
  return /*#__PURE__*/_react["default"].createElement(Checkboxes, {
736
695
  onBlur: onBlur,
737
696
  onChange: function onChange(e) {
@@ -771,19 +730,19 @@ var ReactSurvey = function ReactSurvey(_ref) {
771
730
  defaultValue: _getDefaultValue(item),
772
731
  disabled: item.disabled,
773
732
  required: item.required,
774
- render: function render(_ref7) {
775
- var _ref7$field = _ref7.field,
776
- _onChange5 = _ref7$field.onChange,
777
- onBlur = _ref7$field.onBlur,
778
- value = _ref7$field.value,
779
- name = _ref7$field.name,
780
- ref = _ref7$field.ref,
781
- _ref7$fieldState = _ref7.fieldState,
782
- invalid = _ref7$fieldState.invalid,
783
- isTouched = _ref7$fieldState.isTouched,
784
- isDirty = _ref7$fieldState.isDirty,
785
- error = _ref7$fieldState.error,
786
- formState = _ref7.formState;
733
+ render: function render(_ref10) {
734
+ var _ref10$field = _ref10.field,
735
+ _onChange5 = _ref10$field.onChange,
736
+ onBlur = _ref10$field.onBlur,
737
+ value = _ref10$field.value,
738
+ name = _ref10$field.name,
739
+ ref = _ref10$field.ref,
740
+ _ref10$fieldState = _ref10.fieldState,
741
+ invalid = _ref10$fieldState.invalid,
742
+ isTouched = _ref10$fieldState.isTouched,
743
+ isDirty = _ref10$fieldState.isDirty,
744
+ error = _ref10$fieldState.error,
745
+ formState = _ref10.formState;
787
746
  return /*#__PURE__*/_react["default"].createElement(Camera, {
788
747
  onBlur: onBlur,
789
748
  onChange: function onChange(e) {
@@ -809,19 +768,19 @@ var ReactSurvey = function ReactSurvey(_ref) {
809
768
  defaultValue: _getDefaultValue(item),
810
769
  disabled: item.disabled,
811
770
  required: item.required,
812
- render: function render(_ref8) {
813
- var _ref8$field = _ref8.field,
814
- _onChange6 = _ref8$field.onChange,
815
- onBlur = _ref8$field.onBlur,
816
- value = _ref8$field.value,
817
- name = _ref8$field.name,
818
- ref = _ref8$field.ref,
819
- _ref8$fieldState = _ref8.fieldState,
820
- invalid = _ref8$fieldState.invalid,
821
- isTouched = _ref8$fieldState.isTouched,
822
- isDirty = _ref8$fieldState.isDirty,
823
- error = _ref8$fieldState.error,
824
- formState = _ref8.formState;
771
+ render: function render(_ref11) {
772
+ var _ref11$field = _ref11.field,
773
+ _onChange6 = _ref11$field.onChange,
774
+ onBlur = _ref11$field.onBlur,
775
+ value = _ref11$field.value,
776
+ name = _ref11$field.name,
777
+ ref = _ref11$field.ref,
778
+ _ref11$fieldState = _ref11.fieldState,
779
+ invalid = _ref11$fieldState.invalid,
780
+ isTouched = _ref11$fieldState.isTouched,
781
+ isDirty = _ref11$fieldState.isDirty,
782
+ error = _ref11$fieldState.error,
783
+ formState = _ref11.formState;
825
784
  return /*#__PURE__*/_react["default"].createElement(FileUpload, {
826
785
  onBlur: onBlur,
827
786
  onChange: function onChange(e) {
package/lib/index.js CHANGED
@@ -19,7 +19,7 @@ Object.defineProperty(exports, "Registry", {
19
19
  return _registry["default"];
20
20
  }
21
21
  });
22
- exports["default"] = void 0;
22
+ exports["default"] = exports.cleanUpSurveyItems = void 0;
23
23
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
24
24
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
25
25
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
@@ -93,7 +93,6 @@ var ReactSurveyBuilder = exports.ReactSurveyBuilder = /*#__PURE__*/function (_Re
93
93
  key: "render",
94
94
  value: function render() {
95
95
  var _this$props$editSurve,
96
- _this$props$surveyNam,
97
96
  _this2 = this,
98
97
  _this$props$saveSurve;
99
98
  var toolbarProps = {
@@ -133,11 +132,11 @@ var ReactSurveyBuilder = exports.ReactSurveyBuilder = /*#__PURE__*/function (_Re
133
132
  saveAlways: this.props.saveAlways
134
133
  })), /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Col, {
135
134
  md: 3
136
- }, /*#__PURE__*/_react["default"].createElement("div", {
135
+ }, (!!!this.props.saveAlways || this.props.editSurveyBlock || this.props.previewSurveyBlock || this.props.surveyName) && /*#__PURE__*/_react["default"].createElement("div", {
137
136
  className: this.props.surveyToolbarClassName
138
- }, /*#__PURE__*/_react["default"].createElement("div", {
137
+ }, (!!!this.props.saveAlways || this.props.editSurveyBlock || this.props.surveyName) && /*#__PURE__*/_react["default"].createElement("div", {
139
138
  className: "border border-light border-3 p-3 d-grid gap-1 mb-3"
140
- }, (_this$props$editSurve = this.props.editSurveyBlock) !== null && _this$props$editSurve !== void 0 ? _this$props$editSurve : /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("h4", null, (_this$props$surveyNam = this.props.surveyName) !== null && _this$props$surveyNam !== void 0 ? _this$props$surveyNam : 'Preview')), !!!this.props.saveAlways && /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Button, {
139
+ }, (_this$props$editSurve = this.props.editSurveyBlock) !== null && _this$props$editSurve !== void 0 ? _this$props$editSurve : this.props.surveyName ? /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("h4", null, this.props.surveyName)) : null, !!!this.props.saveAlways && /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Button, {
141
140
  variant: "primary",
142
141
  onClick: function onClick() {
143
142
  _this2.saveFormData();
@@ -167,10 +166,126 @@ function ReactSurveyFieldGenerator(props) {
167
166
  messages: currentAppLocale.messages
168
167
  }, /*#__PURE__*/_react["default"].createElement(_formFields["default"], props));
169
168
  }
169
+ var cleanUpSurveyItems = exports.cleanUpSurveyItems = function cleanUpSurveyItems() {
170
+ var items = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
171
+ return items.map(function (item) {
172
+ var _item$element, _item$key;
173
+ var dataItem = {
174
+ id: item.id,
175
+ element: (_item$element = item.element) !== null && _item$element !== void 0 ? _item$element : (_item$key = item.key) !== null && _item$key !== void 0 ? _item$key : '',
176
+ text: item.text,
177
+ "static": item["static"]
178
+ };
179
+ if (item.groupName !== undefined && item.groupName !== null) {
180
+ dataItem.groupName = item.groupName;
181
+ }
182
+ if (item.required !== undefined && item.required !== null) {
183
+ dataItem.required = item.required;
184
+ }
185
+ if (item.description !== undefined && item.description !== null) {
186
+ dataItem.description = item.description;
187
+ }
188
+ if (item.placeholder !== undefined && item.placeholder !== null) {
189
+ dataItem.placeholder = item.placeholder;
190
+ }
191
+ if (item.bold !== undefined && item.bold !== null) {
192
+ dataItem.bold = item.bold;
193
+ }
194
+ if (item.italic !== undefined && item.italic !== null) {
195
+ dataItem.italic = item.italic;
196
+ }
197
+ if (item.labelLocation !== undefined && item.labelLocation !== null) {
198
+ dataItem.labelLocation = item.labelLocation;
199
+ }
200
+ if (item.help !== undefined && item.help !== null) {
201
+ dataItem.help = item.help;
202
+ }
203
+ if (item.hideLabel !== undefined && item.hideLabel !== null) {
204
+ dataItem.hideLabel = item.hideLabel;
205
+ }
206
+ if (item.readOnly !== undefined && item.readOnly !== null) {
207
+ dataItem.readOnly = item.readOnly;
208
+ }
209
+ if (item.defaultToday !== undefined && item.defaultToday !== null) {
210
+ dataItem.defaultToday = item.defaultToday;
211
+ }
212
+ if (item.content !== undefined && item.content !== null) {
213
+ dataItem.content = item.content;
214
+ }
215
+ if (item.href !== undefined && item.href !== null) {
216
+ dataItem.href = item.href;
217
+ }
218
+ if (item.inherited !== undefined && item.inherited !== null) {
219
+ dataItem.inherited = item.inherited;
220
+ }
221
+ if (item.type === 'custom') {
222
+ elementOptions.key = item.key;
223
+ elementOptions.custom = true;
224
+ elementOptions.forwardRef = item.forwardRef;
225
+ elementOptions.bare = item.bare;
226
+ elementOptions.props = item.props;
227
+ elementOptions.component = item.component || null;
228
+ elementOptions.customOptions = item.customOptions || [];
229
+ }
230
+ if (item.pageBreakBefore !== undefined && item.pageBreakBefore !== null) {
231
+ dataItem.pageBreakBefore = item.pageBreakBefore;
232
+ }
233
+ if (item.alternateForm !== undefined && item.alternateForm !== null) {
234
+ dataItem.alternateForm = item.alternateForm;
235
+ }
236
+ if (item.inline !== undefined && item.inline !== null) {
237
+ dataItem.inline = item.inline;
238
+ }
239
+ if (item.className !== undefined && item.className !== null) {
240
+ dataItem.className = item.className;
241
+ }
242
+ if (item.src !== undefined && item.src !== null) {
243
+ dataItem.src = item.src;
244
+ }
245
+ if (item.dateFormat !== undefined && item.dateFormat !== null) {
246
+ dataItem.dateFormat = item.dateFormat;
247
+ }
248
+ if (item.filePath !== undefined && item.filePath !== null) {
249
+ dataItem.filePath = item.filePath;
250
+ }
251
+ if (item.step !== undefined && item.step !== null) {
252
+ dataItem.step = item.step;
253
+ }
254
+ if (item.minValue !== undefined && item.minValue !== null) {
255
+ dataItem.minValue = item.minValue;
256
+ }
257
+ if (item.maxValue !== undefined && item.maxValue !== null) {
258
+ dataItem.maxValue = item.maxValue;
259
+ }
260
+ if (item.minLabel !== undefined && item.minLabel !== null) {
261
+ dataItem.minLabel = item.minLabel;
262
+ }
263
+ if (item.maxLabel !== undefined && item.maxLabel !== null) {
264
+ dataItem.maxLabel = item.maxLabel;
265
+ }
266
+ if (item.defaultValue !== undefined && item.defaultValue !== null) {
267
+ dataItem.defaultValue = item.defaultValue;
268
+ }
269
+ if (item.colCount !== undefined && item.colCount !== null) {
270
+ dataItem.colCount = item.colCount;
271
+ }
272
+ if (item.fieldName !== undefined && item.fieldName !== null) {
273
+ dataItem.fieldName = item.fieldName;
274
+ }
275
+ if (item.label !== undefined && item.label !== null) {
276
+ dataItem.label = item.label;
277
+ }
278
+ if (item.options !== undefined && item.options !== null) {
279
+ dataItem.options = item.options;
280
+ }
281
+ return dataItem;
282
+ });
283
+ };
170
284
  var SurveyBuilders = {};
171
285
  SurveyBuilders.ReactSurveyBuilder = ReactSurveyBuilder;
172
286
  SurveyBuilders.ReactSurveyGenerator = ReactSurveyGenerator;
173
287
  SurveyBuilders.ReactSurveyFieldGenerator = ReactSurveyFieldGenerator;
174
288
  SurveyBuilders.ElementStore = _store["default"];
175
289
  SurveyBuilders.Registry = _registry["default"];
290
+ SurveyBuilders.cleanUpSurveyItems = cleanUpSurveyItems;
176
291
  var _default = exports["default"] = SurveyBuilders;
package/lib/preview.js CHANGED
@@ -133,8 +133,8 @@ var Preview = exports["default"] = /*#__PURE__*/function (_React$Component) {
133
133
  value: function _onDestroy(item) {
134
134
  var _this4 = this;
135
135
  if (item.childItems) {
136
- item.childItems.forEach(function (x) {
137
- var child = _this4.getDataById(x);
136
+ item.childItems.forEach(function (childItem) {
137
+ var child = _this4.getDataById(childItem);
138
138
  if (child) {
139
139
  _store["default"].dispatch('delete', child);
140
140
  }
@@ -7,7 +7,6 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports["default"] = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _myxss = _interopRequireDefault(require("./myxss"));
10
- var _reactBootstrap = require("react-bootstrap");
11
10
  var ComponentLabel = function ComponentLabel(_ref) {
12
11
  var _item$hideLabel;
13
12
  var item = _ref.item,
@@ -19,7 +18,6 @@ var ComponentLabel = function ComponentLabel(_ref) {
19
18
  return null;
20
19
  }
21
20
  labelText = "".concat(labelText).concat(hasRequiredLabel ? '*' : '');
22
- var hideRequiredAlert = item.hideRequiredAlert;
23
21
  var hideLabel = (_item$hideLabel = item.hideLabel) !== null && _item$hideLabel !== void 0 ? _item$hideLabel : false;
24
22
  if (hideLabel) return null;
25
23
  return /*#__PURE__*/_react["default"].createElement("label", {
@@ -29,9 +27,6 @@ var ComponentLabel = function ComponentLabel(_ref) {
29
27
  dangerouslySetInnerHTML: {
30
28
  __html: labelText
31
29
  }
32
- }), hasRequiredLabel && !hideRequiredAlert && /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Badge, {
33
- bg: "danger",
34
- className: "label-required"
35
- }, "Required"));
30
+ }));
36
31
  };
37
32
  var _default = exports["default"] = ComponentLabel;
@@ -1788,6 +1788,10 @@ var Range = /*#__PURE__*/function (_React$Component24) {
1788
1788
  }
1789
1789
  if (this.props.item.mutable) {
1790
1790
  props.ref = this.inputField;
1791
+ } else {
1792
+ if (props.value === undefined) {
1793
+ props.value = this.props.item.defaultValue;
1794
+ }
1791
1795
  }
1792
1796
  props.type = 'range';
1793
1797
  props.list = "tickmarks_".concat(name);