react-survey-builder 1.0.40 → 1.0.42
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/dist/225.index.js +1 -0
- package/dist/997.index.js +1 -0
- package/dist/index.js +1 -1
- package/lib/dynamic-option-list.js +6 -15
- package/lib/fieldset/index.js +124 -6
- package/lib/form-fields.js +20 -48
- package/lib/form.js +20 -48
- package/lib/index.js +3 -20
- package/lib/multi-column/MultiColumnRow.js +2 -2
- package/lib/multi-column/dustbin.js +3 -3
- package/lib/multi-column/grip.js +2 -2
- package/lib/preview.js +13 -14
- package/lib/sortable-form-elements.js +34 -58
- package/lib/survey-elements/component-drag-handle.js +7 -10
- package/lib/survey-elements/component-drag-layer.js +7 -10
- package/lib/survey-elements/component-error-message.js +0 -1
- package/lib/survey-elements/index.js +49 -60
- package/lib/survey-elements-edit.js +39 -147
- package/lib/survey-place-holder.js +3 -7
- package/lib/survey-validator.js +2 -7
- package/lib/toolbar-draggable-item.js +3 -5
- package/lib/toolbar-group-item.js +12 -19
- package/lib/toolbar.js +95 -246
- package/package.json +2 -3
- package/dist/320.index.js +0 -1
- package/dist/57.index.js +0 -1
- package/lib/fieldset/FieldSet.js +0 -129
- package/lib/form copy.js +0 -622
- package/lib/language-provider/IntlMessages.js +0 -15
- package/lib/language-provider/entries/en-us.js +0 -16
- package/lib/language-provider/index.js +0 -18
- package/lib/language-provider/locales/en-us.json +0 -103
- package/lib/survey-elements/component-wrapper.js +0 -1960
- package/lib/survey-elements/date-picker.js +0 -272
- package/lib/utils/custom-date-picker.js +0 -93
package/lib/form copy.js
DELETED
@@ -1,622 +0,0 @@
|
|
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 _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
9
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
10
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
11
|
-
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
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 = _interopRequireDefault(require("react"));
|
17
|
-
var _reactDom = _interopRequireDefault(require("react-dom"));
|
18
|
-
var _fbemitter = require("fbemitter");
|
19
|
-
var _reactIntl = require("react-intl");
|
20
|
-
var _surveyValidator = _interopRequireDefault(require("./survey-validator"));
|
21
|
-
var _surveyElements = _interopRequireDefault(require("./survey-elements"));
|
22
|
-
var _multiColumn = require("./multi-column");
|
23
|
-
var _fieldset = require("./fieldset");
|
24
|
-
var _customElement = _interopRequireDefault(require("./survey-elements/custom-element"));
|
25
|
-
var _registry = _interopRequireDefault(require("./stores/registry"));
|
26
|
-
var _reactBootstrap = require("react-bootstrap");
|
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); }; }
|
28
|
-
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; } } /**
|
29
|
-
* <Form />
|
30
|
-
*/
|
31
|
-
var Image = _surveyElements["default"].Image,
|
32
|
-
Checkboxes = _surveyElements["default"].Checkboxes,
|
33
|
-
Signature = _surveyElements["default"].Signature,
|
34
|
-
Download = _surveyElements["default"].Download,
|
35
|
-
Camera = _surveyElements["default"].Camera,
|
36
|
-
FileUpload = _surveyElements["default"].FileUpload;
|
37
|
-
var ReactSurvey = /*#__PURE__*/function (_React$Component) {
|
38
|
-
(0, _inherits2["default"])(ReactSurvey, _React$Component);
|
39
|
-
var _super = _createSuper(ReactSurvey);
|
40
|
-
function ReactSurvey(props) {
|
41
|
-
var _this;
|
42
|
-
(0, _classCallCheck2["default"])(this, ReactSurvey);
|
43
|
-
_this = _super.call(this, props);
|
44
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "form", void 0);
|
45
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "inputs", {});
|
46
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "answerData", void 0);
|
47
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleRenderSubmit", function () {
|
48
|
-
var name = _this.props.actionName || _this.props.actionName;
|
49
|
-
var actionName = name || 'Submit';
|
50
|
-
var _this$props$submitBut = _this.props.submitButton,
|
51
|
-
submitButton = _this$props$submitBut === void 0 ? false : _this$props$submitBut;
|
52
|
-
var buttonProps = {};
|
53
|
-
if (_this.props.formId) {
|
54
|
-
buttonProps.form = _this.props.formId;
|
55
|
-
}
|
56
|
-
return submitButton || /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Button, {
|
57
|
-
variant: "primary",
|
58
|
-
type: "submit"
|
59
|
-
}, actionName);
|
60
|
-
});
|
61
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleRenderBack", function () {
|
62
|
-
var name = _this.props.backName || _this.props.backName;
|
63
|
-
var backName = name || 'Cancel';
|
64
|
-
var _this$props$backButto = _this.props.backButton,
|
65
|
-
backButton = _this$props$backButto === void 0 ? false : _this$props$backButto;
|
66
|
-
return backButton || /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Button, {
|
67
|
-
variant: "secondary",
|
68
|
-
onClick: _this.props.backAction,
|
69
|
-
className: "btn-cancel"
|
70
|
-
}, backName);
|
71
|
-
});
|
72
|
-
_this.answerData = _this._convert(props.answerData);
|
73
|
-
_this.emitter = new _fbemitter.EventEmitter();
|
74
|
-
_this.getDataById = _this.getDataById.bind((0, _assertThisInitialized2["default"])(_this));
|
75
|
-
|
76
|
-
// Bind handleBlur and handleChange methods
|
77
|
-
_this.handleBlur = _this.handleBlur.bind((0, _assertThisInitialized2["default"])(_this));
|
78
|
-
_this.handleChange = _this.handleChange.bind((0, _assertThisInitialized2["default"])(_this));
|
79
|
-
_this.handleSubmit = _this.handleSubmit.bind((0, _assertThisInitialized2["default"])(_this));
|
80
|
-
return _this;
|
81
|
-
}
|
82
|
-
(0, _createClass2["default"])(ReactSurvey, [{
|
83
|
-
key: "_convert",
|
84
|
-
value: function _convert(answers) {
|
85
|
-
if (Array.isArray(answers)) {
|
86
|
-
var result = {};
|
87
|
-
answers.forEach(function (answer) {
|
88
|
-
result[answer.name] = answer.value;
|
89
|
-
});
|
90
|
-
return result;
|
91
|
-
}
|
92
|
-
return answers || {};
|
93
|
-
}
|
94
|
-
}, {
|
95
|
-
key: "_getDefaultValue",
|
96
|
-
value: function _getDefaultValue(item) {
|
97
|
-
return this.answerData[item.fieldName];
|
98
|
-
}
|
99
|
-
}, {
|
100
|
-
key: "_optionsDefaultValue",
|
101
|
-
value: function _optionsDefaultValue(item) {
|
102
|
-
var _this2 = this;
|
103
|
-
var defaultValue = this._getDefaultValue(item);
|
104
|
-
if (defaultValue) {
|
105
|
-
return defaultValue;
|
106
|
-
}
|
107
|
-
var defaultChecked = [];
|
108
|
-
item.options.forEach(function (option) {
|
109
|
-
if (_this2.answerData["option_".concat(option.key)]) {
|
110
|
-
defaultChecked.push(option.key);
|
111
|
-
}
|
112
|
-
});
|
113
|
-
return defaultChecked;
|
114
|
-
}
|
115
|
-
}, {
|
116
|
-
key: "_getItemValue",
|
117
|
-
value: function _getItemValue(item, ref) {
|
118
|
-
var $item = {
|
119
|
-
element: item.element,
|
120
|
-
value: ''
|
121
|
-
};
|
122
|
-
if (item.element === 'Rating') {
|
123
|
-
$item.value = ref.inputField.current.state.rating;
|
124
|
-
} else if (item.element === 'Tags') {
|
125
|
-
$item.value = ref.state.value;
|
126
|
-
// } else if (item.element === 'DatePicker') {
|
127
|
-
// $item.value = ref.state.value;
|
128
|
-
} else if (item.element === 'Camera') {
|
129
|
-
$item.value = ref.state.img;
|
130
|
-
} else if (item.element === 'FileUpload') {
|
131
|
-
$item.value = ref.state.fileUpload;
|
132
|
-
} else if (ref && ref.inputField && ref.inputField.current) {
|
133
|
-
$item = _reactDom["default"].findDOMNode(ref.inputField.current);
|
134
|
-
if ($item && typeof $item.value === 'string') {
|
135
|
-
$item.value = $item.value.trim();
|
136
|
-
}
|
137
|
-
}
|
138
|
-
return $item;
|
139
|
-
}
|
140
|
-
}, {
|
141
|
-
key: "_isIncorrect",
|
142
|
-
value: function _isIncorrect(item) {
|
143
|
-
var incorrect = false;
|
144
|
-
if (item.canHaveAnswer) {
|
145
|
-
var ref = this.inputs[item.fieldName];
|
146
|
-
if (item.element === 'Checkboxes' || item.element === 'RadioButtons') {
|
147
|
-
item.options.forEach(function (option) {
|
148
|
-
var $option = _reactDom["default"].findDOMNode(ref.options["child_ref_".concat(option.key)]);
|
149
|
-
if (option.hasOwnProperty('correct') && !$option.checked || !option.hasOwnProperty('correct') && $option.checked) {
|
150
|
-
incorrect = true;
|
151
|
-
}
|
152
|
-
});
|
153
|
-
} else {
|
154
|
-
var $item = this._getItemValue(item, ref);
|
155
|
-
if (item.element === 'Rating') {
|
156
|
-
if ($item.value.toString() !== item.correct) {
|
157
|
-
incorrect = true;
|
158
|
-
}
|
159
|
-
} else if ($item.value.toLowerCase() !== item.correct.trim().toLowerCase()) {
|
160
|
-
incorrect = true;
|
161
|
-
}
|
162
|
-
}
|
163
|
-
}
|
164
|
-
return incorrect;
|
165
|
-
}
|
166
|
-
}, {
|
167
|
-
key: "_isInvalid",
|
168
|
-
value: function _isInvalid(item) {
|
169
|
-
var invalid = false;
|
170
|
-
if (item.required === true) {
|
171
|
-
var ref = this.inputs[item.fieldName];
|
172
|
-
if (item.element === 'Checkboxes' || item.element === 'RadioButtons') {
|
173
|
-
var checked_options = 0;
|
174
|
-
item.options.forEach(function (option) {
|
175
|
-
var $option = _reactDom["default"].findDOMNode(ref.options["child_ref_".concat(option.key)]);
|
176
|
-
if ($option.checked) {
|
177
|
-
checked_options += 1;
|
178
|
-
}
|
179
|
-
});
|
180
|
-
if (checked_options < 1) {
|
181
|
-
// errors.push(item.label + ' is required!');
|
182
|
-
invalid = true;
|
183
|
-
}
|
184
|
-
} else {
|
185
|
-
var $item = this._getItemValue(item, ref);
|
186
|
-
if (item.element === 'Rating') {
|
187
|
-
if ($item.value === 0) {
|
188
|
-
invalid = true;
|
189
|
-
}
|
190
|
-
} else if ($item.value === undefined || $item.value.length < 1) {
|
191
|
-
invalid = true;
|
192
|
-
}
|
193
|
-
}
|
194
|
-
}
|
195
|
-
return invalid;
|
196
|
-
}
|
197
|
-
}, {
|
198
|
-
key: "_collect",
|
199
|
-
value: function _collect(item) {
|
200
|
-
var itemData = {
|
201
|
-
id: item.id,
|
202
|
-
name: item.fieldName,
|
203
|
-
customName: item.customName || item.fieldName,
|
204
|
-
help: item.help,
|
205
|
-
label: item.label !== null && item.label !== undefined && item.label !== '' ? item.label.trim() : ''
|
206
|
-
};
|
207
|
-
if (!itemData.name) return null;
|
208
|
-
var ref = this.inputs[item.fieldName];
|
209
|
-
if (item.element === 'Checkboxes') {
|
210
|
-
var checkedOptions = [];
|
211
|
-
item.options.forEach(function (option) {
|
212
|
-
var $option = _reactDom["default"].findDOMNode(ref.options["child_ref_".concat(option.key)]);
|
213
|
-
if ($option.checked) {
|
214
|
-
checkedOptions.push(option.value);
|
215
|
-
}
|
216
|
-
});
|
217
|
-
itemData.value = checkedOptions;
|
218
|
-
} else if (item.element === 'RadioButtons') {
|
219
|
-
item.options.forEach(function (option) {
|
220
|
-
var $option = _reactDom["default"].findDOMNode(ref.options["child_ref_".concat(option.key)]);
|
221
|
-
if ($option.checked) {
|
222
|
-
itemData.value = option.value;
|
223
|
-
}
|
224
|
-
});
|
225
|
-
} else if (item.element === 'Checkbox') {
|
226
|
-
if (!ref || !ref.inputField || !ref.inputField.current) {
|
227
|
-
itemData.value = false;
|
228
|
-
} else {
|
229
|
-
itemData.value = ref.inputField.current.checked;
|
230
|
-
}
|
231
|
-
} else {
|
232
|
-
if (!ref) return null;
|
233
|
-
itemData.value = this._getItemValue(item, ref).value;
|
234
|
-
}
|
235
|
-
itemData.required = item.required || false;
|
236
|
-
return itemData;
|
237
|
-
}
|
238
|
-
}, {
|
239
|
-
key: "_collectFormData",
|
240
|
-
value: function _collectFormData(data) {
|
241
|
-
var _this3 = this;
|
242
|
-
var formData = [];
|
243
|
-
data.forEach(function (item) {
|
244
|
-
var item_data = _this3._collect(item);
|
245
|
-
if (item_data) {
|
246
|
-
formData.push(item_data);
|
247
|
-
}
|
248
|
-
});
|
249
|
-
return formData;
|
250
|
-
}
|
251
|
-
}, {
|
252
|
-
key: "_getSignatureImg",
|
253
|
-
value: function _getSignatureImg(item) {
|
254
|
-
var ref = this.inputs[item.fieldName];
|
255
|
-
var $canvas_sig = ref.canvas.current;
|
256
|
-
if ($canvas_sig) {
|
257
|
-
var base64 = $canvas_sig.toDataURL().replace('data:image/png;base64,', '');
|
258
|
-
var isEmpty = $canvas_sig.isEmpty();
|
259
|
-
var $input_sig = _reactDom["default"].findDOMNode(ref.inputField.current);
|
260
|
-
if (isEmpty) {
|
261
|
-
$input_sig.value = '';
|
262
|
-
} else {
|
263
|
-
$input_sig.value = base64;
|
264
|
-
}
|
265
|
-
}
|
266
|
-
}
|
267
|
-
}, {
|
268
|
-
key: "handleSubmit",
|
269
|
-
value: function handleSubmit(e) {
|
270
|
-
e.preventDefault();
|
271
|
-
var errors = [];
|
272
|
-
if (!this.props.skipValidations) {
|
273
|
-
errors = this.validateForm();
|
274
|
-
// Publish errors, if any.
|
275
|
-
this.emitter.emit('surveyValidation', errors);
|
276
|
-
}
|
277
|
-
|
278
|
-
// Only submit if there are no errors.
|
279
|
-
if (errors.length < 1) {
|
280
|
-
var onSubmit = this.props.onSubmit;
|
281
|
-
if (onSubmit) {
|
282
|
-
var data = this._collectFormData(this.props.data);
|
283
|
-
onSubmit(data);
|
284
|
-
} else {
|
285
|
-
var $form = _reactDom["default"].findDOMNode(this.form);
|
286
|
-
$form.submit();
|
287
|
-
}
|
288
|
-
}
|
289
|
-
}
|
290
|
-
}, {
|
291
|
-
key: "handleBlur",
|
292
|
-
value: function handleBlur(event) {
|
293
|
-
// Call submit function on blur
|
294
|
-
if (this.props.onBlur) {
|
295
|
-
var onBlur = this.props.onBlur;
|
296
|
-
var data = this._collectFormData(this.props.data);
|
297
|
-
onBlur(data);
|
298
|
-
}
|
299
|
-
}
|
300
|
-
}, {
|
301
|
-
key: "handleChange",
|
302
|
-
value: function handleChange(event) {
|
303
|
-
// Call submit function on change
|
304
|
-
if (this.props.onChange) {
|
305
|
-
var onChange = this.props.onChange;
|
306
|
-
var data = this._collectFormData(this.props.data);
|
307
|
-
onChange(data);
|
308
|
-
}
|
309
|
-
}
|
310
|
-
}, {
|
311
|
-
key: "validateForm",
|
312
|
-
value: function validateForm() {
|
313
|
-
var _this4 = this;
|
314
|
-
var errors = [];
|
315
|
-
var data_items = this.props.data;
|
316
|
-
var intl = this.props.intl;
|
317
|
-
if (this.props.displayShort) {
|
318
|
-
data_items = this.props.data.filter(function (i) {
|
319
|
-
return i.alternateForm === true;
|
320
|
-
});
|
321
|
-
}
|
322
|
-
data_items.forEach(function (item) {
|
323
|
-
if (item.element === 'Signature') {
|
324
|
-
_this4._getSignatureImg(item);
|
325
|
-
}
|
326
|
-
if (_this4._isInvalid(item)) {
|
327
|
-
errors.push("".concat(item.label, " ").concat(intl.formatMessage({
|
328
|
-
id: 'message.is-required'
|
329
|
-
}), "!"));
|
330
|
-
}
|
331
|
-
if (item.element === 'EmailInput') {
|
332
|
-
var ref = _this4.inputs[item.fieldName];
|
333
|
-
var emailValue = _this4._getItemValue(item, ref).value;
|
334
|
-
if (emailValue) {
|
335
|
-
var validateEmail = function validateEmail(email) {
|
336
|
-
return email.match(
|
337
|
-
// eslint-disable-next-line no-useless-escape
|
338
|
-
/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/);
|
339
|
-
};
|
340
|
-
var checkEmail = validateEmail(emailValue);
|
341
|
-
if (!checkEmail) {
|
342
|
-
errors.push("".concat(item.label, " ").concat(intl.formatMessage({
|
343
|
-
id: 'message.invalid-email'
|
344
|
-
})));
|
345
|
-
}
|
346
|
-
}
|
347
|
-
}
|
348
|
-
if (item.element === 'PhoneNumber') {
|
349
|
-
var _ref = _this4.inputs[item.fieldName];
|
350
|
-
var phoneValue = _this4._getItemValue(item, _ref).value;
|
351
|
-
if (phoneValue) {
|
352
|
-
var validatePhone = function validatePhone(phone) {
|
353
|
-
return phone.match(
|
354
|
-
// eslint-disable-next-line no-useless-escape
|
355
|
-
/^[+]?(1\-|1\s|1|\d{3}\-|\d{3}\s|)?((\(\d{3}\))|\d{3})(\-|\s)?(\d{3})(\-|\s)?(\d{4})$/g);
|
356
|
-
};
|
357
|
-
var checkPhone = validatePhone(phoneValue);
|
358
|
-
if (!checkPhone) {
|
359
|
-
errors.push("".concat(item.label, " ").concat(intl.formatMessage({
|
360
|
-
id: 'message.invalid-phone-number'
|
361
|
-
})));
|
362
|
-
}
|
363
|
-
}
|
364
|
-
}
|
365
|
-
if (_this4.props.validateForCorrectness && _this4._isIncorrect(item)) {
|
366
|
-
errors.push("".concat(item.label, " ").concat(intl.formatMessage({
|
367
|
-
id: 'message.was-answered-incorrectly'
|
368
|
-
}), "!"));
|
369
|
-
}
|
370
|
-
});
|
371
|
-
return errors;
|
372
|
-
}
|
373
|
-
}, {
|
374
|
-
key: "getDataById",
|
375
|
-
value: function getDataById(id) {
|
376
|
-
var data = this.props.data;
|
377
|
-
return data.find(function (x) {
|
378
|
-
return x.id === id;
|
379
|
-
});
|
380
|
-
}
|
381
|
-
}, {
|
382
|
-
key: "getInputElement",
|
383
|
-
value: function getInputElement(item) {
|
384
|
-
var _this5 = this;
|
385
|
-
if (item.custom) {
|
386
|
-
return this.getCustomElement(item);
|
387
|
-
}
|
388
|
-
var Input = _surveyElements["default"][item.element];
|
389
|
-
return /*#__PURE__*/_react["default"].createElement(Input, {
|
390
|
-
handleChange: this.handleChange,
|
391
|
-
ref: function ref(c) {
|
392
|
-
return _this5.inputs[item.fieldName] = c;
|
393
|
-
},
|
394
|
-
mutable: true,
|
395
|
-
key: "form_".concat(item.id),
|
396
|
-
data: item,
|
397
|
-
readOnly: this.props.readOnly,
|
398
|
-
print: this.props.print,
|
399
|
-
hideRequiredAlert: this.props.hideRequiredAlert || item.hideRequiredAlert,
|
400
|
-
defaultValue: this._getDefaultValue(item)
|
401
|
-
});
|
402
|
-
}
|
403
|
-
}, {
|
404
|
-
key: "getContainerElement",
|
405
|
-
value: function getContainerElement(item, Element) {
|
406
|
-
var _this6 = this;
|
407
|
-
var controls = item.childItems.map(function (x) {
|
408
|
-
return x ? _this6.getInputElement(_this6.getDataById(x)) : /*#__PURE__*/_react["default"].createElement("div", null, "\xA0");
|
409
|
-
});
|
410
|
-
return /*#__PURE__*/_react["default"].createElement(Element, {
|
411
|
-
mutable: true,
|
412
|
-
key: "form_".concat(item.id),
|
413
|
-
data: item,
|
414
|
-
controls: controls,
|
415
|
-
hideRequiredAlert: this.props.hideRequiredAlert || item.hideRequiredAlert
|
416
|
-
});
|
417
|
-
}
|
418
|
-
}, {
|
419
|
-
key: "getSimpleElement",
|
420
|
-
value: function getSimpleElement(item) {
|
421
|
-
var Element = _surveyElements["default"][item.element];
|
422
|
-
return /*#__PURE__*/_react["default"].createElement(Element, {
|
423
|
-
mutable: true,
|
424
|
-
key: "form_".concat(item.id),
|
425
|
-
data: item,
|
426
|
-
hideRequiredAlert: this.props.hideRequiredAlert || item.hideRequiredAlert
|
427
|
-
});
|
428
|
-
}
|
429
|
-
}, {
|
430
|
-
key: "getCustomElement",
|
431
|
-
value: function getCustomElement(item) {
|
432
|
-
var _this7 = this;
|
433
|
-
var intl = this.props.intl;
|
434
|
-
if (!item.component || typeof item.component !== 'function') {
|
435
|
-
item.component = _registry["default"].get(item.key);
|
436
|
-
if (!item.component) {
|
437
|
-
console.error("".concat(item.element, " ").concat(intl.formatMessage({
|
438
|
-
id: 'message.was-not-registered'
|
439
|
-
})));
|
440
|
-
}
|
441
|
-
}
|
442
|
-
var inputProps = item.forwardRef && {
|
443
|
-
handleChange: this.handleChange,
|
444
|
-
defaultValue: this._getDefaultValue(item),
|
445
|
-
ref: function ref(c) {
|
446
|
-
return _this7.inputs[item.fieldName] = c;
|
447
|
-
}
|
448
|
-
};
|
449
|
-
return /*#__PURE__*/_react["default"].createElement(_customElement["default"], (0, _extends2["default"])({
|
450
|
-
mutable: true,
|
451
|
-
readOnly: this.props.readOnly,
|
452
|
-
print: this.props.print,
|
453
|
-
hideRequiredAlert: this.props.hideRequiredAlert || item.hideRequiredAlert,
|
454
|
-
key: "form_".concat(item.id),
|
455
|
-
data: item
|
456
|
-
}, inputProps));
|
457
|
-
}
|
458
|
-
}, {
|
459
|
-
key: "render",
|
460
|
-
value: function render() {
|
461
|
-
var _this8 = this;
|
462
|
-
var dataItems = this.props.data;
|
463
|
-
if (this.props.displayShort) {
|
464
|
-
dataItems = this.props.data.filter(function (i) {
|
465
|
-
return i.alternateForm === true;
|
466
|
-
});
|
467
|
-
}
|
468
|
-
dataItems.forEach(function (item) {
|
469
|
-
if (item && item.readOnly && item.variableKey && _this8.props.variables[item.variableKey]) {
|
470
|
-
_this8.answerData[item.fieldName] = _this8.props.variables[item.variableKey];
|
471
|
-
}
|
472
|
-
});
|
473
|
-
var items = dataItems.filter(function (x) {
|
474
|
-
return !x.parentId;
|
475
|
-
}).map(function (item) {
|
476
|
-
if (!item) return null;
|
477
|
-
switch (item.element) {
|
478
|
-
case 'TextInput':
|
479
|
-
case 'EmailInput':
|
480
|
-
case 'PhoneNumber':
|
481
|
-
case 'NumberInput':
|
482
|
-
case 'TextArea':
|
483
|
-
case 'Dropdown':
|
484
|
-
case 'DatePicker':
|
485
|
-
case 'RadioButtons':
|
486
|
-
case 'Rating':
|
487
|
-
case 'Tags':
|
488
|
-
case 'Range':
|
489
|
-
case 'Checkbox':
|
490
|
-
return _this8.getInputElement(item);
|
491
|
-
case 'CustomElement':
|
492
|
-
return _this8.getCustomElement(item);
|
493
|
-
case 'MultiColumnRow':
|
494
|
-
return _this8.getContainerElement(item, _multiColumn.MultiColumnRow);
|
495
|
-
case 'ThreeColumnRow':
|
496
|
-
return _this8.getContainerElement(item, _multiColumn.ThreeColumnRow);
|
497
|
-
case 'TwoColumnRow':
|
498
|
-
return _this8.getContainerElement(item, _multiColumn.TwoColumnRow);
|
499
|
-
case 'FieldSet':
|
500
|
-
return _this8.getContainerElement(item, _fieldset.FieldSet);
|
501
|
-
case 'Signature':
|
502
|
-
return /*#__PURE__*/_react["default"].createElement(Signature, {
|
503
|
-
ref: function ref(c) {
|
504
|
-
return _this8.inputs[item.fieldName] = c;
|
505
|
-
},
|
506
|
-
readOnly: _this8.props.readOnly || item.readOnly,
|
507
|
-
print: _this8.props.print,
|
508
|
-
mutable: true,
|
509
|
-
key: "form_".concat(item.id),
|
510
|
-
data: item,
|
511
|
-
defaultValue: _this8._getDefaultValue(item)
|
512
|
-
});
|
513
|
-
case 'Checkboxes':
|
514
|
-
return /*#__PURE__*/_react["default"].createElement(Checkboxes, {
|
515
|
-
ref: function ref(c) {
|
516
|
-
return _this8.inputs[item.fieldName] = c;
|
517
|
-
},
|
518
|
-
readOnly: _this8.props.readOnly,
|
519
|
-
print: _this8.props.print,
|
520
|
-
handleChange: _this8.handleChange,
|
521
|
-
mutable: true,
|
522
|
-
key: "form_".concat(item.id),
|
523
|
-
data: item,
|
524
|
-
defaultValue: _this8._optionsDefaultValue(item),
|
525
|
-
hideRequiredAlert: _this8.props.hideRequiredAlert || item.hideRequiredAlert
|
526
|
-
});
|
527
|
-
case 'Image':
|
528
|
-
return /*#__PURE__*/_react["default"].createElement(Image, {
|
529
|
-
ref: function ref(c) {
|
530
|
-
return _this8.inputs[item.fieldName] = c;
|
531
|
-
},
|
532
|
-
handleChange: _this8.handleChange,
|
533
|
-
mutable: true,
|
534
|
-
key: "form_".concat(item.id),
|
535
|
-
data: item,
|
536
|
-
defaultValue: _this8._getDefaultValue(item),
|
537
|
-
hideRequiredAlert: _this8.props.hideRequiredAlert || item.hideRequiredAlert
|
538
|
-
});
|
539
|
-
case 'Download':
|
540
|
-
return /*#__PURE__*/_react["default"].createElement(Download, {
|
541
|
-
downloadPath: _this8.props.downloadPath,
|
542
|
-
mutable: true,
|
543
|
-
key: "form_".concat(item.id),
|
544
|
-
data: item,
|
545
|
-
hideRequiredAlert: _this8.props.hideRequiredAlert || item.hideRequiredAlert
|
546
|
-
});
|
547
|
-
case 'Camera':
|
548
|
-
return /*#__PURE__*/_react["default"].createElement(Camera, {
|
549
|
-
ref: function ref(c) {
|
550
|
-
return _this8.inputs[item.fieldName] = c;
|
551
|
-
},
|
552
|
-
readOnly: _this8.props.readOnly || item.readOnly,
|
553
|
-
print: _this8.props.print,
|
554
|
-
mutable: true,
|
555
|
-
key: "form_".concat(item.id),
|
556
|
-
data: item,
|
557
|
-
defaultValue: _this8._getDefaultValue(item),
|
558
|
-
hideRequiredAlert: _this8.props.hideRequiredAlert || item.hideRequiredAlert
|
559
|
-
});
|
560
|
-
case 'FileUpload':
|
561
|
-
return /*#__PURE__*/_react["default"].createElement(FileUpload, {
|
562
|
-
ref: function ref(c) {
|
563
|
-
return _this8.inputs[item.fieldName] = c;
|
564
|
-
},
|
565
|
-
readOnly: _this8.props.readOnly || item.readOnly,
|
566
|
-
print: _this8.props.print,
|
567
|
-
mutable: true,
|
568
|
-
key: "form_".concat(item.id),
|
569
|
-
data: item,
|
570
|
-
hideRequiredAlert: _this8.props.hideRequiredAlert || item.hideRequiredAlert,
|
571
|
-
defaultValue: _this8._getDefaultValue(item)
|
572
|
-
});
|
573
|
-
default:
|
574
|
-
return _this8.getSimpleElement(item);
|
575
|
-
}
|
576
|
-
});
|
577
|
-
var formTokenStyle = {
|
578
|
-
display: 'none'
|
579
|
-
};
|
580
|
-
var formProps = {};
|
581
|
-
if (this.props.formId) {
|
582
|
-
formProps.id = this.props.formId;
|
583
|
-
}
|
584
|
-
return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_surveyValidator["default"], {
|
585
|
-
emitter: this.emitter
|
586
|
-
}), /*#__PURE__*/_react["default"].createElement("div", {
|
587
|
-
className: "react-survey-builder-form"
|
588
|
-
}, /*#__PURE__*/_react["default"].createElement("form", (0, _extends2["default"])({
|
589
|
-
encType: "multipart/form-data",
|
590
|
-
ref: function ref(c) {
|
591
|
-
return _this8.form = c;
|
592
|
-
},
|
593
|
-
action: this.props.formAction,
|
594
|
-
onBlur: this.handleBlur,
|
595
|
-
onChange: this.handleChange,
|
596
|
-
onSubmit: this.handleSubmit,
|
597
|
-
method: this.props.formMethod
|
598
|
-
}, formProps), this.props.authenticity_token && /*#__PURE__*/_react["default"].createElement("div", {
|
599
|
-
style: formTokenStyle
|
600
|
-
}, /*#__PURE__*/_react["default"].createElement("input", {
|
601
|
-
name: "utf8",
|
602
|
-
type: "hidden",
|
603
|
-
value: "\u2713"
|
604
|
-
}), /*#__PURE__*/_react["default"].createElement("input", {
|
605
|
-
name: "authenticity_token",
|
606
|
-
type: "hidden",
|
607
|
-
value: this.props.authenticity_token
|
608
|
-
}), /*#__PURE__*/_react["default"].createElement("input", {
|
609
|
-
name: "task_id",
|
610
|
-
type: "hidden",
|
611
|
-
value: this.props.task_id
|
612
|
-
})), items, /*#__PURE__*/_react["default"].createElement("div", {
|
613
|
-
className: this.props.buttonClassName ? this.props.buttonClassName : 'btn-toolbar'
|
614
|
-
}, !this.props.hideActions && this.handleRenderSubmit(), !this.props.hideActions && this.props.backAction && this.handleRenderBack()))));
|
615
|
-
}
|
616
|
-
}]);
|
617
|
-
return ReactSurvey;
|
618
|
-
}(_react["default"].Component);
|
619
|
-
var _default = exports["default"] = (0, _reactIntl.injectIntl)(ReactSurvey);
|
620
|
-
ReactSurvey.defaultProps = {
|
621
|
-
validateForCorrectness: false
|
622
|
-
};
|
@@ -1,15 +0,0 @@
|
|
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 _reactIntl = require("react-intl");
|
10
|
-
var InjectMessage = function InjectMessage(props) {
|
11
|
-
return /*#__PURE__*/_react["default"].createElement(_reactIntl.FormattedMessage, props);
|
12
|
-
};
|
13
|
-
var _default = exports["default"] = (0, _reactIntl.injectIntl)(InjectMessage, {
|
14
|
-
withRef: false
|
15
|
-
});
|
@@ -1,16 +0,0 @@
|
|
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 _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
9
|
-
var _enUs = _interopRequireDefault(require("../locales/en-us.json"));
|
10
|
-
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; }
|
11
|
-
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; }
|
12
|
-
var EnLang = {
|
13
|
-
messages: _objectSpread({}, _enUs["default"]),
|
14
|
-
locale: 'en-US'
|
15
|
-
};
|
16
|
-
var _default = exports["default"] = EnLang;
|
@@ -1,18 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
5
|
-
value: true
|
6
|
-
});
|
7
|
-
exports["default"] = exports.AppLanguages = void 0;
|
8
|
-
var _enUs = _interopRequireDefault(require("./entries/en-us"));
|
9
|
-
var AppLanguages = exports.AppLanguages = [{
|
10
|
-
languageId: 'english',
|
11
|
-
locale: 'en',
|
12
|
-
name: 'English',
|
13
|
-
icon: 'us'
|
14
|
-
}];
|
15
|
-
var AppLocale = {
|
16
|
-
en: _enUs["default"]
|
17
|
-
};
|
18
|
-
var _default = exports["default"] = AppLocale;
|