react-survey-builder 1.0.71 → 1.0.73
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/README.md +2 -0
- package/dist/app.css +1 -1
- package/dist/app.css.map +1 -1
- package/dist/bundle.js +628 -35
- package/dist/src_survey-elements-edit_jsx.bundle.js +2 -2
- package/lib/dynamic-option-list.js +140 -155
- package/lib/fieldset/FieldSet.js +118 -0
- package/lib/fieldset/index.js +2 -132
- package/lib/form-fields.js +45 -16
- package/lib/form-steps.js +793 -0
- package/lib/form.js +47 -17
- package/lib/index.js +130 -124
- package/lib/multi-column/MultiColumnRow.js +69 -81
- package/lib/multi-column/dustbin.js +52 -18
- package/lib/preview.js +378 -349
- package/lib/sortable-element.js +9 -0
- package/lib/sortable-form-elements.js +28 -2
- package/lib/step/Step.js +147 -0
- package/lib/step/index.js +2 -0
- package/lib/survey-elements/component-drag-layer.js +13 -8
- package/lib/survey-elements/component-error-message.js +1 -1
- package/lib/survey-elements/component-header.js +12 -11
- package/lib/survey-elements/custom-element.js +51 -62
- package/lib/survey-elements/header-bar.js +36 -55
- package/lib/survey-elements/index.js +372 -370
- package/lib/survey-elements/star-rating.js +232 -282
- package/lib/survey-elements-edit.js +659 -564
- package/lib/survey-place-holder.js +9 -33
- package/lib/survey-validator.js +45 -75
- package/lib/toolbar-draggable-item.js +10 -34
- package/lib/toolbar-group-item.js +1 -1
- package/lib/toolbar.js +578 -558
- package/lib/utils/objectUtils.js +139 -0
- package/package.json +6 -5
- package/types/index.d.ts +5 -0
package/lib/form.js
CHANGED
@@ -2,23 +2,28 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
|
|
2
2
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
3
3
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
4
4
|
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
5
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
6
5
|
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
7
6
|
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
8
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
9
7
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
10
8
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
11
9
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
12
10
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
13
11
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
12
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
13
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
14
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
15
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
16
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
17
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
14
18
|
import React from 'react';
|
15
19
|
import ReactDOM from 'react-dom';
|
16
20
|
import SurveyElements, { Image, Checkboxes, Signature, Download, Camera, FileUpload, PhoneNumber, DatePicker, TextInput, EmailInput, NumberInput, TextArea } from './survey-elements';
|
17
21
|
import { TwoColumnRow, ThreeColumnRow, MultiColumnRow } from './multi-column';
|
18
|
-
import FieldSet from './fieldset';
|
22
|
+
import { FieldSet } from './fieldset';
|
23
|
+
import { Step } from './step';
|
19
24
|
import CustomElement from './survey-elements/custom-element';
|
20
25
|
import Registry from './stores/registry';
|
21
|
-
import { Button, Form } from 'react-bootstrap
|
26
|
+
import { Button, Form } from 'react-bootstrap';
|
22
27
|
import { Controller, FormProvider, useForm } from "react-hook-form";
|
23
28
|
var ReactSurvey = function ReactSurvey(_ref) {
|
24
29
|
var _ref$validateForCorre = _ref.validateForCorrectness,
|
@@ -45,6 +50,8 @@ var ReactSurvey = function ReactSurvey(_ref) {
|
|
45
50
|
variables = _ref.variables,
|
46
51
|
buttonClassName = _ref.buttonClassName,
|
47
52
|
checkboxButtonClassName = _ref.checkboxButtonClassName,
|
53
|
+
headerClassName = _ref.headerClassName,
|
54
|
+
labelClassName = _ref.labelClassName,
|
48
55
|
formId = _ref.formId,
|
49
56
|
_ref$print = _ref.print,
|
50
57
|
print = _ref$print === void 0 ? false : _ref$print;
|
@@ -74,6 +81,10 @@ var ReactSurvey = function ReactSurvey(_ref) {
|
|
74
81
|
var form = React.useRef();
|
75
82
|
var inputs = React.useRef({});
|
76
83
|
var answerData = React.useRef(_convert(answers));
|
84
|
+
var _React$useState = React.useState(null),
|
85
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
86
|
+
formAnswers = _React$useState2[0],
|
87
|
+
setFormAnswers = _React$useState2[1];
|
77
88
|
var _getDefaultValue = function _getDefaultValue($dataItem) {
|
78
89
|
var defaultValue = answerData.current[$dataItem.fieldName];
|
79
90
|
if ($dataItem.element === 'DatePicker') {
|
@@ -188,7 +199,9 @@ var ReactSurvey = function ReactSurvey(_ref) {
|
|
188
199
|
};
|
189
200
|
var _collectFormData = function _collectFormData($dataItems, $formData) {
|
190
201
|
var formData = [];
|
191
|
-
$dataItems.
|
202
|
+
$dataItems.filter(function (i) {
|
203
|
+
return i["static"] !== true;
|
204
|
+
}).forEach(function (item) {
|
192
205
|
var itemData = {
|
193
206
|
id: item.id,
|
194
207
|
name: item.fieldName,
|
@@ -222,6 +235,7 @@ var ReactSurvey = function ReactSurvey(_ref) {
|
|
222
235
|
formData: $formData,
|
223
236
|
answers: $data
|
224
237
|
});
|
238
|
+
setFormAnswers($data);
|
225
239
|
} else {
|
226
240
|
var $form = ReactDOM.findDOMNode(form.current);
|
227
241
|
$form.submit();
|
@@ -229,12 +243,14 @@ var ReactSurvey = function ReactSurvey(_ref) {
|
|
229
243
|
}
|
230
244
|
};
|
231
245
|
var handleChange = function handleChange(event) {
|
232
|
-
// console.log('handleChange');
|
233
246
|
// Call submit function on change
|
247
|
+
var $data = _collectFormData(items, (methods === null || methods === void 0 ? void 0 : methods.getValues()) || []);
|
248
|
+
// console.log('handleChange', $data);
|
249
|
+
|
234
250
|
if (onChange) {
|
235
|
-
var $data = _collectFormData(items, (methods === null || methods === void 0 ? void 0 : methods.getValues()) || []);
|
236
251
|
onChange($data);
|
237
252
|
}
|
253
|
+
setFormAnswers($data);
|
238
254
|
};
|
239
255
|
var validateForm = function validateForm() {
|
240
256
|
var hasErrors = false;
|
@@ -262,29 +278,35 @@ var ReactSurvey = function ReactSurvey(_ref) {
|
|
262
278
|
return x.id === id;
|
263
279
|
});
|
264
280
|
if ($dataItem !== undefined) {
|
265
|
-
var _ref2, _ref3, _ref4;
|
281
|
+
var _ref2, _ref3, _ref4, _$dataItem$fieldName;
|
266
282
|
return _objectSpread(_objectSpread({}, $dataItem), {}, {
|
267
283
|
fieldRules: getFieldRules($dataItem),
|
268
284
|
print: print !== null && print !== void 0 ? print : false,
|
269
285
|
readOnly: (_ref2 = readOnly || $dataItem.readOnly) !== null && _ref2 !== void 0 ? _ref2 : false,
|
270
286
|
hideLabel: (_ref3 = hideLabels || $dataItem.hideLabel) !== null && _ref3 !== void 0 ? _ref3 : false,
|
271
287
|
disabled: (_ref4 = readOnly || $dataItem.readOnly) !== null && _ref4 !== void 0 ? _ref4 : false,
|
272
|
-
mutable: true
|
288
|
+
mutable: true,
|
289
|
+
name: (_$dataItem$fieldName = $dataItem.fieldName) !== null && _$dataItem$fieldName !== void 0 ? _$dataItem$fieldName : $dataItem.name,
|
290
|
+
key: "form_".concat($dataItem.id),
|
291
|
+
item: $dataItem,
|
292
|
+
value: _getDefaultValue($dataItem)
|
273
293
|
});
|
274
294
|
}
|
275
295
|
return null;
|
276
296
|
};
|
277
297
|
var getStandardElement = function getStandardElement(item) {
|
298
|
+
var _item$fieldName;
|
278
299
|
if (!item) return null;
|
279
300
|
if (item.custom) {
|
280
301
|
return getCustomElement(item);
|
281
302
|
}
|
282
303
|
var Input = SurveyElements[item.element];
|
283
304
|
return /*#__PURE__*/React.createElement(Input, {
|
284
|
-
name: item.fieldName,
|
305
|
+
name: (_item$fieldName = item.fieldName) !== null && _item$fieldName !== void 0 ? _item$fieldName : item.name,
|
285
306
|
key: "form_".concat(item.id),
|
286
307
|
item: item,
|
287
|
-
value: _getDefaultValue(item)
|
308
|
+
value: _getDefaultValue(item),
|
309
|
+
onChange: handleChange
|
288
310
|
});
|
289
311
|
};
|
290
312
|
var getInputElement = function getInputElement(item) {
|
@@ -327,20 +349,23 @@ var ReactSurvey = function ReactSurvey(_ref) {
|
|
327
349
|
},
|
328
350
|
isInvalid: invalid,
|
329
351
|
item: item,
|
330
|
-
className: item.element === 'RadioButtons' || item.element === 'Checkbox' ? checkboxButtonClassName !== null && checkboxButtonClassName !== void 0 ? checkboxButtonClassName : null : null
|
352
|
+
className: item.element === 'RadioButtons' || item.element === 'Checkbox' ? checkboxButtonClassName !== null && checkboxButtonClassName !== void 0 ? checkboxButtonClassName : null : null,
|
353
|
+
checkboxButtonClassName: item.element === 'RadioButtons' || item.element === 'Checkbox' ? checkboxButtonClassName !== null && checkboxButtonClassName !== void 0 ? checkboxButtonClassName : null : null
|
331
354
|
});
|
332
355
|
}
|
333
356
|
});
|
334
357
|
};
|
335
358
|
var getContainerElement = function getContainerElement(item, Element) {
|
336
|
-
var controls = item.childItems.map(function (childItem) {
|
359
|
+
var controls = item === null || item === void 0 ? void 0 : item.childItems.map(function (childItem) {
|
337
360
|
return childItem ? getInputElement(getDataItemById(childItem)) : /*#__PURE__*/React.createElement("div", null, "\xA0");
|
338
361
|
});
|
339
362
|
return /*#__PURE__*/React.createElement(Element, {
|
340
363
|
mutable: true,
|
341
364
|
key: "form_".concat(item.id),
|
342
365
|
item: item,
|
343
|
-
controls: controls
|
366
|
+
controls: controls,
|
367
|
+
items: items,
|
368
|
+
answers: formAnswers
|
344
369
|
});
|
345
370
|
};
|
346
371
|
var getSimpleElement = function getSimpleElement(item) {
|
@@ -348,7 +373,9 @@ var ReactSurvey = function ReactSurvey(_ref) {
|
|
348
373
|
return /*#__PURE__*/React.createElement(Element, {
|
349
374
|
mutable: true,
|
350
375
|
key: "form_".concat(item.id),
|
351
|
-
item: item
|
376
|
+
item: item,
|
377
|
+
headerClassName: headerClassName,
|
378
|
+
labelClassName: labelClassName
|
352
379
|
});
|
353
380
|
};
|
354
381
|
var getCustomElement = function getCustomElement(item) {
|
@@ -452,10 +479,10 @@ var ReactSurvey = function ReactSurvey(_ref) {
|
|
452
479
|
item.mutable = true;
|
453
480
|
switch (item.element) {
|
454
481
|
case 'RadioButtons':
|
455
|
-
case 'Rating':
|
456
482
|
case 'Range':
|
457
483
|
case 'Checkbox':
|
458
484
|
return getInputElement(item);
|
485
|
+
case 'Rating':
|
459
486
|
case 'Tags':
|
460
487
|
case 'Dropdown':
|
461
488
|
case 'TextInput':
|
@@ -473,6 +500,8 @@ var ReactSurvey = function ReactSurvey(_ref) {
|
|
473
500
|
return getContainerElement(item, ThreeColumnRow);
|
474
501
|
case 'TwoColumnRow':
|
475
502
|
return getContainerElement(item, TwoColumnRow);
|
503
|
+
case 'Step':
|
504
|
+
return getContainerElement(item, Step);
|
476
505
|
case 'FieldSet':
|
477
506
|
return getContainerElement(item, FieldSet);
|
478
507
|
case 'Signature':
|
@@ -548,7 +577,8 @@ var ReactSurvey = function ReactSurvey(_ref) {
|
|
548
577
|
},
|
549
578
|
isInvalid: invalid,
|
550
579
|
item: item,
|
551
|
-
className: checkboxButtonClassName !== null && checkboxButtonClassName !== void 0 ? checkboxButtonClassName : null
|
580
|
+
className: checkboxButtonClassName !== null && checkboxButtonClassName !== void 0 ? checkboxButtonClassName : null,
|
581
|
+
checkboxButtonClassName: checkboxButtonClassName !== null && checkboxButtonClassName !== void 0 ? checkboxButtonClassName : null
|
552
582
|
});
|
553
583
|
}
|
554
584
|
});
|
package/lib/index.js
CHANGED
@@ -1,17 +1,9 @@
|
|
1
|
-
function
|
2
|
-
function
|
3
|
-
function
|
4
|
-
function
|
5
|
-
function
|
6
|
-
function
|
7
|
-
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
8
|
-
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
9
|
-
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
|
10
|
-
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
11
|
-
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
12
|
-
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
13
|
-
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
14
|
-
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
1
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
2
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
3
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
4
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
5
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
6
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
15
7
|
import React from 'react';
|
16
8
|
import { DndProvider } from 'react-dnd';
|
17
9
|
import { HTML5Backend } from 'react-dnd-html5-backend';
|
@@ -19,115 +11,114 @@ import Preview from './preview';
|
|
19
11
|
import Toolbar from './toolbar';
|
20
12
|
import SurveyGenerator from './form';
|
21
13
|
import SurveyFieldGenerator from './form-fields';
|
14
|
+
import SurveyStepGenerator from './form-steps';
|
22
15
|
import store from './stores/store';
|
23
16
|
import Registry from './stores/registry';
|
24
|
-
import {
|
25
|
-
var ReactSurveyBuilder =
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
}, {
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
}, {
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
})))))));
|
122
|
-
}
|
123
|
-
}]);
|
124
|
-
}(React.Component);
|
125
|
-
function ReactSurveyGenerator(props) {
|
17
|
+
import { Col, Container, Nav, Navbar, Row } from 'react-bootstrap';
|
18
|
+
var ReactSurveyBuilder = function ReactSurveyBuilder(_ref) {
|
19
|
+
var _ref$items = _ref.items,
|
20
|
+
items = _ref$items === void 0 ? [] : _ref$items,
|
21
|
+
_ref$showCorrectColum = _ref.showCorrectColumn,
|
22
|
+
showCorrectColumn = _ref$showCorrectColum === void 0 ? false : _ref$showCorrectColum,
|
23
|
+
_ref$files = _ref.files,
|
24
|
+
files = _ref$files === void 0 ? [] : _ref$files,
|
25
|
+
_ref$saveAlways = _ref.saveAlways,
|
26
|
+
saveAlways = _ref$saveAlways === void 0 ? false : _ref$saveAlways,
|
27
|
+
_ref$toolbarItems = _ref.toolbarItems,
|
28
|
+
toolbarItems = _ref$toolbarItems === void 0 ? [] : _ref$toolbarItems,
|
29
|
+
_ref$customToolbarIte = _ref.customToolbarItems,
|
30
|
+
customToolbarItems = _ref$customToolbarIte === void 0 ? [] : _ref$customToolbarIte,
|
31
|
+
_ref$showDescription = _ref.showDescription,
|
32
|
+
showDescription = _ref$showDescription === void 0 ? false : _ref$showDescription,
|
33
|
+
_ref$surveyName = _ref.surveyName,
|
34
|
+
surveyName = _ref$surveyName === void 0 ? null : _ref$surveyName,
|
35
|
+
_ref$saveSurveyName = _ref.saveSurveyName,
|
36
|
+
saveSurveyName = _ref$saveSurveyName === void 0 ? null : _ref$saveSurveyName,
|
37
|
+
_ref$previewSurveyBlo = _ref.previewSurveyBlock,
|
38
|
+
previewSurveyBlock = _ref$previewSurveyBlo === void 0 ? null : _ref$previewSurveyBlo,
|
39
|
+
renderEditForm = _ref.renderEditForm,
|
40
|
+
variables = _ref.variables,
|
41
|
+
onPost = _ref.onPost,
|
42
|
+
onLoad = _ref.onLoad,
|
43
|
+
url = _ref.url,
|
44
|
+
saveUrl = _ref.saveUrl;
|
45
|
+
var _React$useState = React.useState(false),
|
46
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
47
|
+
editMode = _React$useState2[0],
|
48
|
+
setEditMode = _React$useState2[1];
|
49
|
+
var _React$useState3 = React.useState(null),
|
50
|
+
_React$useState4 = _slicedToArray(_React$useState3, 2),
|
51
|
+
editElement = _React$useState4[0],
|
52
|
+
setEditElement = _React$useState4[1];
|
53
|
+
var saveFormData = function saveFormData() {
|
54
|
+
store.dispatch('post');
|
55
|
+
};
|
56
|
+
return /*#__PURE__*/React.createElement(DndProvider, {
|
57
|
+
backend: HTML5Backend
|
58
|
+
}, /*#__PURE__*/React.createElement(Navbar, {
|
59
|
+
expand: "lg",
|
60
|
+
bg: "light",
|
61
|
+
"data-bs-theme": "light",
|
62
|
+
sticky: "top"
|
63
|
+
}, /*#__PURE__*/React.createElement(Container, {
|
64
|
+
fluid: true
|
65
|
+
}, /*#__PURE__*/React.createElement(Navbar.Brand, null, surveyName !== null && surveyName !== void 0 ? surveyName : 'Preview'), /*#__PURE__*/React.createElement(Navbar.Toggle, {
|
66
|
+
"aria-controls": "survey-builder-nav"
|
67
|
+
}), /*#__PURE__*/React.createElement(Navbar.Collapse, {
|
68
|
+
id: "survey-builder-nav"
|
69
|
+
}, /*#__PURE__*/React.createElement(Nav, {
|
70
|
+
className: "me-auto"
|
71
|
+
}, !!!saveAlways && /*#__PURE__*/React.createElement(Nav.Link, {
|
72
|
+
onClick: function onClick() {
|
73
|
+
saveFormData();
|
74
|
+
}
|
75
|
+
}, saveSurveyName || 'Save Survey')), previewSurveyBlock ? previewSurveyBlock : null))), /*#__PURE__*/React.createElement(Container, {
|
76
|
+
fluid: true,
|
77
|
+
className: "react-survey-builder position-absolute overflow-hidden",
|
78
|
+
style: {
|
79
|
+
top: 56,
|
80
|
+
height: 'calc(100% - 56px)'
|
81
|
+
}
|
82
|
+
}, /*#__PURE__*/React.createElement(Row, {
|
83
|
+
className: "overflow-hidden h-100"
|
84
|
+
}, /*#__PURE__*/React.createElement(Col, {
|
85
|
+
xs: 9,
|
86
|
+
className: "overflow-hidden h-100"
|
87
|
+
}, /*#__PURE__*/React.createElement(Preview, {
|
88
|
+
files: files,
|
89
|
+
showCorrectColumn: showCorrectColumn,
|
90
|
+
showDescription: showDescription,
|
91
|
+
items: items,
|
92
|
+
url: url,
|
93
|
+
saveUrl: saveUrl,
|
94
|
+
onLoad: onLoad,
|
95
|
+
onPost: onPost,
|
96
|
+
editMode: editMode,
|
97
|
+
setEditMode: setEditMode,
|
98
|
+
variables: variables,
|
99
|
+
registry: Registry,
|
100
|
+
editElement: editElement,
|
101
|
+
setEditElement: setEditElement,
|
102
|
+
renderEditForm: renderEditForm,
|
103
|
+
saveAlways: saveAlways
|
104
|
+
})), /*#__PURE__*/React.createElement(Col, {
|
105
|
+
xs: 3,
|
106
|
+
className: "overflow-hidden h-100"
|
107
|
+
}, /*#__PURE__*/React.createElement(Toolbar, {
|
108
|
+
showDescription: showDescription,
|
109
|
+
items: toolbarItems,
|
110
|
+
customItems: customToolbarItems
|
111
|
+
})))));
|
112
|
+
};
|
113
|
+
var ReactSurveyGenerator = function ReactSurveyGenerator(props) {
|
126
114
|
return /*#__PURE__*/React.createElement(SurveyGenerator, props);
|
127
|
-
}
|
128
|
-
function ReactSurveyFieldGenerator(props) {
|
115
|
+
};
|
116
|
+
var ReactSurveyFieldGenerator = function ReactSurveyFieldGenerator(props) {
|
129
117
|
return /*#__PURE__*/React.createElement(SurveyFieldGenerator, props);
|
130
|
-
}
|
118
|
+
};
|
119
|
+
var ReactSurveyStepGenerator = function ReactSurveyStepGenerator(props) {
|
120
|
+
return /*#__PURE__*/React.createElement(SurveyStepGenerator, props);
|
121
|
+
};
|
131
122
|
var cleanUpSurveyItems = function cleanUpSurveyItems() {
|
132
123
|
var items = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
133
124
|
return items.map(function (item) {
|
@@ -138,6 +129,21 @@ var cleanUpSurveyItems = function cleanUpSurveyItems() {
|
|
138
129
|
text: item.text,
|
139
130
|
"static": item["static"]
|
140
131
|
};
|
132
|
+
if (item.childItems !== undefined && item.childItems !== null) {
|
133
|
+
dataItem.childItems = item.childItems;
|
134
|
+
}
|
135
|
+
if (item.name !== undefined && item.name !== null) {
|
136
|
+
dataItem.name = item.name;
|
137
|
+
}
|
138
|
+
if (item.conditional !== undefined && item.conditional !== null) {
|
139
|
+
dataItem.conditional = item.conditional;
|
140
|
+
}
|
141
|
+
if (item.conditionalFieldName !== undefined && item.conditionalFieldName !== null) {
|
142
|
+
dataItem.conditionalFieldName = item.conditionalFieldName;
|
143
|
+
}
|
144
|
+
if (item.conditionalFieldValue !== undefined && item.conditionalFieldValue !== null) {
|
145
|
+
dataItem.conditionalFieldValue = item.conditionalFieldValue;
|
146
|
+
}
|
141
147
|
if (item.groupName !== undefined && item.groupName !== null) {
|
142
148
|
dataItem.groupName = item.groupName;
|
143
149
|
}
|
@@ -165,9 +171,6 @@ var cleanUpSurveyItems = function cleanUpSurveyItems() {
|
|
165
171
|
if (item.hideLabel !== undefined && item.hideLabel !== null) {
|
166
172
|
dataItem.hideLabel = item.hideLabel;
|
167
173
|
}
|
168
|
-
if (props.hideLabels !== undefined && props.hideLabels !== null) {
|
169
|
-
dataItem.hideLabel = props.hideLabels;
|
170
|
-
}
|
171
174
|
if (item.readOnly !== undefined && item.readOnly !== null) {
|
172
175
|
dataItem.readOnly = item.readOnly;
|
173
176
|
}
|
@@ -183,6 +186,9 @@ var cleanUpSurveyItems = function cleanUpSurveyItems() {
|
|
183
186
|
if (item.inherited !== undefined && item.inherited !== null) {
|
184
187
|
dataItem.inherited = item.inherited;
|
185
188
|
}
|
189
|
+
if (item.isContainer !== undefined && item.isContainer !== null) {
|
190
|
+
dataItem.isContainer = item.isContainer;
|
191
|
+
}
|
186
192
|
if (item.type === 'custom') {
|
187
193
|
elementOptions.key = item.key;
|
188
194
|
elementOptions.custom = true;
|
@@ -250,8 +256,8 @@ var SurveyBuilders = {};
|
|
250
256
|
SurveyBuilders.ReactSurveyBuilder = ReactSurveyBuilder;
|
251
257
|
SurveyBuilders.ReactSurveyGenerator = ReactSurveyGenerator;
|
252
258
|
SurveyBuilders.ReactSurveyFieldGenerator = ReactSurveyFieldGenerator;
|
259
|
+
SurveyBuilders.ReactSurveyStepGenerator = ReactSurveyStepGenerator;
|
253
260
|
SurveyBuilders.ElementStore = store;
|
254
261
|
SurveyBuilders.Registry = Registry;
|
255
262
|
SurveyBuilders.cleanUpSurveyItems = cleanUpSurveyItems;
|
256
|
-
export default SurveyBuilders;
|
257
|
-
export { cleanUpSurveyItems, ReactSurveyBuilder, ReactSurveyGenerator, ReactSurveyFieldGenerator, store as ElementStore, Registry };
|
263
|
+
export default SurveyBuilders;
|