react-survey-builder 1.0.16 → 1.0.18

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 (38) hide show
  1. package/README.md +18 -16
  2. package/dist/186.index.js +1 -0
  3. package/dist/app.css +1 -1
  4. package/dist/app.css.map +1 -1
  5. package/dist/index.js +1 -1
  6. package/lib/dynamic-option-list.js +1 -1
  7. package/lib/fieldset/FieldSet.js +15 -17
  8. package/lib/form copy.js +622 -0
  9. package/lib/form-fields.js +201 -208
  10. package/lib/form.js +765 -534
  11. package/lib/index.js +3 -3
  12. package/lib/language-provider/locales/en-us.json +1 -0
  13. package/lib/multi-column/MultiColumnRow.js +25 -25
  14. package/lib/multi-column/dustbin.js +16 -16
  15. package/lib/multi-column/grip.js +6 -6
  16. package/lib/preview.js +41 -40
  17. package/lib/sortable-element.js +6 -6
  18. package/lib/sortable-form-elements.js +2 -0
  19. package/lib/stores/store.js +22 -22
  20. package/lib/survey-elements/component-drag-handle.js +6 -6
  21. package/lib/survey-elements/component-drag-layer.js +3 -3
  22. package/lib/survey-elements/component-drag-preview.js +1 -1
  23. package/lib/survey-elements/component-error-message.js +1 -0
  24. package/lib/survey-elements/component-header.js +5 -5
  25. package/lib/survey-elements/component-label.js +12 -6
  26. package/lib/survey-elements/custom-element.js +23 -12
  27. package/lib/survey-elements/header-bar.js +5 -5
  28. package/lib/survey-elements/index.js +817 -740
  29. package/lib/survey-elements/myxss.js +68 -1
  30. package/lib/survey-elements-edit.js +211 -53
  31. package/lib/toolbar-draggable-item.js +4 -4
  32. package/lib/toolbar.js +49 -18
  33. package/lib/utils/ipUtils.js +53 -0
  34. package/package.json +2 -3
  35. package/types/index.d.ts +5 -1
  36. package/dist/967.index.js +0 -1
  37. package/lib/survey-elements/date-picker.js +0 -272
  38. package/lib/utils/custom-date-picker.js +0 -93
package/lib/index.js CHANGED
@@ -59,7 +59,7 @@ var ReactSurveyBuilder = exports.ReactSurveyBuilder = /*#__PURE__*/function (_Re
59
59
  }
60
60
  (0, _createClass2["default"])(ReactSurveyBuilder, [{
61
61
  key: "editModeOn",
62
- value: function editModeOn(data, e) {
62
+ value: function editModeOn($dataItem, e) {
63
63
  e.preventDefault();
64
64
  e.stopPropagation();
65
65
  if (this.state.editMode) {
@@ -70,7 +70,7 @@ var ReactSurveyBuilder = exports.ReactSurveyBuilder = /*#__PURE__*/function (_Re
70
70
  } else {
71
71
  this.setState({
72
72
  editMode: !this.state.editMode,
73
- editElement: data
73
+ editElement: $dataItem
74
74
  });
75
75
  }
76
76
  }
@@ -118,7 +118,7 @@ var ReactSurveyBuilder = exports.ReactSurveyBuilder = /*#__PURE__*/function (_Re
118
118
  manualEditModeOff: this.manualEditModeOff.bind(this),
119
119
  showCorrectColumn: this.props.showCorrectColumn,
120
120
  parent: this,
121
- data: this.props.data,
121
+ items: this.props.items,
122
122
  url: this.props.url,
123
123
  saveUrl: this.props.saveUrl,
124
124
  onLoad: this.props.onLoad,
@@ -54,6 +54,7 @@
54
54
  "header-text": "Header Text",
55
55
  "label": "Label",
56
56
  "paragraph": "Paragraph",
57
+ "content-body": "Static Content",
57
58
  "line-break": "Line Break",
58
59
  "dropdown": "Dropdown",
59
60
  "tags": "Tags",
@@ -19,9 +19,9 @@ var _componentLabel = _interopRequireDefault(require("../survey-elements/compone
19
19
  var _dustbin = _interopRequireDefault(require("./dustbin"));
20
20
  var _ItemTypes = _interopRequireDefault(require("../ItemTypes"));
21
21
  var _reactBootstrap = require("react-bootstrap");
22
- var _excluded = ["data", "className"],
23
- _excluded2 = ["data", "className"],
24
- _excluded3 = ["data"];
22
+ var _excluded = ["item", "className"],
23
+ _excluded2 = ["item", "className"],
24
+ _excluded3 = ["item"];
25
25
  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; }
26
26
  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) { (0, _defineProperty2["default"])(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; }
27
27
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
@@ -39,7 +39,7 @@ var MultiColumnRowBase = /*#__PURE__*/function (_React$Component) {
39
39
  value: function render() {
40
40
  var _this$props = this.props,
41
41
  controls = _this$props.controls,
42
- data = _this$props.data,
42
+ item = _this$props.item,
43
43
  editModeOn = _this$props.editModeOn,
44
44
  getDataById = _this$props.getDataById,
45
45
  setAsChild = _this$props.setAsChild,
@@ -47,8 +47,8 @@ var MultiColumnRowBase = /*#__PURE__*/function (_React$Component) {
47
47
  seq = _this$props.seq,
48
48
  className = _this$props.className,
49
49
  index = _this$props.index;
50
- var childItems = data.childItems,
51
- pageBreakBefore = data.pageBreakBefore;
50
+ var childItems = item.childItems,
51
+ pageBreakBefore = item.pageBreakBefore;
52
52
  var baseClasses = 'SortableItem rfb-item';
53
53
  if (pageBreakBefore) {
54
54
  baseClasses += ' alwaysbreak';
@@ -64,14 +64,14 @@ var MultiColumnRowBase = /*#__PURE__*/function (_React$Component) {
64
64
  style: {
65
65
  width: '100%'
66
66
  },
67
- data: data,
67
+ item: item,
68
68
  accepts: accepts,
69
69
  items: childItems,
70
70
  col: i,
71
71
  parentIndex: index,
72
72
  editModeOn: editModeOn,
73
73
  _onDestroy: function _onDestroy() {
74
- return removeChild(data, i);
74
+ return removeChild(item, i);
75
75
  },
76
76
  getDataById: getDataById,
77
77
  setAsChild: setAsChild,
@@ -83,51 +83,51 @@ var MultiColumnRowBase = /*#__PURE__*/function (_React$Component) {
83
83
  return MultiColumnRowBase;
84
84
  }(_react["default"].Component);
85
85
  var TwoColumnRow = exports.TwoColumnRow = function TwoColumnRow(_ref) {
86
- var data = _ref.data,
86
+ var item = _ref.item,
87
87
  className = _ref.className,
88
88
  rest = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
89
89
  var classNameVal = className || 'col-md-6';
90
- if (!data.childItems) {
90
+ if (!item.childItems) {
91
91
  // eslint-disable-next-line no-param-reassign
92
- data.childItems = [null, null];
93
- data.isContainer = true;
92
+ item.childItems = [null, null];
93
+ item.isContainer = true;
94
94
  }
95
95
  return /*#__PURE__*/_react["default"].createElement(MultiColumnRowBase, (0, _extends2["default"])({}, rest, {
96
96
  className: classNameVal,
97
- data: data
97
+ item: item
98
98
  }));
99
99
  };
100
100
  var ThreeColumnRow = exports.ThreeColumnRow = function ThreeColumnRow(_ref2) {
101
- var data = _ref2.data,
101
+ var item = _ref2.item,
102
102
  className = _ref2.className,
103
103
  rest = (0, _objectWithoutProperties2["default"])(_ref2, _excluded2);
104
104
  var classNameVal = className || 'col-md-4';
105
- if (!data.childItems) {
105
+ if (!item.childItems) {
106
106
  // eslint-disable-next-line no-param-reassign
107
- data.childItems = [null, null, null];
108
- data.isContainer = true;
107
+ item.childItems = [null, null, null];
108
+ item.isContainer = true;
109
109
  }
110
110
  return /*#__PURE__*/_react["default"].createElement(MultiColumnRowBase, (0, _extends2["default"])({}, rest, {
111
111
  className: classNameVal,
112
- data: data
112
+ item: item
113
113
  }));
114
114
  };
115
115
  var MultiColumnRow = exports.MultiColumnRow = function MultiColumnRow(_ref3) {
116
- var data = _ref3.data,
116
+ var item = _ref3.item,
117
117
  rest = (0, _objectWithoutProperties2["default"])(_ref3, _excluded3);
118
- var colCount = data.colCount || 4;
119
- var classNameVal = data.className || (colCount === 4 ? 'col-md-3' : 'col');
120
- if (!data.childItems) {
118
+ var colCount = item.colCount || 4;
119
+ var classNameVal = item.className || (colCount === 4 ? 'col-md-3' : 'col');
120
+ if (!item.childItems) {
121
121
  // eslint-disable-next-line no-param-reassign
122
- data.childItems = Array.from({
122
+ item.childItems = Array.from({
123
123
  length: colCount
124
124
  }, function (v, i) {
125
125
  return null;
126
126
  });
127
- data.isContainer = true;
127
+ item.isContainer = true;
128
128
  }
129
129
  return /*#__PURE__*/_react["default"].createElement(MultiColumnRowBase, (0, _extends2["default"])({}, rest, {
130
130
  className: classNameVal,
131
- data: data
131
+ item: item
132
132
  }));
133
133
  };
@@ -25,7 +25,7 @@ function getCustomElement(item, props) {
25
25
  return /*#__PURE__*/_react["default"].createElement(_customElement["default"], (0, _extends2["default"])({}, props, {
26
26
  mutable: false,
27
27
  key: "form_".concat(item.id),
28
- data: item
28
+ item: item
29
29
  }));
30
30
  }
31
31
  function getElement(item, props) {
@@ -36,7 +36,7 @@ function getElement(item, props) {
36
36
  var Element = _surveyElements["default"][item.element || item.key];
37
37
  return /*#__PURE__*/_react["default"].createElement(Element, (0, _extends2["default"])({}, props, {
38
38
  key: "form_".concat(item.id),
39
- data: item
39
+ item: item
40
40
  }));
41
41
  }
42
42
  function getStyle(backgroundColor) {
@@ -50,15 +50,15 @@ function getStyle(backgroundColor) {
50
50
  "float": 'left'
51
51
  };
52
52
  }
53
- function isContainer(item) {
54
- if (item.itemType !== _ItemTypes["default"].CARD) {
55
- var data = item.data;
56
- if (data) {
57
- if (data.isContainer) {
53
+ function isContainer($containerItem) {
54
+ if ($containerItem.itemType !== _ItemTypes["default"].CARD) {
55
+ var item = $containerItem.item;
56
+ if (item) {
57
+ if (item.isContainer) {
58
58
  return true;
59
59
  }
60
- if (data.fieldName) {
61
- return data.fieldName.indexOf('_col_row') > -1;
60
+ if (item.fieldName) {
61
+ return item.fieldName.indexOf('_col_row') > -1;
62
62
  }
63
63
  }
64
64
  }
@@ -82,8 +82,8 @@ var Dustbin = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
82
82
  return {
83
83
  onDrop: function onDrop(dropped) {
84
84
  console.log("dropped ites");
85
- var data = dropped.data;
86
- if (data) {
85
+ var item = dropped.item;
86
+ if (item) {
87
87
  onDropSuccess && onDropSuccess();
88
88
  _store["default"].dispatch('deleteLastItem');
89
89
  }
@@ -98,7 +98,7 @@ var Dustbin = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
98
98
  // console.log('SameCard:',sameCard)
99
99
 
100
100
  var backgroundColor = 'rgba(0, 0, 0, .03)';
101
- if (!sameCard && isOver && canDrop && !draggedItem.data.isContainer) {
101
+ if (!sameCard && isOver && canDrop && !draggedItem.item.isContainer) {
102
102
  backgroundColor = '#F7F589';
103
103
  }
104
104
 
@@ -132,10 +132,10 @@ var _default = exports["default"] = (0, _reactDnd.DropTarget)(function (props) {
132
132
  if (!isContainer(item)) {
133
133
  component.onDrop(item);
134
134
  console.log("calling on Drop from 137", item);
135
- if (item.data && typeof props.setAsChild === 'function') {
136
- var isNew = !item.data.id;
137
- var data = isNew ? item.onCreate(item.data) : item.data;
138
- props.setAsChild(props.data, data, props.col, isBusy);
135
+ if (item.item && typeof props.setAsChild === 'function') {
136
+ var isNew = !item.item.id;
137
+ var $dataItem = isNew ? item.onCreate(item.item) : item.item;
138
+ props.setAsChild(props.item, $dataItem, props.col, isBusy);
139
139
  }
140
140
  }
141
141
  }
@@ -18,21 +18,21 @@ var style = {
18
18
  };
19
19
  var gripSource = {
20
20
  beginDrag: function beginDrag(props) {
21
- var data = props.data,
21
+ var item = props.item,
22
22
  index = props.index,
23
23
  onDestroy = props.onDestroy,
24
24
  setAsChild = props.setAsChild,
25
25
  getDataById = props.getDataById;
26
26
  return {
27
27
  itemType: _ItemTypes["default"].BOX,
28
- index: data.parentId ? -1 : index,
29
- parentIndex: data.parentIndex,
30
- id: data.id,
31
- col: data.col,
28
+ index: item.parentId ? -1 : index,
29
+ parentIndex: item.parentIndex,
30
+ id: item.id,
31
+ col: item.col,
32
32
  onDestroy: onDestroy,
33
33
  setAsChild: setAsChild,
34
34
  getDataById: getDataById,
35
- data: data
35
+ item: item
36
36
  };
37
37
  }
38
38
  };
package/lib/preview.js CHANGED
@@ -32,7 +32,7 @@ var Preview = exports["default"] = /*#__PURE__*/function (_React$Component) {
32
32
  (0, _classCallCheck2["default"])(this, Preview);
33
33
  _this = _super.call(this, props);
34
34
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "state", {
35
- data: [],
35
+ items: [],
36
36
  answerData: {}
37
37
  });
38
38
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "editModeOff", function (e) {
@@ -53,7 +53,7 @@ var Preview = exports["default"] = /*#__PURE__*/function (_React$Component) {
53
53
  _store["default"].setExternalHandler(onLoad, onPost);
54
54
  _this.editForm = /*#__PURE__*/_react["default"].createRef();
55
55
  _this.state = {
56
- data: props.data || [],
56
+ items: props.items || [],
57
57
  answerData: {}
58
58
  };
59
59
  _this.seq = 0;
@@ -71,17 +71,17 @@ var Preview = exports["default"] = /*#__PURE__*/function (_React$Component) {
71
71
  value: function componentDidMount() {
72
72
  var _this2 = this;
73
73
  var _this$props = this.props,
74
- data = _this$props.data,
74
+ items = _this$props.items,
75
75
  url = _this$props.url,
76
76
  saveUrl = _this$props.saveUrl,
77
77
  saveAlways = _this$props.saveAlways;
78
78
  _store["default"].subscribe(function (state) {
79
- return _this2._onUpdate(state.data);
79
+ return _this2._onUpdate(state.items);
80
80
  });
81
81
  _store["default"].dispatch('load', {
82
82
  loadUrl: url,
83
83
  saveUrl: saveUrl,
84
- data: data || [],
84
+ items: items || [],
85
85
  saveAlways: saveAlways
86
86
  });
87
87
  document.addEventListener('mousedown', this.editModeOff);
@@ -99,32 +99,32 @@ var Preview = exports["default"] = /*#__PURE__*/function (_React$Component) {
99
99
  }, {
100
100
  key: "updateElement",
101
101
  value: function updateElement(element) {
102
- var data = this.state.data;
102
+ var items = this.state.items;
103
103
  var found = false;
104
- for (var i = 0, len = data.length; i < len; i++) {
105
- if (element.id === data[i].id) {
106
- data[i] = element;
104
+ for (var i = 0, len = items.length; i < len; i++) {
105
+ if (element.id === items[i].id) {
106
+ items[i] = element;
107
107
  found = true;
108
108
  break;
109
109
  }
110
110
  }
111
111
  if (found) {
112
112
  this.seq = this.seq > 100000 ? 0 : this.seq + 1;
113
- _store["default"].dispatch('updateOrder', data);
113
+ _store["default"].dispatch('updateOrder', items);
114
114
  }
115
115
  }
116
116
  }, {
117
117
  key: "_onChange",
118
- value: function _onChange(data) {
118
+ value: function _onChange($dataItems) {
119
119
  var _this3 = this;
120
120
  var answerData = {};
121
- data.forEach(function (item) {
121
+ $dataItems.forEach(function (item) {
122
122
  if (item && item.readOnly && _this3.props.variables[item.variableKey]) {
123
123
  answerData[item.fieldName] = _this3.props.variables[item.variableKey];
124
124
  }
125
125
  });
126
126
  this.setState({
127
- data: data,
127
+ items: $dataItems,
128
128
  answerData: answerData
129
129
  });
130
130
  }
@@ -145,14 +145,14 @@ var Preview = exports["default"] = /*#__PURE__*/function (_React$Component) {
145
145
  }, {
146
146
  key: "getDataById",
147
147
  value: function getDataById(id) {
148
- var data = this.state.data;
149
- return data.find(function (x) {
148
+ var items = this.state.items;
149
+ return items.find(function (x) {
150
150
  return x && x.id === id;
151
151
  });
152
152
  }
153
153
  }, {
154
154
  key: "swapChildren",
155
- value: function swapChildren(data, item, child, col) {
155
+ value: function swapChildren($dataItems, item, child, col) {
156
156
  if (child.col !== undefined && item.id !== child.parentId) {
157
157
  return false;
158
158
  }
@@ -169,14 +169,14 @@ var Preview = exports["default"] = /*#__PURE__*/function (_React$Component) {
169
169
  // eslint-disable-next-line no-param-reassign
170
170
  item.childItems[col] = child.id;
171
171
  child.col = col;
172
- _store["default"].dispatch('updateOrder', data);
172
+ _store["default"].dispatch('updateOrder', $dataItems);
173
173
  return true;
174
174
  }
175
175
  }, {
176
176
  key: "setAsChild",
177
177
  value: function setAsChild(item, child, col, isBusy) {
178
- var data = this.state.data;
179
- if (this.swapChildren(data, item, child, col)) {
178
+ var items = this.state.items;
179
+ if (this.swapChildren(items, item, child, col)) {
180
180
  return;
181
181
  }
182
182
  if (isBusy) {
@@ -190,20 +190,20 @@ var Preview = exports["default"] = /*#__PURE__*/function (_React$Component) {
190
190
  // eslint-disable-next-line no-param-reassign
191
191
  child.parentId = item.id;
192
192
  // eslint-disable-next-line no-param-reassign
193
- child.parentIndex = data.indexOf(item);
193
+ child.parentIndex = items.indexOf(item);
194
194
  if (oldParent) {
195
195
  oldParent.childItems[oldCol] = null;
196
196
  }
197
- var list = data.filter(function (x) {
197
+ var list = items.filter(function (x) {
198
198
  return x && x.parentId === item.id;
199
199
  });
200
200
  var toRemove = list.filter(function (x) {
201
201
  return item.childItems.indexOf(x.id) === -1;
202
202
  });
203
- var newData = data;
203
+ var newData = items;
204
204
  if (toRemove.length) {
205
205
  // console.log('toRemove', toRemove);
206
- newData = data.filter(function (x) {
206
+ newData = items.filter(function (x) {
207
207
  return toRemove.indexOf(x) === -1;
208
208
  });
209
209
  }
@@ -215,11 +215,11 @@ var Preview = exports["default"] = /*#__PURE__*/function (_React$Component) {
215
215
  }, {
216
216
  key: "removeChild",
217
217
  value: function removeChild(item, col) {
218
- var data = this.state.data;
218
+ var items = this.state.items;
219
219
  var oldId = item.childItems[col];
220
220
  var oldItem = this.getDataById(oldId);
221
221
  if (oldItem) {
222
- var newData = data.filter(function (x) {
222
+ var newData = items.filter(function (x) {
223
223
  return x !== oldItem;
224
224
  });
225
225
  // eslint-disable-next-line no-param-reassign
@@ -228,19 +228,19 @@ var Preview = exports["default"] = /*#__PURE__*/function (_React$Component) {
228
228
  this.seq = this.seq > 100000 ? 0 : this.seq + 1;
229
229
  _store["default"].dispatch('updateOrder', newData);
230
230
  this.setState({
231
- data: newData
231
+ items: newData
232
232
  });
233
233
  }
234
234
  }
235
235
  }, {
236
236
  key: "restoreCard",
237
237
  value: function restoreCard(item, id) {
238
- var data = this.state.data;
239
- var parent = this.getDataById(item.data.parentId);
238
+ var items = this.state.items;
239
+ var parent = this.getDataById(item.item.parentId);
240
240
  var oldItem = this.getDataById(id);
241
241
  if (parent && oldItem) {
242
- var newIndex = data.indexOf(oldItem);
243
- var newData = (0, _toConsumableArray2["default"])(data); // data.filter(x => x !== oldItem);
242
+ var newIndex = items.indexOf(oldItem);
243
+ var newData = (0, _toConsumableArray2["default"])(items); // items.filter(x => x !== oldItem);
244
244
  // eslint-disable-next-line no-param-reassign
245
245
  parent.childItems[oldItem.col] = null;
246
246
  delete oldItem.parentId;
@@ -253,18 +253,18 @@ var Preview = exports["default"] = /*#__PURE__*/function (_React$Component) {
253
253
  this.seq = this.seq > 100000 ? 0 : this.seq + 1;
254
254
  _store["default"].dispatch('updateOrder', newData);
255
255
  this.setState({
256
- data: newData
256
+ items: newData
257
257
  });
258
258
  }
259
259
  }
260
260
  }, {
261
261
  key: "insertCard",
262
262
  value: function insertCard(item, hoverIndex, id) {
263
- var data = this.state.data;
263
+ var items = this.state.items;
264
264
  if (id) {
265
265
  this.restoreCard(item, id);
266
266
  } else {
267
- data.splice(hoverIndex, 0, item);
267
+ items.splice(hoverIndex, 0, item);
268
268
  this.saveData(item, hoverIndex, hoverIndex);
269
269
  _store["default"].dispatch('insertItem', item);
270
270
  }
@@ -272,8 +272,8 @@ var Preview = exports["default"] = /*#__PURE__*/function (_React$Component) {
272
272
  }, {
273
273
  key: "moveCard",
274
274
  value: function moveCard(dragIndex, hoverIndex) {
275
- var data = this.state.data;
276
- var dragCard = data[dragIndex];
275
+ var items = this.state.items;
276
+ var dragCard = items[dragIndex];
277
277
  this.saveData(dragCard, dragIndex, hoverIndex);
278
278
  }
279
279
 
@@ -287,12 +287,12 @@ var Preview = exports["default"] = /*#__PURE__*/function (_React$Component) {
287
287
  key: "saveData",
288
288
  value: function saveData(dragCard, dragIndex, hoverIndex) {
289
289
  var newData = (0, _immutabilityHelper["default"])(this.state, {
290
- data: {
290
+ items: {
291
291
  $splice: [[dragIndex, 1], [hoverIndex, 0, dragCard]]
292
292
  }
293
293
  });
294
294
  this.setState(newData);
295
- _store["default"].dispatch('updateOrder', newData.data);
295
+ _store["default"].dispatch('updateOrder', newData.items);
296
296
  }
297
297
  }, {
298
298
  key: "getElement",
@@ -309,6 +309,7 @@ var Preview = exports["default"] = /*#__PURE__*/function (_React$Component) {
309
309
  }
310
310
  return /*#__PURE__*/_react["default"].createElement(SortableFormElement, {
311
311
  id: item.id,
312
+ name: item.fieldName,
312
313
  seq: this.seq,
313
314
  index: index,
314
315
  moveCard: this.moveCard,
@@ -319,7 +320,7 @@ var Preview = exports["default"] = /*#__PURE__*/function (_React$Component) {
319
320
  isDraggable: true,
320
321
  key: item.id,
321
322
  sortData: item.id,
322
- data: item,
323
+ item: item,
323
324
  getDataById: this.getDataById,
324
325
  setAsChild: this.setAsChild,
325
326
  removeChild: this.removeChild,
@@ -352,10 +353,10 @@ var Preview = exports["default"] = /*#__PURE__*/function (_React$Component) {
352
353
  if (this.props.editMode) {
353
354
  classes += ' is-editing';
354
355
  }
355
- var data = this.state.data.filter(function (x) {
356
+ var $dataItems = this.state.items.filter(function (x) {
356
357
  return !!x && !x.parentId;
357
358
  });
358
- var items = data.map(function (item, index) {
359
+ var items = $dataItems.map(function (item, index) {
359
360
  return _this6.getElement(item, index);
360
361
  });
361
362
  return /*#__PURE__*/_react["default"].createElement("div", {
@@ -48,11 +48,11 @@ var cardTarget = {
48
48
  var item = monitor.getItem();
49
49
  var hoverIndex = props.index;
50
50
  var dragIndex = item.index;
51
- if (props.data && props.data.isContainer || item.itemType === _ItemTypes["default"].CARD) {
51
+ if (props.item && props.item.isContainer || item.itemType === _ItemTypes["default"].CARD) {
52
52
  // console.log('cardTarget - Drop', item.itemType);
53
53
  return;
54
54
  }
55
- if (item.data && typeof item.setAsChild === 'function') {
55
+ if (item.item && typeof item.setAsChild === 'function') {
56
56
  // console.log('BOX', item);
57
57
  if (dragIndex === -1) {
58
58
  props.insertCard(item, hoverIndex, item.id);
@@ -60,12 +60,12 @@ var cardTarget = {
60
60
  }
61
61
  },
62
62
  hover: function hover(props, monitor, component) {
63
- var _props$data, _item$data;
63
+ var _props$item, _item$item;
64
64
  var item = monitor.getItem();
65
65
  if (item.itemType === _ItemTypes["default"].BOX && item.index === -1) return;
66
66
 
67
67
  // Don't replace multi-column component unless both drag & hover are multi-column
68
- if ((_props$data = props.data) !== null && _props$data !== void 0 && _props$data.isContainer && !((_item$data = item.data) !== null && _item$data !== void 0 && _item$data.isContainer)) return;
68
+ if ((_props$item = props.item) !== null && _props$item !== void 0 && _props$item.isContainer && !((_item$item = item.item) !== null && _item$item !== void 0 && _item$item.isContainer)) return;
69
69
  var dragIndex = item.index;
70
70
  var hoverIndex = props.index;
71
71
 
@@ -74,12 +74,12 @@ var cardTarget = {
74
74
  return;
75
75
  }
76
76
  if (dragIndex === -1) {
77
- if (props.data && props.data.isContainer) {
77
+ if (props.item && props.item.isContainer) {
78
78
  return;
79
79
  }
80
80
  // console.log('CARD', item);
81
81
  item.index = hoverIndex;
82
- props.insertCard(item.onCreate(item.data), hoverIndex);
82
+ props.insertCard(item.onCreate(item.item), hoverIndex);
83
83
  }
84
84
 
85
85
  // Determine rectangle on screen
@@ -13,6 +13,7 @@ var _fieldset = require("./fieldset");
13
13
  var _customElement = _interopRequireDefault(require("./survey-elements/custom-element"));
14
14
  var Header = _surveyElements["default"].Header,
15
15
  Paragraph = _surveyElements["default"].Paragraph,
16
+ ContentBody = _surveyElements["default"].ContentBody,
16
17
  Label = _surveyElements["default"].Label,
17
18
  LineBreak = _surveyElements["default"].LineBreak,
18
19
  TextInput = _surveyElements["default"].TextInput,
@@ -37,6 +38,7 @@ var Header = _surveyElements["default"].Header,
37
38
  var SurveyElements = {};
38
39
  SurveyElements.Header = (0, _sortableElement["default"])(Header);
39
40
  SurveyElements.Paragraph = (0, _sortableElement["default"])(Paragraph);
41
+ SurveyElements.ContentBody = (0, _sortableElement["default"])(ContentBody);
40
42
  SurveyElements.Label = (0, _sortableElement["default"])(Label);
41
43
  SurveyElements.LineBreak = (0, _sortableElement["default"])(LineBreak);
42
44
  SurveyElements.TextInput = (0, _sortableElement["default"])(TextInput);