@goldenpine/react-form-builder2 0.18.4-patch.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.
- package/LICENSE +7 -0
- package/README.md +250 -0
- package/dist/1.app.js +1 -0
- package/dist/app.css +38 -0
- package/dist/app.css.map +1 -0
- package/dist/app.js +71 -0
- package/lib/ItemTypes.js +11 -0
- package/lib/UUID.js +67 -0
- package/lib/dynamic-option-list.js +189 -0
- package/lib/fieldset/FieldSet.js +121 -0
- package/lib/fieldset/index.js +13 -0
- package/lib/form-dynamic-edit.js +57 -0
- package/lib/form-elements/component-drag-handle.js +91 -0
- package/lib/form-elements/component-drag-layer.js +69 -0
- package/lib/form-elements/component-drag-preview.js +61 -0
- package/lib/form-elements/component-header.js +30 -0
- package/lib/form-elements/component-label.js +30 -0
- package/lib/form-elements/custom-element.js +74 -0
- package/lib/form-elements/date-picker.js +185 -0
- package/lib/form-elements/header-bar.js +55 -0
- package/lib/form-elements/index.js +1144 -0
- package/lib/form-elements/myxss.js +30 -0
- package/lib/form-elements/star-rating.js +338 -0
- package/lib/form-elements-edit.js +740 -0
- package/lib/form-place-holder.js +52 -0
- package/lib/form-validator.js +104 -0
- package/lib/form.js +592 -0
- package/lib/functions/index.js +47 -0
- package/lib/index.js +142 -0
- package/lib/language-provider/IntlMessages.js +16 -0
- package/lib/language-provider/entries/en-us.js +17 -0
- package/lib/language-provider/entries/fa-ir.js +17 -0
- package/lib/language-provider/entries/it-it.js +17 -0
- package/lib/language-provider/entries/vi-vn.js +17 -0
- package/lib/language-provider/index.js +41 -0
- package/lib/language-provider/locales/en-us.json +117 -0
- package/lib/language-provider/locales/fa-ir.json +109 -0
- package/lib/language-provider/locales/it-it.json +109 -0
- package/lib/language-provider/locales/vi-vn.json +96 -0
- package/lib/multi-column/MultiColumnRow.js +137 -0
- package/lib/multi-column/dustbin.js +156 -0
- package/lib/multi-column/grip.js +52 -0
- package/lib/multi-column/index.js +24 -0
- package/lib/preview.js +392 -0
- package/lib/sortable-element.js +177 -0
- package/lib/sortable-form-elements.js +66 -0
- package/lib/stores/registry.js +42 -0
- package/lib/stores/requests.js +31 -0
- package/lib/stores/store.js +139 -0
- package/lib/toolbar-draggable-item.js +60 -0
- package/lib/toolbar-group-item.js +40 -0
- package/lib/toolbar.js +726 -0
- package/package.json +118 -0
- package/types/index.d.ts +184 -0
package/lib/ItemTypes.js
ADDED
package/lib/UUID.js
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
// Private array of chars to use
|
|
5
|
+
var CHARS = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split('');
|
|
6
|
+
var ID = {};
|
|
7
|
+
ID.uuid = function (len, radix) {
|
|
8
|
+
var chars = CHARS,
|
|
9
|
+
uuid = [],
|
|
10
|
+
i;
|
|
11
|
+
radix = radix || chars.length;
|
|
12
|
+
if (len) {
|
|
13
|
+
// Compact form
|
|
14
|
+
for (i = 0; i < len; i++) {
|
|
15
|
+
uuid[i] = chars[0 | Math.random() * radix];
|
|
16
|
+
}
|
|
17
|
+
} else {
|
|
18
|
+
// rfc4122, version 4 form
|
|
19
|
+
var r;
|
|
20
|
+
|
|
21
|
+
// rfc4122 requires these characters
|
|
22
|
+
uuid[8] = uuid[13] = uuid[18] = uuid[23] = '-';
|
|
23
|
+
uuid[14] = '4';
|
|
24
|
+
|
|
25
|
+
// Fill in random data. At i==19 set the high bits of clock sequence as
|
|
26
|
+
// per rfc4122, sec. 4.1.5
|
|
27
|
+
for (i = 0; i < 36; i++) {
|
|
28
|
+
if (!uuid[i]) {
|
|
29
|
+
r = 0 | Math.random() * 16;
|
|
30
|
+
uuid[i] = chars[i == 19 ? r & 0x3 | 0x8 : r];
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return uuid.join('');
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
// A more performant, but slightly bulkier, RFC4122v4 solution. We boost performance
|
|
38
|
+
// by minimizing calls to random()
|
|
39
|
+
ID.uuidFast = function () {
|
|
40
|
+
var chars = CHARS,
|
|
41
|
+
uuid = new Array(36),
|
|
42
|
+
rnd = 0,
|
|
43
|
+
r;
|
|
44
|
+
for (var i = 0; i < 36; i++) {
|
|
45
|
+
if (i == 8 || i == 13 || i == 18 || i == 23) {
|
|
46
|
+
uuid[i] = '-';
|
|
47
|
+
} else if (i == 14) {
|
|
48
|
+
uuid[i] = '4';
|
|
49
|
+
} else {
|
|
50
|
+
if (rnd <= 0x02) rnd = 0x2000000 + Math.random() * 0x1000000 | 0;
|
|
51
|
+
r = rnd & 0xf;
|
|
52
|
+
rnd = rnd >> 4;
|
|
53
|
+
uuid[i] = chars[i == 19 ? r & 0x3 | 0x8 : r];
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return uuid.join('');
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
// A more compact, but less performant, RFC4122v4 solution:
|
|
60
|
+
ID.uuidCompact = function () {
|
|
61
|
+
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
|
|
62
|
+
var r = Math.random() * 16 | 0,
|
|
63
|
+
v = c == 'x' ? r : r & 0x3 | 0x8;
|
|
64
|
+
return v.toString(16);
|
|
65
|
+
});
|
|
66
|
+
};
|
|
67
|
+
module.exports = ID;
|
|
@@ -0,0 +1,189 @@
|
|
|
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 _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
9
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
10
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
11
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
12
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
13
|
+
var _react = _interopRequireDefault(require("react"));
|
|
14
|
+
var _UUID = _interopRequireDefault(require("./UUID"));
|
|
15
|
+
var _IntlMessages = _interopRequireDefault(require("./language-provider/IntlMessages"));
|
|
16
|
+
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); }; }
|
|
17
|
+
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; } } /**
|
|
18
|
+
* <DynamicOptionList />
|
|
19
|
+
*/
|
|
20
|
+
var DynamicOptionList = /*#__PURE__*/function (_React$Component) {
|
|
21
|
+
(0, _inherits2["default"])(DynamicOptionList, _React$Component);
|
|
22
|
+
var _super = _createSuper(DynamicOptionList);
|
|
23
|
+
function DynamicOptionList(props) {
|
|
24
|
+
var _this;
|
|
25
|
+
(0, _classCallCheck2["default"])(this, DynamicOptionList);
|
|
26
|
+
_this = _super.call(this, props);
|
|
27
|
+
_this.state = {
|
|
28
|
+
element: _this.props.element,
|
|
29
|
+
data: _this.props.data,
|
|
30
|
+
dirty: false
|
|
31
|
+
};
|
|
32
|
+
return _this;
|
|
33
|
+
}
|
|
34
|
+
(0, _createClass2["default"])(DynamicOptionList, [{
|
|
35
|
+
key: "_setValue",
|
|
36
|
+
value: function _setValue(text) {
|
|
37
|
+
return text.replace(/[^A-Z0-9]+/ig, '_').toLowerCase();
|
|
38
|
+
}
|
|
39
|
+
}, {
|
|
40
|
+
key: "editOption",
|
|
41
|
+
value: function editOption(option_index, e) {
|
|
42
|
+
var this_element = this.state.element;
|
|
43
|
+
var val = this_element.options[option_index].value !== this._setValue(this_element.options[option_index].text) ? this_element.options[option_index].value : this._setValue(e.target.value);
|
|
44
|
+
this_element.options[option_index].text = e.target.value;
|
|
45
|
+
this_element.options[option_index].value = val;
|
|
46
|
+
this.setState({
|
|
47
|
+
element: this_element,
|
|
48
|
+
dirty: true
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
}, {
|
|
52
|
+
key: "editValue",
|
|
53
|
+
value: function editValue(option_index, e) {
|
|
54
|
+
var this_element = this.state.element;
|
|
55
|
+
var val = e.target.value === '' ? this._setValue(this_element.options[option_index].text) : e.target.value;
|
|
56
|
+
this_element.options[option_index].value = val;
|
|
57
|
+
this.setState({
|
|
58
|
+
element: this_element,
|
|
59
|
+
dirty: true
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
// eslint-disable-next-line no-unused-vars
|
|
64
|
+
}, {
|
|
65
|
+
key: "editOptionCorrect",
|
|
66
|
+
value: function editOptionCorrect(option_index, e) {
|
|
67
|
+
var this_element = this.state.element;
|
|
68
|
+
if (this_element.options[option_index].hasOwnProperty('correct')) {
|
|
69
|
+
delete this_element.options[option_index].correct;
|
|
70
|
+
} else {
|
|
71
|
+
this_element.options[option_index].correct = true;
|
|
72
|
+
}
|
|
73
|
+
this.setState({
|
|
74
|
+
element: this_element
|
|
75
|
+
});
|
|
76
|
+
this.props.updateElement.call(this.props.preview, this_element);
|
|
77
|
+
}
|
|
78
|
+
}, {
|
|
79
|
+
key: "updateOption",
|
|
80
|
+
value: function updateOption() {
|
|
81
|
+
var this_element = this.state.element;
|
|
82
|
+
// to prevent ajax calls with no change
|
|
83
|
+
if (this.state.dirty) {
|
|
84
|
+
this.props.updateElement.call(this.props.preview, this_element);
|
|
85
|
+
this.setState({
|
|
86
|
+
dirty: false
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}, {
|
|
91
|
+
key: "addOption",
|
|
92
|
+
value: function addOption(index) {
|
|
93
|
+
var this_element = this.state.element;
|
|
94
|
+
this_element.options.splice(index + 1, 0, {
|
|
95
|
+
value: '',
|
|
96
|
+
text: '',
|
|
97
|
+
key: _UUID["default"].uuid()
|
|
98
|
+
});
|
|
99
|
+
this.props.updateElement.call(this.props.preview, this_element);
|
|
100
|
+
}
|
|
101
|
+
}, {
|
|
102
|
+
key: "removeOption",
|
|
103
|
+
value: function removeOption(index) {
|
|
104
|
+
var this_element = this.state.element;
|
|
105
|
+
this_element.options.splice(index, 1);
|
|
106
|
+
this.props.updateElement.call(this.props.preview, this_element);
|
|
107
|
+
}
|
|
108
|
+
}, {
|
|
109
|
+
key: "render",
|
|
110
|
+
value: function render() {
|
|
111
|
+
var _this2 = this;
|
|
112
|
+
if (this.state.dirty) {
|
|
113
|
+
this.state.element.dirty = true;
|
|
114
|
+
}
|
|
115
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
116
|
+
className: "dynamic-option-list"
|
|
117
|
+
}, /*#__PURE__*/_react["default"].createElement("ul", null, /*#__PURE__*/_react["default"].createElement("li", null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
118
|
+
className: "row"
|
|
119
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
120
|
+
className: "col-sm-6"
|
|
121
|
+
}, /*#__PURE__*/_react["default"].createElement("b", null, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
|
|
122
|
+
id: "options"
|
|
123
|
+
}))), this.props.canHaveOptionValue && /*#__PURE__*/_react["default"].createElement("div", {
|
|
124
|
+
className: "col-sm-2"
|
|
125
|
+
}, /*#__PURE__*/_react["default"].createElement("b", null, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
|
|
126
|
+
id: "value"
|
|
127
|
+
}))), this.props.canHaveOptionValue && this.props.canHaveOptionCorrect && /*#__PURE__*/_react["default"].createElement("div", {
|
|
128
|
+
className: "col-sm-4"
|
|
129
|
+
}, /*#__PURE__*/_react["default"].createElement("b", null, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
|
|
130
|
+
id: "correct"
|
|
131
|
+
}))))), this.props.element.options.map(function (option, index) {
|
|
132
|
+
var this_key = "edit_".concat(option.key);
|
|
133
|
+
var val = option.value !== _this2._setValue(option.text) ? option.value : '';
|
|
134
|
+
return /*#__PURE__*/_react["default"].createElement("li", {
|
|
135
|
+
className: "clearfix",
|
|
136
|
+
key: this_key
|
|
137
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
138
|
+
className: "row"
|
|
139
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
140
|
+
className: "col-sm-6"
|
|
141
|
+
}, /*#__PURE__*/_react["default"].createElement("input", {
|
|
142
|
+
tabIndex: index + 1,
|
|
143
|
+
className: "form-control",
|
|
144
|
+
style: {
|
|
145
|
+
width: '100%'
|
|
146
|
+
},
|
|
147
|
+
type: "text",
|
|
148
|
+
name: "text_".concat(index),
|
|
149
|
+
placeholder: "Option text",
|
|
150
|
+
value: option.text,
|
|
151
|
+
onBlur: _this2.updateOption.bind(_this2),
|
|
152
|
+
onChange: _this2.editOption.bind(_this2, index)
|
|
153
|
+
})), _this2.props.canHaveOptionValue && /*#__PURE__*/_react["default"].createElement("div", {
|
|
154
|
+
className: "col-sm-2"
|
|
155
|
+
}, /*#__PURE__*/_react["default"].createElement("input", {
|
|
156
|
+
className: "form-control",
|
|
157
|
+
type: "text",
|
|
158
|
+
name: "value_".concat(index),
|
|
159
|
+
value: val,
|
|
160
|
+
onChange: _this2.editValue.bind(_this2, index)
|
|
161
|
+
})), _this2.props.canHaveOptionValue && _this2.props.canHaveOptionCorrect && /*#__PURE__*/_react["default"].createElement("div", {
|
|
162
|
+
className: "col-sm-1"
|
|
163
|
+
}, /*#__PURE__*/_react["default"].createElement("input", {
|
|
164
|
+
className: "form-control",
|
|
165
|
+
type: "checkbox",
|
|
166
|
+
value: "1",
|
|
167
|
+
onChange: _this2.editOptionCorrect.bind(_this2, index),
|
|
168
|
+
checked: option.hasOwnProperty('correct')
|
|
169
|
+
})), /*#__PURE__*/_react["default"].createElement("div", {
|
|
170
|
+
className: "col-sm-3"
|
|
171
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
172
|
+
className: "dynamic-options-actions-buttons"
|
|
173
|
+
}, /*#__PURE__*/_react["default"].createElement("button", {
|
|
174
|
+
onClick: _this2.addOption.bind(_this2, index),
|
|
175
|
+
className: "btn btn-success"
|
|
176
|
+
}, /*#__PURE__*/_react["default"].createElement("i", {
|
|
177
|
+
className: "fas fa-plus-circle"
|
|
178
|
+
})), index > 0 && /*#__PURE__*/_react["default"].createElement("button", {
|
|
179
|
+
onClick: _this2.removeOption.bind(_this2, index),
|
|
180
|
+
className: "btn btn-danger"
|
|
181
|
+
}, /*#__PURE__*/_react["default"].createElement("i", {
|
|
182
|
+
className: "fas fa-minus-circle"
|
|
183
|
+
}))))));
|
|
184
|
+
})));
|
|
185
|
+
}
|
|
186
|
+
}]);
|
|
187
|
+
return DynamicOptionList;
|
|
188
|
+
}(_react["default"].Component);
|
|
189
|
+
exports["default"] = DynamicOptionList;
|
|
@@ -0,0 +1,121 @@
|
|
|
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"] = FieldSetBase;
|
|
9
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
12
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
14
|
+
var _componentHeader = _interopRequireDefault(require("../form-elements/component-header"));
|
|
15
|
+
var _componentLabel = _interopRequireDefault(require("../form-elements/component-label"));
|
|
16
|
+
var _dustbin = _interopRequireDefault(require("../multi-column/dustbin"));
|
|
17
|
+
var _ItemTypes = _interopRequireDefault(require("../ItemTypes"));
|
|
18
|
+
var _excluded = ["data", "class_name"];
|
|
19
|
+
/* eslint-disable camelcase */
|
|
20
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
21
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
22
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
23
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
24
|
+
var accepts = [_ItemTypes["default"].BOX, _ItemTypes["default"].CARD];
|
|
25
|
+
function FieldSetBase(props) {
|
|
26
|
+
var _useState = (0, _react.useState)({}),
|
|
27
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
28
|
+
childData = _useState2[0],
|
|
29
|
+
setChildData = _useState2[1];
|
|
30
|
+
var _useState3 = (0, _react.useState)(null),
|
|
31
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
32
|
+
childItems = _useState4[0],
|
|
33
|
+
setChildItems = _useState4[1];
|
|
34
|
+
(0, _react.useEffect)(function () {
|
|
35
|
+
var data = props.data,
|
|
36
|
+
class_name = props.class_name,
|
|
37
|
+
rest = (0, _objectWithoutProperties2["default"])(props, _excluded);
|
|
38
|
+
setChildData(data);
|
|
39
|
+
var count = 1;
|
|
40
|
+
createChild(count, data);
|
|
41
|
+
}, [props]);
|
|
42
|
+
var addNewChild = function addNewChild() {
|
|
43
|
+
var data = props.data;
|
|
44
|
+
var colCount = data.childItems.length + 1;
|
|
45
|
+
var oldChilds = data.childItems;
|
|
46
|
+
data.childItems = Array.from({
|
|
47
|
+
length: colCount
|
|
48
|
+
}, function (v, i) {
|
|
49
|
+
return oldChilds[i] ? oldChilds[i] : null;
|
|
50
|
+
});
|
|
51
|
+
setChildItems(data.childItems);
|
|
52
|
+
};
|
|
53
|
+
var _onDropSuccess = function onDropSuccess(droppedIndex) {
|
|
54
|
+
var totalChild = childItems ? childItems.length : 0;
|
|
55
|
+
var isLastChild = totalChild === droppedIndex + 1;
|
|
56
|
+
if (isLastChild) {
|
|
57
|
+
addNewChild();
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
var createChild = function createChild(count, data) {
|
|
61
|
+
var colCount = count;
|
|
62
|
+
var className = data.class_name || "col-md-12";
|
|
63
|
+
if (!data.childItems) {
|
|
64
|
+
// eslint-disable-next-line no-param-reassign
|
|
65
|
+
data.childItems = Array.from({
|
|
66
|
+
length: colCount
|
|
67
|
+
}, function (v, i) {
|
|
68
|
+
return null;
|
|
69
|
+
});
|
|
70
|
+
data.isContainer = true;
|
|
71
|
+
}
|
|
72
|
+
setChildItems(data.childItems);
|
|
73
|
+
};
|
|
74
|
+
var controls = props.controls,
|
|
75
|
+
editModeOn = props.editModeOn,
|
|
76
|
+
getDataById = props.getDataById,
|
|
77
|
+
setAsChild = props.setAsChild,
|
|
78
|
+
removeChild = props.removeChild,
|
|
79
|
+
seq = props.seq,
|
|
80
|
+
className = props.className,
|
|
81
|
+
index = props.index;
|
|
82
|
+
var pageBreakBefore = childData.pageBreakBefore;
|
|
83
|
+
var baseClasses = "SortableItem rfb-item";
|
|
84
|
+
if (pageBreakBefore) {
|
|
85
|
+
baseClasses += " alwaysbreak";
|
|
86
|
+
}
|
|
87
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
88
|
+
style: _objectSpread({}, props.style),
|
|
89
|
+
className: baseClasses
|
|
90
|
+
}, /*#__PURE__*/_react["default"].createElement(_componentHeader["default"], (0, _extends2["default"])({}, props, {
|
|
91
|
+
isFieldSet: true
|
|
92
|
+
})), /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_componentLabel["default"], props), /*#__PURE__*/_react["default"].createElement("div", {
|
|
93
|
+
className: "row"
|
|
94
|
+
}, childItems === null || childItems === void 0 ? void 0 : childItems.map(function (x, i) {
|
|
95
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
96
|
+
key: "".concat(i, "_").concat(x || "_"),
|
|
97
|
+
className: "col-md-12"
|
|
98
|
+
}, controls ? controls[i] : /*#__PURE__*/_react["default"].createElement(_dustbin["default"], {
|
|
99
|
+
style: {
|
|
100
|
+
width: "100%"
|
|
101
|
+
},
|
|
102
|
+
data: childData,
|
|
103
|
+
accepts: accepts,
|
|
104
|
+
items: childItems,
|
|
105
|
+
key: i,
|
|
106
|
+
col: i,
|
|
107
|
+
onDropSuccess: function onDropSuccess() {
|
|
108
|
+
return _onDropSuccess(i);
|
|
109
|
+
},
|
|
110
|
+
parentIndex: index,
|
|
111
|
+
editModeOn: editModeOn,
|
|
112
|
+
_onDestroy: function _onDestroy() {
|
|
113
|
+
return removeChild(childData, i);
|
|
114
|
+
},
|
|
115
|
+
getDataById: getDataById,
|
|
116
|
+
setAsChild: setAsChild,
|
|
117
|
+
seq: seq,
|
|
118
|
+
rowNo: i
|
|
119
|
+
}));
|
|
120
|
+
}))));
|
|
121
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
Object.defineProperty(exports, "FieldSet", {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function get() {
|
|
10
|
+
return _FieldSet["default"];
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
var _FieldSet = _interopRequireDefault(require("./FieldSet"));
|
|
@@ -0,0 +1,57 @@
|
|
|
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(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
14
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
15
|
+
var FormElementsEditor = function FormElementsEditor(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) {
|
|
26
|
+
switch (_context.prev = _context.next) {
|
|
27
|
+
case 0:
|
|
28
|
+
_context.next = 2;
|
|
29
|
+
return Promise.resolve().then(function () {
|
|
30
|
+
return _interopRequireWildcard(require('./form-elements-edit'));
|
|
31
|
+
});
|
|
32
|
+
case 2:
|
|
33
|
+
x = _context.sent;
|
|
34
|
+
setDynamic(function () {
|
|
35
|
+
return x["default"];
|
|
36
|
+
});
|
|
37
|
+
case 4:
|
|
38
|
+
case "end":
|
|
39
|
+
return _context.stop();
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}, _callee);
|
|
43
|
+
}));
|
|
44
|
+
return function loadDynamic() {
|
|
45
|
+
return _ref.apply(this, arguments);
|
|
46
|
+
};
|
|
47
|
+
}();
|
|
48
|
+
loadDynamic();
|
|
49
|
+
}, []);
|
|
50
|
+
if (!dynamic) {
|
|
51
|
+
return /*#__PURE__*/_react["default"].createElement("div", null, "Loading...");
|
|
52
|
+
}
|
|
53
|
+
var Component = dynamic;
|
|
54
|
+
return /*#__PURE__*/_react["default"].createElement(Component, props);
|
|
55
|
+
};
|
|
56
|
+
var _default = FormElementsEditor;
|
|
57
|
+
exports["default"] = _default;
|
|
@@ -0,0 +1,91 @@
|
|
|
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(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
19
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
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 = (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);
|
|
91
|
+
exports["default"] = _default;
|
|
@@ -0,0 +1,69 @@
|
|
|
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 = (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);
|
|
69
|
+
exports["default"] = _default;
|