react-survey-builder 1.0.1

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 (54) hide show
  1. package/LICENSE +7 -0
  2. package/README.md +236 -0
  3. package/dist/967.index.js +1 -0
  4. package/dist/app.css +1 -0
  5. package/dist/app.css.map +1 -0
  6. package/dist/index.js +2 -0
  7. package/dist/index.js.LICENSE.txt +46 -0
  8. package/lib/ItemTypes.js +10 -0
  9. package/lib/UUID.js +65 -0
  10. package/lib/dynamic-option-list.js +188 -0
  11. package/lib/fieldset/FieldSet.js +118 -0
  12. package/lib/fieldset/index.js +13 -0
  13. package/lib/form.js +604 -0
  14. package/lib/functions/index.js +45 -0
  15. package/lib/index.js +139 -0
  16. package/lib/language-provider/IntlMessages.js +15 -0
  17. package/lib/language-provider/entries/en-us.js +16 -0
  18. package/lib/language-provider/entries/it-it.js +16 -0
  19. package/lib/language-provider/entries/vi-vn.js +16 -0
  20. package/lib/language-provider/index.js +32 -0
  21. package/lib/language-provider/locales/en-us.json +97 -0
  22. package/lib/language-provider/locales/it-it.json +92 -0
  23. package/lib/language-provider/locales/vi-vn.json +82 -0
  24. package/lib/multi-column/MultiColumnRow.js +134 -0
  25. package/lib/multi-column/dustbin.js +152 -0
  26. package/lib/multi-column/grip.js +51 -0
  27. package/lib/multi-column/index.js +24 -0
  28. package/lib/preview.js +388 -0
  29. package/lib/sortable-element.js +177 -0
  30. package/lib/sortable-form-elements.js +67 -0
  31. package/lib/stores/registry.js +42 -0
  32. package/lib/stores/requests.js +31 -0
  33. package/lib/stores/store.js +138 -0
  34. package/lib/survey-dynamic-edit.js +54 -0
  35. package/lib/survey-elements/component-drag-handle.js +90 -0
  36. package/lib/survey-elements/component-drag-layer.js +68 -0
  37. package/lib/survey-elements/component-drag-preview.js +57 -0
  38. package/lib/survey-elements/component-header.js +29 -0
  39. package/lib/survey-elements/component-label.js +26 -0
  40. package/lib/survey-elements/custom-element.js +70 -0
  41. package/lib/survey-elements/date-picker.js +278 -0
  42. package/lib/survey-elements/header-bar.js +54 -0
  43. package/lib/survey-elements/index.js +1196 -0
  44. package/lib/survey-elements/myxss.js +29 -0
  45. package/lib/survey-elements/star-rating.js +335 -0
  46. package/lib/survey-elements-edit.js +613 -0
  47. package/lib/survey-place-holder.js +51 -0
  48. package/lib/survey-validator.js +103 -0
  49. package/lib/toolbar-draggable-item.js +59 -0
  50. package/lib/toolbar-group-item.js +39 -0
  51. package/lib/toolbar.js +680 -0
  52. package/lib/utils/custom-date-picker.js +93 -0
  53. package/package.json +114 -0
  54. package/types/index.d.ts +180 -0
@@ -0,0 +1,177 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = _default;
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
12
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
13
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
14
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
15
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
+ var _react = _interopRequireWildcard(require("react"));
17
+ var _propTypes = _interopRequireDefault(require("prop-types"));
18
+ var _reactDom = require("react-dom");
19
+ var _reactDnd = require("react-dnd");
20
+ var _ItemTypes = _interopRequireDefault(require("./ItemTypes"));
21
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
22
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
23
+ 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; }
24
+ 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; }
25
+ 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); }; }
26
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
27
+ var style = {
28
+ border: '1px dashed gray',
29
+ padding: '0.5rem 1rem',
30
+ marginBottom: '.5rem',
31
+ backgroundColor: 'white',
32
+ cursor: 'pointer'
33
+ };
34
+ var cardSource = {
35
+ beginDrag: function beginDrag(props) {
36
+ return {
37
+ itemType: _ItemTypes["default"].CARD,
38
+ id: props.id,
39
+ index: props.index
40
+ };
41
+ }
42
+ };
43
+ var cardTarget = {
44
+ drop: function drop(props, monitor, component) {
45
+ if (!component) {
46
+ return;
47
+ }
48
+ var item = monitor.getItem();
49
+ var hoverIndex = props.index;
50
+ var dragIndex = item.index;
51
+ if (props.data && props.data.isContainer || item.itemType === _ItemTypes["default"].CARD) {
52
+ // console.log('cardTarget - Drop', item.itemType);
53
+ return;
54
+ }
55
+ if (item.data && typeof item.setAsChild === 'function') {
56
+ // console.log('BOX', item);
57
+ if (dragIndex === -1) {
58
+ props.insertCard(item, hoverIndex, item.id);
59
+ }
60
+ }
61
+ },
62
+ hover: function hover(props, monitor, component) {
63
+ var _props$data, _item$data;
64
+ var item = monitor.getItem();
65
+ if (item.itemType === _ItemTypes["default"].BOX && item.index === -1) return;
66
+
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;
69
+ var dragIndex = item.index;
70
+ var hoverIndex = props.index;
71
+
72
+ // Don't replace items with themselves
73
+ if (dragIndex === hoverIndex) {
74
+ return;
75
+ }
76
+ if (dragIndex === -1) {
77
+ if (props.data && props.data.isContainer) {
78
+ return;
79
+ }
80
+ // console.log('CARD', item);
81
+ item.index = hoverIndex;
82
+ props.insertCard(item.onCreate(item.data), hoverIndex);
83
+ }
84
+
85
+ // Determine rectangle on screen
86
+ var hoverBoundingRect = (0, _reactDom.findDOMNode)(component).getBoundingClientRect();
87
+
88
+ // Get vertical middle
89
+ var hoverMiddleY = (hoverBoundingRect.bottom - hoverBoundingRect.top) / 2;
90
+
91
+ // Determine mouse position
92
+ var clientOffset = monitor.getClientOffset();
93
+
94
+ // Get pixels to the top
95
+ var hoverClientY = clientOffset.y - hoverBoundingRect.top;
96
+
97
+ // Only perform the move when the mouse has crossed half of the items height
98
+ // When dragging downwards, only move when the cursor is below 50%
99
+ // When dragging upwards, only move when the cursor is above 50%
100
+
101
+ // Dragging downwards
102
+ if (dragIndex < hoverIndex && hoverClientY < hoverMiddleY) {
103
+ return;
104
+ }
105
+
106
+ // Dragging upwards
107
+ if (dragIndex > hoverIndex && hoverClientY > hoverMiddleY) {
108
+ return;
109
+ }
110
+
111
+ // Time to actually perform the action
112
+ props.moveCard(dragIndex, hoverIndex);
113
+
114
+ // Note: we're mutating the monitor item here!
115
+ // Generally it's better to avoid mutations,
116
+ // but it's good here for the sake of performance
117
+ // to avoid expensive index searches.
118
+
119
+ // if (item.itemType == ItemTypes.BOX) item.cardIndex = hoverIndex;
120
+ // else
121
+ item.index = hoverIndex;
122
+ }
123
+ };
124
+
125
+ // eslint-disable-next-line no-unused-vars
126
+ function _default(ComposedComponent) {
127
+ var Card = /*#__PURE__*/function (_Component) {
128
+ (0, _inherits2["default"])(Card, _Component);
129
+ var _super = _createSuper(Card);
130
+ function Card() {
131
+ (0, _classCallCheck2["default"])(this, Card);
132
+ return _super.apply(this, arguments);
133
+ }
134
+ (0, _createClass2["default"])(Card, [{
135
+ key: "render",
136
+ value: function render() {
137
+ var _this$props = this.props,
138
+ isDragging = _this$props.isDragging,
139
+ connectDragPreview = _this$props.connectDragPreview,
140
+ connectDropTarget = _this$props.connectDropTarget;
141
+ var opacity = isDragging ? 0 : 1;
142
+ return connectDragPreview(connectDropTarget( /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(ComposedComponent, (0, _extends2["default"])({}, this.props, {
143
+ style: _objectSpread(_objectSpread({}, style), {}, {
144
+ opacity: opacity
145
+ })
146
+ })))));
147
+ }
148
+ }]);
149
+ return Card;
150
+ }(_react.Component);
151
+ (0, _defineProperty2["default"])(Card, "propTypes", {
152
+ connectDragSource: _propTypes["default"].func,
153
+ connectDragPreview: _propTypes["default"].func,
154
+ connectDropTarget: _propTypes["default"].func,
155
+ index: _propTypes["default"].number.isRequired,
156
+ isDragging: _propTypes["default"].bool,
157
+ id: _propTypes["default"].any.isRequired,
158
+ // text: PropTypes.string.isRequired,
159
+ moveCard: _propTypes["default"].func.isRequired,
160
+ seq: _propTypes["default"].number
161
+ });
162
+ (0, _defineProperty2["default"])(Card, "defaultProps", {
163
+ seq: -1
164
+ });
165
+ var x = (0, _reactDnd.DropTarget)([_ItemTypes["default"].CARD, _ItemTypes["default"].BOX], cardTarget, function (connect) {
166
+ return {
167
+ connectDropTarget: connect.dropTarget()
168
+ };
169
+ })(Card);
170
+ return (0, _reactDnd.DragSource)(_ItemTypes["default"].CARD, cardSource, function (connect, monitor) {
171
+ return {
172
+ connectDragSource: connect.dragSource(),
173
+ connectDragPreview: connect.dragPreview(),
174
+ isDragging: monitor.isDragging()
175
+ };
176
+ })(x);
177
+ }
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _sortableElement = _interopRequireDefault(require("./sortable-element"));
9
+ var _surveyPlaceHolder = _interopRequireDefault(require("./survey-place-holder"));
10
+ var _surveyElements = _interopRequireDefault(require("./survey-elements"));
11
+ var _multiColumn = require("./multi-column");
12
+ var _fieldset = require("./fieldset");
13
+ var _customElement = _interopRequireDefault(require("./survey-elements/custom-element"));
14
+ var Header = _surveyElements["default"].Header,
15
+ Paragraph = _surveyElements["default"].Paragraph,
16
+ Label = _surveyElements["default"].Label,
17
+ LineBreak = _surveyElements["default"].LineBreak,
18
+ TextInput = _surveyElements["default"].TextInput,
19
+ EmailInput = _surveyElements["default"].EmailInput,
20
+ PhoneNumber = _surveyElements["default"].PhoneNumber,
21
+ NumberInput = _surveyElements["default"].NumberInput,
22
+ TextArea = _surveyElements["default"].TextArea,
23
+ Dropdown = _surveyElements["default"].Dropdown,
24
+ Checkboxes = _surveyElements["default"].Checkboxes,
25
+ DatePicker = _surveyElements["default"].DatePicker,
26
+ RadioButtons = _surveyElements["default"].RadioButtons,
27
+ Image = _surveyElements["default"].Image,
28
+ Rating = _surveyElements["default"].Rating,
29
+ Tags = _surveyElements["default"].Tags,
30
+ Signature = _surveyElements["default"].Signature,
31
+ HyperLink = _surveyElements["default"].HyperLink,
32
+ Download = _surveyElements["default"].Download,
33
+ Camera = _surveyElements["default"].Camera,
34
+ Range = _surveyElements["default"].Range,
35
+ FileUpload = _surveyElements["default"].FileUpload,
36
+ Checkbox = _surveyElements["default"].Checkbox;
37
+ var SurveyElements = {};
38
+ SurveyElements.Header = (0, _sortableElement["default"])(Header);
39
+ SurveyElements.Paragraph = (0, _sortableElement["default"])(Paragraph);
40
+ SurveyElements.Label = (0, _sortableElement["default"])(Label);
41
+ SurveyElements.LineBreak = (0, _sortableElement["default"])(LineBreak);
42
+ SurveyElements.TextInput = (0, _sortableElement["default"])(TextInput);
43
+ SurveyElements.EmailInput = (0, _sortableElement["default"])(EmailInput);
44
+ SurveyElements.PhoneNumber = (0, _sortableElement["default"])(PhoneNumber);
45
+ SurveyElements.NumberInput = (0, _sortableElement["default"])(NumberInput);
46
+ SurveyElements.TextArea = (0, _sortableElement["default"])(TextArea);
47
+ SurveyElements.Dropdown = (0, _sortableElement["default"])(Dropdown);
48
+ SurveyElements.Signature = (0, _sortableElement["default"])(Signature);
49
+ SurveyElements.Checkboxes = (0, _sortableElement["default"])(Checkboxes);
50
+ SurveyElements.Checkbox = (0, _sortableElement["default"])(Checkbox);
51
+ SurveyElements.DatePicker = (0, _sortableElement["default"])(DatePicker);
52
+ SurveyElements.RadioButtons = (0, _sortableElement["default"])(RadioButtons);
53
+ SurveyElements.Image = (0, _sortableElement["default"])(Image);
54
+ SurveyElements.Rating = (0, _sortableElement["default"])(Rating);
55
+ SurveyElements.Tags = (0, _sortableElement["default"])(Tags);
56
+ SurveyElements.HyperLink = (0, _sortableElement["default"])(HyperLink);
57
+ SurveyElements.Download = (0, _sortableElement["default"])(Download);
58
+ SurveyElements.Camera = (0, _sortableElement["default"])(Camera);
59
+ SurveyElements.FileUpload = (0, _sortableElement["default"])(FileUpload);
60
+ SurveyElements.Range = (0, _sortableElement["default"])(Range);
61
+ SurveyElements.PlaceHolder = (0, _sortableElement["default"])(_surveyPlaceHolder["default"]);
62
+ SurveyElements.FieldSet = (0, _sortableElement["default"])(_fieldset.FieldSet);
63
+ SurveyElements.TwoColumnRow = (0, _sortableElement["default"])(_multiColumn.TwoColumnRow);
64
+ SurveyElements.ThreeColumnRow = (0, _sortableElement["default"])(_multiColumn.ThreeColumnRow);
65
+ SurveyElements.MultiColumnRow = (0, _sortableElement["default"])(_multiColumn.MultiColumnRow);
66
+ SurveyElements.CustomElement = (0, _sortableElement["default"])(_customElement["default"]);
67
+ var _default = exports["default"] = SurveyElements;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ /* eslint-disable no-use-before-define */
4
+ function regg() {
5
+ var registry = {};
6
+ var self = {
7
+ register: register,
8
+ list: list,
9
+ get: get
10
+ };
11
+
12
+ /**
13
+ * Registers a entry and make it read only
14
+ * @param {String} name To get the entry by
15
+ * @param {Object} entry What you want to register
16
+ */
17
+ function register(name, entry) {
18
+ if (!name) {
19
+ throw new Error('You must provide a valid name for this entry.');
20
+ }
21
+ if (registry[name] !== undefined) {
22
+ throw new Error("'".concat(name, "' already registered"));
23
+ }
24
+ if (!entry) {
25
+ throw new Error("You must provide something to register as '".concat(name, "'"));
26
+ }
27
+ registry[name] = entry;
28
+ return self;
29
+ }
30
+ function get(name) {
31
+ // eslint-disable-next-line no-prototype-builtins
32
+ if (!registry.hasOwnProperty(name)) {
33
+ console.error("No such entry '".concat(name, "'"));
34
+ }
35
+ return registry[name];
36
+ }
37
+ function list() {
38
+ return Object.keys(registry);
39
+ }
40
+ return self;
41
+ }
42
+ module.exports = regg();
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.get = get;
8
+ exports.post = post;
9
+ var _isomorphicFetch = _interopRequireDefault(require("isomorphic-fetch"));
10
+ var headers = {
11
+ Accept: 'application/json',
12
+ 'Content-Type': 'application/json; charset=utf-8',
13
+ OPTIONS: ''
14
+ };
15
+ function post(url, data) {
16
+ return (0, _isomorphicFetch["default"])(url, {
17
+ method: 'POST',
18
+ headers: headers,
19
+ body: JSON.stringify(data)
20
+ }).then(function (response) {
21
+ return response;
22
+ });
23
+ }
24
+ function get(url) {
25
+ return (0, _isomorphicFetch["default"])(url, {
26
+ method: 'GET',
27
+ headers: headers
28
+ }).then(function (response) {
29
+ return response.json();
30
+ });
31
+ }
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _beedle = _interopRequireDefault(require("beedle"));
9
+ var _requests = require("./requests");
10
+ var _saveUrl;
11
+ var _onPost;
12
+ var _onLoad;
13
+ var store = new _beedle["default"]({
14
+ actions: {
15
+ setData: function setData(context, data, saveData) {
16
+ context.commit('setData', data);
17
+ if (saveData) this.save(data);
18
+ },
19
+ load: function load(context, _ref) {
20
+ var _this = this;
21
+ var loadUrl = _ref.loadUrl,
22
+ saveUrl = _ref.saveUrl,
23
+ data = _ref.data,
24
+ saveAlways = _ref.saveAlways;
25
+ _saveUrl = saveUrl;
26
+ var saveA = saveAlways || saveAlways === undefined;
27
+ context.commit('setSaveAlways', saveA);
28
+ if (_onLoad) {
29
+ _onLoad().then(function (x) {
30
+ if (data && data.length > 0 && x.length === 0) {
31
+ data.forEach(function (y) {
32
+ return x.push(y);
33
+ });
34
+ }
35
+ _this.setData(context, x);
36
+ });
37
+ } else if (loadUrl) {
38
+ (0, _requests.get)(loadUrl).then(function (x) {
39
+ if (data && data.length > 0 && x.length === 0) {
40
+ data.forEach(function (y) {
41
+ return x.push(y);
42
+ });
43
+ }
44
+ _this.setData(context, x);
45
+ });
46
+ } else {
47
+ this.setData(context, data);
48
+ }
49
+ },
50
+ create: function create(context, element) {
51
+ var _context$state = context.state,
52
+ data = _context$state.data,
53
+ saveAlways = _context$state.saveAlways;
54
+ data.push(element);
55
+ this.setData(context, data, saveAlways);
56
+ },
57
+ "delete": function _delete(context, element) {
58
+ var _context$state2 = context.state,
59
+ data = _context$state2.data,
60
+ saveAlways = _context$state2.saveAlways;
61
+ data.splice(data.indexOf(element), 1);
62
+ this.setData(context, data, saveAlways);
63
+ },
64
+ deleteLastItem: function deleteLastItem(context) {
65
+ var lastItem = context.state.lastItem;
66
+ if (lastItem) {
67
+ this["delete"](context, lastItem);
68
+ context.commit('setLastItem', null);
69
+ }
70
+ },
71
+ resetLastItem: function resetLastItem(context) {
72
+ var lastItem = context.state.lastItem;
73
+ if (lastItem) {
74
+ context.commit('setLastItem', null);
75
+ // console.log('resetLastItem');
76
+ }
77
+ },
78
+ post: function post(context) {
79
+ var data = context.state.data;
80
+ this.setData(context, data, true);
81
+ },
82
+ updateOrder: function updateOrder(context, elements) {
83
+ var saveAlways = context.state.saveAlways;
84
+ var newData = elements.filter(function (x) {
85
+ return x && !x.parentId;
86
+ });
87
+ elements.filter(function (x) {
88
+ return x && x.parentId;
89
+ }).forEach(function (x) {
90
+ return newData.push(x);
91
+ });
92
+ this.setData(context, newData, saveAlways);
93
+ },
94
+ insertItem: function insertItem(context, item) {
95
+ // console.log('insertItem', item);
96
+ context.commit('setLastItem', item.isContainer ? null : item);
97
+ },
98
+ save: function save(data) {
99
+ if (_onPost) {
100
+ _onPost({
101
+ task_data: data
102
+ });
103
+ } else if (_saveUrl) {
104
+ (0, _requests.post)(_saveUrl, {
105
+ task_data: data
106
+ });
107
+ }
108
+ }
109
+ },
110
+ mutations: {
111
+ setData: function setData(state, payload) {
112
+ // eslint-disable-next-line no-param-reassign
113
+ state.data = payload;
114
+ return state;
115
+ },
116
+ setSaveAlways: function setSaveAlways(state, payload) {
117
+ // eslint-disable-next-line no-param-reassign
118
+ state.saveAlways = payload;
119
+ return state;
120
+ },
121
+ setLastItem: function setLastItem(state, payload) {
122
+ // eslint-disable-next-line no-param-reassign
123
+ state.lastItem = payload;
124
+ // console.log('setLastItem', payload);
125
+ return state;
126
+ }
127
+ },
128
+ initialState: {
129
+ data: [],
130
+ saveAlways: true,
131
+ lastItem: null
132
+ }
133
+ });
134
+ store.setExternalHandler = function (onLoad, onPost) {
135
+ _onLoad = onLoad;
136
+ _onPost = onPost;
137
+ };
138
+ var _default = exports["default"] = store;
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
12
+ var _react = _interopRequireDefault(require("react"));
13
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
14
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
15
+ var SurveyElementsEditor = function SurveyElementsEditor(props) {
16
+ var _React$useState = _react["default"].useState(null),
17
+ _React$useState2 = (0, _slicedToArray2["default"])(_React$useState, 2),
18
+ dynamic = _React$useState2[0],
19
+ setDynamic = _React$useState2[1];
20
+ _react["default"].useEffect(function () {
21
+ var loadDynamic = /*#__PURE__*/function () {
22
+ var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
23
+ var x;
24
+ return _regenerator["default"].wrap(function _callee$(_context) {
25
+ while (1) switch (_context.prev = _context.next) {
26
+ case 0:
27
+ _context.next = 2;
28
+ return Promise.resolve().then(function () {
29
+ return _interopRequireWildcard(require('./survey-elements-edit'));
30
+ });
31
+ case 2:
32
+ x = _context.sent;
33
+ setDynamic(function () {
34
+ return x["default"];
35
+ });
36
+ case 4:
37
+ case "end":
38
+ return _context.stop();
39
+ }
40
+ }, _callee);
41
+ }));
42
+ return function loadDynamic() {
43
+ return _ref.apply(this, arguments);
44
+ };
45
+ }();
46
+ loadDynamic();
47
+ }, []);
48
+ if (!dynamic) {
49
+ return /*#__PURE__*/_react["default"].createElement("div", null, "Loading...");
50
+ }
51
+ var Component = dynamic;
52
+ return /*#__PURE__*/_react["default"].createElement(Component, props);
53
+ };
54
+ var _default = exports["default"] = SurveyElementsEditor;
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
12
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
13
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
14
+ var _react = _interopRequireWildcard(require("react"));
15
+ var _reactDnd = require("react-dnd");
16
+ var _reactDndHtml5Backend = require("react-dnd-html5-backend");
17
+ var _ItemTypes = _interopRequireDefault(require("../ItemTypes"));
18
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
19
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
20
+ 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); }; }
21
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
22
+ var style = {
23
+ // display: 'inline-block',
24
+ // border: '1px dashed gray',
25
+ // padding: '0.5rem 1rem',
26
+ // backgroundColor: 'white',
27
+ cursor: 'move'
28
+ };
29
+ var dragHandleSource = {
30
+ beginDrag: function beginDrag(props) {
31
+ var data = props.data,
32
+ index = props.index,
33
+ onDestroy = props.onDestroy,
34
+ setAsChild = props.setAsChild,
35
+ getDataById = props.getDataById;
36
+ return {
37
+ itemType: _ItemTypes["default"].BOX,
38
+ index: data.parentId ? -1 : index,
39
+ parentIndex: data.parentIndex,
40
+ id: data.id,
41
+ col: data.col,
42
+ onDestroy: onDestroy,
43
+ setAsChild: setAsChild,
44
+ getDataById: getDataById,
45
+ data: data
46
+ };
47
+ }
48
+ };
49
+ var DragHandle = /*#__PURE__*/function (_PureComponent) {
50
+ (0, _inherits2["default"])(DragHandle, _PureComponent);
51
+ var _super = _createSuper(DragHandle);
52
+ function DragHandle() {
53
+ (0, _classCallCheck2["default"])(this, DragHandle);
54
+ return _super.apply(this, arguments);
55
+ }
56
+ (0, _createClass2["default"])(DragHandle, [{
57
+ key: "componentDidMount",
58
+ value: function componentDidMount() {
59
+ var connectDragPreview = this.props.connectDragPreview;
60
+ if (connectDragPreview) {
61
+ // Use empty image as a drag preview so browsers don't draw it
62
+ // and we can draw whatever we want on the custom drag layer instead.
63
+ connectDragPreview((0, _reactDndHtml5Backend.getEmptyImage)(), {
64
+ // IE fallback: specify that we'd rather screenshot the node
65
+ // when it already knows it's being dragged so we can hide it with CSS.
66
+ captureDraggingState: true
67
+ });
68
+ }
69
+ }
70
+ }, {
71
+ key: "render",
72
+ value: function render() {
73
+ var connectDragSource = this.props.connectDragSource;
74
+ return connectDragSource( /*#__PURE__*/_react["default"].createElement("div", {
75
+ className: "btn is-isolated",
76
+ style: style
77
+ }, /*#__PURE__*/_react["default"].createElement("i", {
78
+ className: "is-isolated fas fa-grip-vertical"
79
+ })));
80
+ }
81
+ }]);
82
+ return DragHandle;
83
+ }(_react.PureComponent);
84
+ var _default = exports["default"] = (0, _reactDnd.DragSource)(_ItemTypes["default"].BOX, dragHandleSource, function (connect, monitor) {
85
+ return {
86
+ connectDragSource: connect.dragSource(),
87
+ connectDragPreview: connect.dragPreview(),
88
+ isDragging: monitor.isDragging()
89
+ };
90
+ })(DragHandle);
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _reactDnd = require("react-dnd");
10
+ var _ItemTypes = _interopRequireDefault(require("../ItemTypes"));
11
+ var _componentDragPreview = require("./component-drag-preview");
12
+ var layerStyles = {
13
+ position: 'fixed',
14
+ pointerEvents: 'none',
15
+ zIndex: 100,
16
+ left: 0,
17
+ top: 0,
18
+ width: '100%',
19
+ height: '100%'
20
+ };
21
+ function getItemStyles(props) {
22
+ var initialOffset = props.initialOffset,
23
+ currentOffset = props.currentOffset;
24
+ if (!initialOffset || !currentOffset) {
25
+ return {
26
+ display: 'none'
27
+ };
28
+ }
29
+ var x = currentOffset.x,
30
+ y = currentOffset.y;
31
+ var transform = "translate(".concat(x, "px, ").concat(y, "px)");
32
+ return {
33
+ transform: transform,
34
+ WebkitTransform: transform
35
+ };
36
+ }
37
+ var CustomDragLayer = function CustomDragLayer(props) {
38
+ var item = props.item,
39
+ itemType = props.itemType,
40
+ isDragging = props.isDragging;
41
+ function renderItem() {
42
+ switch (itemType) {
43
+ case _ItemTypes["default"].BOX:
44
+ return /*#__PURE__*/_react["default"].createElement(_componentDragPreview.BoxDragPreview, {
45
+ item: item
46
+ });
47
+ default:
48
+ return null;
49
+ }
50
+ }
51
+ if (!isDragging) {
52
+ return null;
53
+ }
54
+ return /*#__PURE__*/_react["default"].createElement("div", {
55
+ style: layerStyles
56
+ }, /*#__PURE__*/_react["default"].createElement("div", {
57
+ style: getItemStyles(props)
58
+ }, renderItem()));
59
+ };
60
+ var _default = exports["default"] = (0, _reactDnd.DragLayer)(function (monitor) {
61
+ return {
62
+ item: monitor.getItem(),
63
+ itemType: monitor.getItemType(),
64
+ initialOffset: monitor.getInitialSourceClientOffset(),
65
+ currentOffset: monitor.getSourceClientOffset(),
66
+ isDragging: monitor.isDragging()
67
+ };
68
+ })(CustomDragLayer);