@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.
Files changed (54) hide show
  1. package/LICENSE +7 -0
  2. package/README.md +250 -0
  3. package/dist/1.app.js +1 -0
  4. package/dist/app.css +38 -0
  5. package/dist/app.css.map +1 -0
  6. package/dist/app.js +71 -0
  7. package/lib/ItemTypes.js +11 -0
  8. package/lib/UUID.js +67 -0
  9. package/lib/dynamic-option-list.js +189 -0
  10. package/lib/fieldset/FieldSet.js +121 -0
  11. package/lib/fieldset/index.js +13 -0
  12. package/lib/form-dynamic-edit.js +57 -0
  13. package/lib/form-elements/component-drag-handle.js +91 -0
  14. package/lib/form-elements/component-drag-layer.js +69 -0
  15. package/lib/form-elements/component-drag-preview.js +61 -0
  16. package/lib/form-elements/component-header.js +30 -0
  17. package/lib/form-elements/component-label.js +30 -0
  18. package/lib/form-elements/custom-element.js +74 -0
  19. package/lib/form-elements/date-picker.js +185 -0
  20. package/lib/form-elements/header-bar.js +55 -0
  21. package/lib/form-elements/index.js +1144 -0
  22. package/lib/form-elements/myxss.js +30 -0
  23. package/lib/form-elements/star-rating.js +338 -0
  24. package/lib/form-elements-edit.js +740 -0
  25. package/lib/form-place-holder.js +52 -0
  26. package/lib/form-validator.js +104 -0
  27. package/lib/form.js +592 -0
  28. package/lib/functions/index.js +47 -0
  29. package/lib/index.js +142 -0
  30. package/lib/language-provider/IntlMessages.js +16 -0
  31. package/lib/language-provider/entries/en-us.js +17 -0
  32. package/lib/language-provider/entries/fa-ir.js +17 -0
  33. package/lib/language-provider/entries/it-it.js +17 -0
  34. package/lib/language-provider/entries/vi-vn.js +17 -0
  35. package/lib/language-provider/index.js +41 -0
  36. package/lib/language-provider/locales/en-us.json +117 -0
  37. package/lib/language-provider/locales/fa-ir.json +109 -0
  38. package/lib/language-provider/locales/it-it.json +109 -0
  39. package/lib/language-provider/locales/vi-vn.json +96 -0
  40. package/lib/multi-column/MultiColumnRow.js +137 -0
  41. package/lib/multi-column/dustbin.js +156 -0
  42. package/lib/multi-column/grip.js +52 -0
  43. package/lib/multi-column/index.js +24 -0
  44. package/lib/preview.js +392 -0
  45. package/lib/sortable-element.js +177 -0
  46. package/lib/sortable-form-elements.js +66 -0
  47. package/lib/stores/registry.js +42 -0
  48. package/lib/stores/requests.js +31 -0
  49. package/lib/stores/store.js +139 -0
  50. package/lib/toolbar-draggable-item.js +60 -0
  51. package/lib/toolbar-group-item.js +40 -0
  52. package/lib/toolbar.js +726 -0
  53. package/package.json +118 -0
  54. package/types/index.d.ts +184 -0
@@ -0,0 +1,740 @@
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 _reactTextareaAutosize = _interopRequireDefault(require("react-textarea-autosize"));
15
+ var _draftJs = require("draft-js");
16
+ var _draftjsToHtml = _interopRequireDefault(require("draftjs-to-html"));
17
+ var _reactDraftWysiwyg = require("react-draft-wysiwyg");
18
+ var _dynamicOptionList = _interopRequireDefault(require("./dynamic-option-list"));
19
+ var _requests = require("./stores/requests");
20
+ var _UUID = _interopRequireDefault(require("./UUID"));
21
+ var _IntlMessages = _interopRequireDefault(require("./language-provider/IntlMessages"));
22
+ 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); }; }
23
+ 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; } }
24
+ var toolbar = {
25
+ options: ['inline', 'list', 'textAlign', 'fontSize', 'link', 'history'],
26
+ inline: {
27
+ inDropdown: false,
28
+ className: undefined,
29
+ options: ['bold', 'italic', 'underline', 'superscript', 'subscript']
30
+ }
31
+ };
32
+ var FormElementsEdit = /*#__PURE__*/function (_React$Component) {
33
+ (0, _inherits2["default"])(FormElementsEdit, _React$Component);
34
+ var _super = _createSuper(FormElementsEdit);
35
+ function FormElementsEdit(props) {
36
+ var _this;
37
+ (0, _classCallCheck2["default"])(this, FormElementsEdit);
38
+ _this = _super.call(this, props);
39
+ _this.state = {
40
+ element: _this.props.element,
41
+ data: _this.props.data,
42
+ dirty: false
43
+ };
44
+ return _this;
45
+ }
46
+ (0, _createClass2["default"])(FormElementsEdit, [{
47
+ key: "toggleRequired",
48
+ value: function toggleRequired() {
49
+ // const this_element = this.state.element;
50
+ }
51
+ }, {
52
+ key: "editElementProp",
53
+ value: function editElementProp(elemProperty, targProperty, e) {
54
+ var _this2 = this;
55
+ // elemProperty could be content or label
56
+ // targProperty could be value or checked
57
+ var this_element = this.state.element;
58
+ this_element[elemProperty] = e.target[targProperty];
59
+ this.setState({
60
+ element: this_element,
61
+ dirty: true
62
+ }, function () {
63
+ if (targProperty === 'checked') {
64
+ _this2.updateElement();
65
+ }
66
+ });
67
+ }
68
+ }, {
69
+ key: "onEditorStateChange",
70
+ value: function onEditorStateChange(index, property, editorContent) {
71
+ var html = (0, _draftjsToHtml["default"])((0, _draftJs.convertToRaw)(editorContent.getCurrentContent())).replace(/<p>/g, '<div>').replace(/<\/p>/g, '</div>');
72
+ //const html = draftToHtml(convertToRaw(editorContent.getCurrentContent())).replace(/<p>/g, '').replace(/<\/p>/g, '').replace(/&nbsp;/g, ' ')
73
+ // .replace(/(?:\r\n|\r|\n)/g, ' ');
74
+ var this_element = this.state.element;
75
+ this_element[property] = html;
76
+ this.setState({
77
+ element: this_element,
78
+ dirty: true
79
+ });
80
+ }
81
+ }, {
82
+ key: "updateElement",
83
+ value: function updateElement() {
84
+ var this_element = this.state.element;
85
+ // to prevent ajax calls with no change
86
+ if (this.state.dirty) {
87
+ this.props.updateElement.call(this.props.preview, this_element);
88
+ this.setState({
89
+ dirty: false
90
+ });
91
+ }
92
+ }
93
+ }, {
94
+ key: "convertFromHTML",
95
+ value: function convertFromHTML(content) {
96
+ var newContent = (0, _draftJs.convertFromHTML)(content);
97
+ if (!newContent.contentBlocks || !newContent.contentBlocks.length) {
98
+ // to prevent crash when no contents in editor
99
+ return _draftJs.EditorState.createEmpty();
100
+ }
101
+ var contentState = _draftJs.ContentState.createFromBlockArray(newContent);
102
+ return _draftJs.EditorState.createWithContent(contentState);
103
+ }
104
+ }, {
105
+ key: "addOptions",
106
+ value: function addOptions() {
107
+ var _this3 = this;
108
+ var optionsApiUrl = document.getElementById('optionsApiUrl').value;
109
+ if (optionsApiUrl) {
110
+ (0, _requests.get)(optionsApiUrl).then(function (data) {
111
+ _this3.props.element.options = [];
112
+ var options = _this3.props.element.options;
113
+ data.forEach(function (x) {
114
+ // eslint-disable-next-line no-param-reassign
115
+ x.key = _UUID["default"].uuid();
116
+ options.push(x);
117
+ });
118
+ var this_element = _this3.state.element;
119
+ _this3.setState({
120
+ element: this_element,
121
+ dirty: true
122
+ });
123
+ });
124
+ }
125
+ }
126
+ }, {
127
+ key: "render",
128
+ value: function render() {
129
+ if (this.state.dirty) {
130
+ this.props.element.dirty = true;
131
+ }
132
+ var this_checked = this.props.element.hasOwnProperty('required') ? this.props.element.required : false;
133
+ var this_read_only = this.props.element.hasOwnProperty('readOnly') ? this.props.element.readOnly : false;
134
+ var this_default_today = this.props.element.hasOwnProperty('defaultToday') ? this.props.element.defaultToday : false;
135
+ var this_show_time_select = this.props.element.hasOwnProperty('showTimeSelect') ? this.props.element.showTimeSelect : false;
136
+ var this_show_time_select_only = this.props.element.hasOwnProperty('showTimeSelectOnly') ? this.props.element.showTimeSelectOnly : false;
137
+ var this_show_time_input = this.props.element.hasOwnProperty('showTimeInput') ? this.props.element.showTimeInput : false;
138
+ var this_checked_inline = this.props.element.hasOwnProperty('inline') ? this.props.element.inline : false;
139
+ var this_checked_bold = this.props.element.hasOwnProperty('bold') ? this.props.element.bold : false;
140
+ var this_checked_italic = this.props.element.hasOwnProperty('italic') ? this.props.element.italic : false;
141
+ var this_checked_center = this.props.element.hasOwnProperty('center') ? this.props.element.center : false;
142
+ var this_checked_page_break = this.props.element.hasOwnProperty('pageBreakBefore') ? this.props.element.pageBreakBefore : false;
143
+ var this_checked_alternate_form = this.props.element.hasOwnProperty('alternateForm') ? this.props.element.alternateForm : false;
144
+ var _this$props$element = this.props.element,
145
+ canHavePageBreakBefore = _this$props$element.canHavePageBreakBefore,
146
+ canHaveAlternateForm = _this$props$element.canHaveAlternateForm,
147
+ canHaveDisplayHorizontal = _this$props$element.canHaveDisplayHorizontal,
148
+ canHaveOptionCorrect = _this$props$element.canHaveOptionCorrect,
149
+ canHaveOptionValue = _this$props$element.canHaveOptionValue;
150
+ var canHaveImageSize = this.state.element.element === 'Image' || this.state.element.element === 'Camera';
151
+ var this_files = this.props.files.length ? this.props.files : [];
152
+ if (this_files.length < 1 || this_files.length > 0 && this_files[0].id !== '') {
153
+ this_files.unshift({
154
+ id: '',
155
+ file_name: ''
156
+ });
157
+ }
158
+ var editorState;
159
+ if (this.props.element.hasOwnProperty('content')) {
160
+ editorState = this.convertFromHTML(this.props.element.content);
161
+ }
162
+ if (this.props.element.hasOwnProperty('label')) {
163
+ editorState = this.convertFromHTML(this.props.element.label);
164
+ }
165
+ return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("div", {
166
+ className: "clearfix"
167
+ }, /*#__PURE__*/_react["default"].createElement("h4", {
168
+ className: "float-left"
169
+ }, this.props.element.text), /*#__PURE__*/_react["default"].createElement("i", {
170
+ className: "float-right fas fa-times dismiss-edit",
171
+ onClick: this.props.manualEditModeOff
172
+ })), this.props.element.hasOwnProperty('content') && /*#__PURE__*/_react["default"].createElement("div", {
173
+ className: "form-group"
174
+ }, /*#__PURE__*/_react["default"].createElement("label", {
175
+ className: "control-label"
176
+ }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
177
+ id: "text-to-display"
178
+ }), ":"), /*#__PURE__*/_react["default"].createElement(_reactDraftWysiwyg.Editor, {
179
+ toolbar: toolbar,
180
+ defaultEditorState: editorState,
181
+ onBlur: this.updateElement.bind(this),
182
+ onEditorStateChange: this.onEditorStateChange.bind(this, 0, 'content'),
183
+ stripPastedStyles: true
184
+ })), this.props.element.hasOwnProperty('file_path') && /*#__PURE__*/_react["default"].createElement("div", {
185
+ className: "form-group"
186
+ }, /*#__PURE__*/_react["default"].createElement("label", {
187
+ className: "control-label",
188
+ htmlFor: "fileSelect"
189
+ }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
190
+ id: "choose-file"
191
+ }), ":"), /*#__PURE__*/_react["default"].createElement("select", {
192
+ id: "fileSelect",
193
+ className: "form-control",
194
+ defaultValue: this.props.element.file_path,
195
+ onBlur: this.updateElement.bind(this),
196
+ onChange: this.editElementProp.bind(this, 'file_path', 'value')
197
+ }, this_files.map(function (file) {
198
+ var this_key = "file_".concat(file.id);
199
+ return /*#__PURE__*/_react["default"].createElement("option", {
200
+ value: file.id,
201
+ key: this_key
202
+ }, file.file_name);
203
+ }))), this.props.element.hasOwnProperty('href') && /*#__PURE__*/_react["default"].createElement("div", {
204
+ className: "form-group"
205
+ }, /*#__PURE__*/_react["default"].createElement(_reactTextareaAutosize["default"], {
206
+ type: "text",
207
+ className: "form-control",
208
+ defaultValue: this.props.element.href,
209
+ onBlur: this.updateElement.bind(this),
210
+ onChange: this.editElementProp.bind(this, 'href', 'value')
211
+ })), this.props.element.hasOwnProperty('label') && /*#__PURE__*/_react["default"].createElement("div", {
212
+ className: "form-group"
213
+ }, /*#__PURE__*/_react["default"].createElement("label", null, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
214
+ id: "display-label"
215
+ })), /*#__PURE__*/_react["default"].createElement(_reactDraftWysiwyg.Editor, {
216
+ toolbar: toolbar,
217
+ defaultEditorState: editorState,
218
+ onBlur: this.updateElement.bind(this),
219
+ onEditorStateChange: this.onEditorStateChange.bind(this, 0, 'label'),
220
+ stripPastedStyles: true
221
+ }), /*#__PURE__*/_react["default"].createElement("br", null), /*#__PURE__*/_react["default"].createElement("div", {
222
+ className: "custom-control custom-checkbox"
223
+ }, /*#__PURE__*/_react["default"].createElement("input", {
224
+ id: "is-required",
225
+ className: "custom-control-input",
226
+ type: "checkbox",
227
+ checked: this_checked,
228
+ value: true,
229
+ onChange: this.editElementProp.bind(this, 'required', 'checked')
230
+ }), /*#__PURE__*/_react["default"].createElement("label", {
231
+ className: "custom-control-label",
232
+ htmlFor: "is-required"
233
+ }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
234
+ id: "required"
235
+ }))), this.props.element.hasOwnProperty('readOnly') && /*#__PURE__*/_react["default"].createElement("div", {
236
+ className: "custom-control custom-checkbox"
237
+ }, /*#__PURE__*/_react["default"].createElement("input", {
238
+ id: "is-read-only",
239
+ className: "custom-control-input",
240
+ type: "checkbox",
241
+ checked: this_read_only,
242
+ value: true,
243
+ onChange: this.editElementProp.bind(this, 'readOnly', 'checked')
244
+ }), /*#__PURE__*/_react["default"].createElement("label", {
245
+ className: "custom-control-label",
246
+ htmlFor: "is-read-only"
247
+ }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
248
+ id: "read-only"
249
+ }))), this.props.element.hasOwnProperty('defaultToday') && /*#__PURE__*/_react["default"].createElement("div", {
250
+ className: "custom-control custom-checkbox"
251
+ }, /*#__PURE__*/_react["default"].createElement("input", {
252
+ id: "is-default-to-today",
253
+ className: "custom-control-input",
254
+ type: "checkbox",
255
+ checked: this_default_today,
256
+ value: true,
257
+ onChange: this.editElementProp.bind(this, 'defaultToday', 'checked')
258
+ }), /*#__PURE__*/_react["default"].createElement("label", {
259
+ className: "custom-control-label",
260
+ htmlFor: "is-default-to-today"
261
+ }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
262
+ id: "default-to-today"
263
+ }), "?")), this.props.element.hasOwnProperty('showTimeSelect') && /*#__PURE__*/_react["default"].createElement("div", {
264
+ className: "custom-control custom-checkbox"
265
+ }, /*#__PURE__*/_react["default"].createElement("input", {
266
+ id: "show-time-select",
267
+ className: "custom-control-input",
268
+ type: "checkbox",
269
+ checked: this_show_time_select,
270
+ value: true,
271
+ onChange: this.editElementProp.bind(this, 'showTimeSelect', 'checked')
272
+ }), /*#__PURE__*/_react["default"].createElement("label", {
273
+ className: "custom-control-label",
274
+ htmlFor: "show-time-select"
275
+ }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
276
+ id: "show-time-select"
277
+ }), "?")), this_show_time_select && this.props.element.hasOwnProperty('showTimeSelectOnly') && /*#__PURE__*/_react["default"].createElement("div", {
278
+ className: "custom-control custom-checkbox"
279
+ }, /*#__PURE__*/_react["default"].createElement("input", {
280
+ id: "show-time-select-only",
281
+ className: "custom-control-input",
282
+ type: "checkbox",
283
+ checked: this_show_time_select_only,
284
+ value: true,
285
+ onChange: this.editElementProp.bind(this, 'showTimeSelectOnly', 'checked')
286
+ }), /*#__PURE__*/_react["default"].createElement("label", {
287
+ className: "custom-control-label",
288
+ htmlFor: "show-time-select-only"
289
+ }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
290
+ id: "show-time-select-only"
291
+ }), "?")), this.props.element.hasOwnProperty('showTimeInput') && /*#__PURE__*/_react["default"].createElement("div", {
292
+ className: "custom-control custom-checkbox"
293
+ }, /*#__PURE__*/_react["default"].createElement("input", {
294
+ id: "show-time-input",
295
+ className: "custom-control-input",
296
+ type: "checkbox",
297
+ checked: this_show_time_input,
298
+ value: true,
299
+ onChange: this.editElementProp.bind(this, 'showTimeInput', 'checked')
300
+ }), /*#__PURE__*/_react["default"].createElement("label", {
301
+ className: "custom-control-label",
302
+ htmlFor: "show-time-input"
303
+ }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
304
+ id: "show-time-input"
305
+ }), "?")), (this.state.element.element === 'RadioButtons' || this.state.element.element === 'Checkboxes') && canHaveDisplayHorizontal && /*#__PURE__*/_react["default"].createElement("div", {
306
+ className: "custom-control custom-checkbox"
307
+ }, /*#__PURE__*/_react["default"].createElement("input", {
308
+ id: "display-horizontal",
309
+ className: "custom-control-input",
310
+ type: "checkbox",
311
+ checked: this_checked_inline,
312
+ value: true,
313
+ onChange: this.editElementProp.bind(this, 'inline', 'checked')
314
+ }), /*#__PURE__*/_react["default"].createElement("label", {
315
+ className: "custom-control-label",
316
+ htmlFor: "display-horizontal"
317
+ }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
318
+ id: "display-horizontal"
319
+ })))), this.props.element.hasOwnProperty('src') && /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("div", {
320
+ className: "form-group"
321
+ }, /*#__PURE__*/_react["default"].createElement("label", {
322
+ className: "control-label",
323
+ htmlFor: "srcInput"
324
+ }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
325
+ id: "link-to"
326
+ }), ":"), /*#__PURE__*/_react["default"].createElement("input", {
327
+ id: "srcInput",
328
+ type: "text",
329
+ className: "form-control",
330
+ defaultValue: this.props.element.src,
331
+ onBlur: this.updateElement.bind(this),
332
+ onChange: this.editElementProp.bind(this, 'src', 'value')
333
+ }))), canHaveImageSize && /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("div", {
334
+ className: "form-group"
335
+ }, /*#__PURE__*/_react["default"].createElement("div", {
336
+ className: "custom-control custom-checkbox"
337
+ }, /*#__PURE__*/_react["default"].createElement("input", {
338
+ id: "do-center",
339
+ className: "custom-control-input",
340
+ type: "checkbox",
341
+ checked: this_checked_center,
342
+ value: true,
343
+ onChange: this.editElementProp.bind(this, 'center', 'checked')
344
+ }), /*#__PURE__*/_react["default"].createElement("label", {
345
+ className: "custom-control-label",
346
+ htmlFor: "do-center"
347
+ }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
348
+ id: "center"
349
+ }), "?"))), /*#__PURE__*/_react["default"].createElement("div", {
350
+ className: "row"
351
+ }, /*#__PURE__*/_react["default"].createElement("div", {
352
+ className: "col-sm-3"
353
+ }, /*#__PURE__*/_react["default"].createElement("label", {
354
+ className: "control-label",
355
+ htmlFor: "elementWidth"
356
+ }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
357
+ id: "width"
358
+ }), ":"), /*#__PURE__*/_react["default"].createElement("input", {
359
+ id: "elementWidth",
360
+ type: "text",
361
+ className: "form-control",
362
+ defaultValue: this.props.element.width,
363
+ onBlur: this.updateElement.bind(this),
364
+ onChange: this.editElementProp.bind(this, 'width', 'value')
365
+ })), /*#__PURE__*/_react["default"].createElement("div", {
366
+ className: "col-sm-3"
367
+ }, /*#__PURE__*/_react["default"].createElement("label", {
368
+ className: "control-label",
369
+ htmlFor: "elementHeight"
370
+ }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
371
+ id: "height"
372
+ }), ":"), /*#__PURE__*/_react["default"].createElement("input", {
373
+ id: "elementHeight",
374
+ type: "text",
375
+ className: "form-control",
376
+ defaultValue: this.props.element.height,
377
+ onBlur: this.updateElement.bind(this),
378
+ onChange: this.editElementProp.bind(this, 'height', 'value')
379
+ })))), this.state.element.element === 'Camera' && /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("div", {
380
+ className: "form-group"
381
+ }, /*#__PURE__*/_react["default"].createElement("label", {
382
+ className: "control-label",
383
+ htmlFor: "LabelAfterCameraIcon"
384
+ }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
385
+ id: "display-label-after-camera-icon"
386
+ }), ":"), /*#__PURE__*/_react["default"].createElement("input", {
387
+ id: "LabelAfterCameraIcon",
388
+ type: "text",
389
+ className: "form-control",
390
+ defaultValue: this.props.element.label_after_camera_icon,
391
+ onBlur: this.updateElement.bind(this),
392
+ onChange: this.editElementProp.bind(this, 'label_after_camera_icon', 'value')
393
+ })), /*#__PURE__*/_react["default"].createElement("div", {
394
+ className: "form-group"
395
+ }, /*#__PURE__*/_react["default"].createElement("label", {
396
+ className: "control-label",
397
+ htmlFor: "MessageUnderCameraIcon"
398
+ }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
399
+ id: "display-message-under-camera-icon"
400
+ }), ":"), /*#__PURE__*/_react["default"].createElement("input", {
401
+ id: "MessageUnderCameraIcon",
402
+ type: "text",
403
+ className: "form-control",
404
+ defaultValue: this.props.element.message_under_camera_icon,
405
+ onBlur: this.updateElement.bind(this),
406
+ onChange: this.editElementProp.bind(this, 'message_under_camera_icon', 'value')
407
+ })), /*#__PURE__*/_react["default"].createElement("div", {
408
+ className: "form-group"
409
+ }, /*#__PURE__*/_react["default"].createElement("label", {
410
+ className: "control-label",
411
+ htmlFor: "LabelAfterPhotoClearIcon"
412
+ }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
413
+ id: "display-label-after-photo-clear-icon"
414
+ }), ":"), /*#__PURE__*/_react["default"].createElement("input", {
415
+ id: "LabelAfterPhotoClearIcon",
416
+ type: "text",
417
+ className: "form-control",
418
+ defaultValue: this.props.element.label_after_photo_clear_icon,
419
+ onBlur: this.updateElement.bind(this),
420
+ onChange: this.editElementProp.bind(this, 'label_after_photo_clear_icon', 'value')
421
+ }))), this.state.element.element === 'FileUpload' && /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("div", {
422
+ className: "form-group"
423
+ }, /*#__PURE__*/_react["default"].createElement("label", {
424
+ className: "control-label",
425
+ htmlFor: "LabelAfterFileIcon"
426
+ }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
427
+ id: "display-label-after-file-icon"
428
+ }), ":"), /*#__PURE__*/_react["default"].createElement("input", {
429
+ id: "LabelAfterFileIcon",
430
+ type: "text",
431
+ className: "form-control",
432
+ defaultValue: this.props.element.label_after_file_icon,
433
+ onBlur: this.updateElement.bind(this),
434
+ onChange: this.editElementProp.bind(this, 'label_after_file_icon', 'value')
435
+ })), /*#__PURE__*/_react["default"].createElement("div", {
436
+ className: "form-group"
437
+ }, /*#__PURE__*/_react["default"].createElement("label", {
438
+ className: "control-label",
439
+ htmlFor: "MessageUnderFileIcon"
440
+ }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
441
+ id: "display-message-under-file-icon"
442
+ }), ":"), /*#__PURE__*/_react["default"].createElement("input", {
443
+ id: "MessageUnderFileIcon",
444
+ type: "text",
445
+ className: "form-control",
446
+ defaultValue: this.props.element.message_under_file_icon,
447
+ onBlur: this.updateElement.bind(this),
448
+ onChange: this.editElementProp.bind(this, 'message_under_file_icon', 'value')
449
+ })), /*#__PURE__*/_react["default"].createElement("div", {
450
+ className: "form-group"
451
+ }, /*#__PURE__*/_react["default"].createElement("label", {
452
+ className: "control-label",
453
+ htmlFor: "LabelAfterFileClearIcon"
454
+ }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
455
+ id: "display-label-after-file-clear-icon"
456
+ }), ":"), /*#__PURE__*/_react["default"].createElement("input", {
457
+ id: "LabelAfterFileClearIcon",
458
+ type: "text",
459
+ className: "form-control",
460
+ defaultValue: this.props.element.label_after_file_clear_icon,
461
+ onBlur: this.updateElement.bind(this),
462
+ onChange: this.editElementProp.bind(this, 'label_after_file_clear_icon', 'value')
463
+ })), /*#__PURE__*/_react["default"].createElement("div", {
464
+ className: "form-group"
465
+ }, /*#__PURE__*/_react["default"].createElement("label", {
466
+ className: "control-label",
467
+ htmlFor: "fileType"
468
+ }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
469
+ id: "choose-file-type"
470
+ }), ":"), /*#__PURE__*/_react["default"].createElement("select", {
471
+ id: "fileType",
472
+ className: "form-control",
473
+ onBlur: this.updateElement.bind(this),
474
+ onChange: this.editElementProp.bind(this, 'fileType', 'value')
475
+ }, [{
476
+ type: 'image, application/pdf, application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document, application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-powerpoint, application/vnd.openxmlformats-officedocument.presentationml.presentation, video/mp4,video/x-m4v,video/*',
477
+ typeName: 'All File Type'
478
+ }, {
479
+ type: 'image',
480
+ typeName: 'Image'
481
+ }, {
482
+ type: 'application/pdf',
483
+ typeName: 'PDF'
484
+ }, {
485
+ type: 'application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document',
486
+ typeName: 'Word'
487
+ }, {
488
+ type: 'application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
489
+ typeName: 'Excel'
490
+ }, {
491
+ type: 'application/vnd.ms-powerpoint, application/vnd.openxmlformats-officedocument.presentationml.presentation',
492
+ typeName: 'Powerpoint'
493
+ }, {
494
+ type: 'video/mp4,video/x-m4v,video/*',
495
+ typeName: 'Videos'
496
+ }].map(function (file, index) {
497
+ return /*#__PURE__*/_react["default"].createElement("option", {
498
+ value: file.type,
499
+ key: index
500
+ }, file.typeName);
501
+ })))), this.state.element.element === 'Signature' && this.props.element.readOnly ? /*#__PURE__*/_react["default"].createElement("div", {
502
+ className: "form-group"
503
+ }, /*#__PURE__*/_react["default"].createElement("label", {
504
+ className: "control-label",
505
+ htmlFor: "variableKey"
506
+ }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
507
+ id: "variable-key"
508
+ }), ":"), /*#__PURE__*/_react["default"].createElement("input", {
509
+ id: "variableKey",
510
+ type: "text",
511
+ className: "form-control",
512
+ defaultValue: this.props.element.variableKey,
513
+ onBlur: this.updateElement.bind(this),
514
+ onChange: this.editElementProp.bind(this, 'variableKey', 'value')
515
+ }), /*#__PURE__*/_react["default"].createElement("p", {
516
+ className: "help-block"
517
+ }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
518
+ id: "variable-key-desc"
519
+ }), ".")) : /*#__PURE__*/_react["default"].createElement("div", null), canHavePageBreakBefore && /*#__PURE__*/_react["default"].createElement("div", {
520
+ className: "form-group"
521
+ }, /*#__PURE__*/_react["default"].createElement("label", {
522
+ className: "control-label"
523
+ }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
524
+ id: "print-options"
525
+ })), /*#__PURE__*/_react["default"].createElement("div", {
526
+ className: "custom-control custom-checkbox"
527
+ }, /*#__PURE__*/_react["default"].createElement("input", {
528
+ id: "page-break-before-element",
529
+ className: "custom-control-input",
530
+ type: "checkbox",
531
+ checked: this_checked_page_break,
532
+ value: true,
533
+ onChange: this.editElementProp.bind(this, 'pageBreakBefore', 'checked')
534
+ }), /*#__PURE__*/_react["default"].createElement("label", {
535
+ className: "custom-control-label",
536
+ htmlFor: "page-break-before-element"
537
+ }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
538
+ id: "page-break-before-elements"
539
+ }), "?"))), canHaveAlternateForm && /*#__PURE__*/_react["default"].createElement("div", {
540
+ className: "form-group"
541
+ }, /*#__PURE__*/_react["default"].createElement("label", {
542
+ className: "control-label"
543
+ }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
544
+ id: "alternate-signature-page"
545
+ })), /*#__PURE__*/_react["default"].createElement("div", {
546
+ className: "custom-control custom-checkbox"
547
+ }, /*#__PURE__*/_react["default"].createElement("input", {
548
+ id: "display-on-alternate",
549
+ className: "custom-control-input",
550
+ type: "checkbox",
551
+ checked: this_checked_alternate_form,
552
+ value: true,
553
+ onChange: this.editElementProp.bind(this, 'alternateForm', 'checked')
554
+ }), /*#__PURE__*/_react["default"].createElement("label", {
555
+ className: "custom-control-label",
556
+ htmlFor: "display-on-alternate"
557
+ }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
558
+ id: "display-on-alternate-signature-page"
559
+ }), "?"))), this.props.element.hasOwnProperty('step') && /*#__PURE__*/_react["default"].createElement("div", {
560
+ className: "form-group"
561
+ }, /*#__PURE__*/_react["default"].createElement("div", {
562
+ className: "form-group-range"
563
+ }, /*#__PURE__*/_react["default"].createElement("label", {
564
+ className: "control-label",
565
+ htmlFor: "rangeStep"
566
+ }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
567
+ id: "step"
568
+ })), /*#__PURE__*/_react["default"].createElement("input", {
569
+ id: "rangeStep",
570
+ type: "number",
571
+ className: "form-control",
572
+ defaultValue: this.props.element.step,
573
+ onBlur: this.updateElement.bind(this),
574
+ onChange: this.editElementProp.bind(this, 'step', 'value')
575
+ }))), this.props.element.hasOwnProperty('min_value') && /*#__PURE__*/_react["default"].createElement("div", {
576
+ className: "form-group"
577
+ }, /*#__PURE__*/_react["default"].createElement("div", {
578
+ className: "form-group-range"
579
+ }, /*#__PURE__*/_react["default"].createElement("label", {
580
+ className: "control-label",
581
+ htmlFor: "rangeMin"
582
+ }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
583
+ id: "min"
584
+ })), /*#__PURE__*/_react["default"].createElement("input", {
585
+ id: "rangeMin",
586
+ type: "number",
587
+ className: "form-control",
588
+ defaultValue: this.props.element.min_value,
589
+ onBlur: this.updateElement.bind(this),
590
+ onChange: this.editElementProp.bind(this, 'min_value', 'value')
591
+ }), /*#__PURE__*/_react["default"].createElement("input", {
592
+ type: "text",
593
+ className: "form-control",
594
+ defaultValue: this.props.element.min_label,
595
+ onBlur: this.updateElement.bind(this),
596
+ onChange: this.editElementProp.bind(this, 'min_label', 'value')
597
+ }))), this.props.element.hasOwnProperty('max_value') && /*#__PURE__*/_react["default"].createElement("div", {
598
+ className: "form-group"
599
+ }, /*#__PURE__*/_react["default"].createElement("div", {
600
+ className: "form-group-range"
601
+ }, /*#__PURE__*/_react["default"].createElement("label", {
602
+ className: "control-label",
603
+ htmlFor: "rangeMax"
604
+ }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
605
+ id: "max"
606
+ })), /*#__PURE__*/_react["default"].createElement("input", {
607
+ id: "rangeMax",
608
+ type: "number",
609
+ className: "form-control",
610
+ defaultValue: this.props.element.max_value,
611
+ onBlur: this.updateElement.bind(this),
612
+ onChange: this.editElementProp.bind(this, 'max_value', 'value')
613
+ }), /*#__PURE__*/_react["default"].createElement("input", {
614
+ type: "text",
615
+ className: "form-control",
616
+ defaultValue: this.props.element.max_label,
617
+ onBlur: this.updateElement.bind(this),
618
+ onChange: this.editElementProp.bind(this, 'max_label', 'value')
619
+ }))), this.props.element.hasOwnProperty('default_value') && /*#__PURE__*/_react["default"].createElement("div", {
620
+ className: "form-group"
621
+ }, /*#__PURE__*/_react["default"].createElement("div", {
622
+ className: "form-group-range"
623
+ }, /*#__PURE__*/_react["default"].createElement("label", {
624
+ className: "control-label",
625
+ htmlFor: "defaultSelected"
626
+ }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
627
+ id: "default-selected"
628
+ })), /*#__PURE__*/_react["default"].createElement("input", {
629
+ id: "defaultSelected",
630
+ type: "number",
631
+ className: "form-control",
632
+ defaultValue: this.props.element.default_value,
633
+ onBlur: this.updateElement.bind(this),
634
+ onChange: this.editElementProp.bind(this, 'default_value', 'value')
635
+ }))), this.props.element.hasOwnProperty('static') && this.props.element["static"] && /*#__PURE__*/_react["default"].createElement("div", {
636
+ className: "form-group"
637
+ }, /*#__PURE__*/_react["default"].createElement("label", {
638
+ className: "control-label"
639
+ }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
640
+ id: "text-style"
641
+ })), /*#__PURE__*/_react["default"].createElement("div", {
642
+ className: "custom-control custom-checkbox"
643
+ }, /*#__PURE__*/_react["default"].createElement("input", {
644
+ id: "do-bold",
645
+ className: "custom-control-input",
646
+ type: "checkbox",
647
+ checked: this_checked_bold,
648
+ value: true,
649
+ onChange: this.editElementProp.bind(this, 'bold', 'checked')
650
+ }), /*#__PURE__*/_react["default"].createElement("label", {
651
+ className: "custom-control-label",
652
+ htmlFor: "do-bold"
653
+ }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
654
+ id: "bold"
655
+ }))), /*#__PURE__*/_react["default"].createElement("div", {
656
+ className: "custom-control custom-checkbox"
657
+ }, /*#__PURE__*/_react["default"].createElement("input", {
658
+ id: "do-italic",
659
+ className: "custom-control-input",
660
+ type: "checkbox",
661
+ checked: this_checked_italic,
662
+ value: true,
663
+ onChange: this.editElementProp.bind(this, 'italic', 'checked')
664
+ }), /*#__PURE__*/_react["default"].createElement("label", {
665
+ className: "custom-control-label",
666
+ htmlFor: "do-italic"
667
+ }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
668
+ id: "italic"
669
+ })))), this.props.element.showDescription && /*#__PURE__*/_react["default"].createElement("div", {
670
+ className: "form-group"
671
+ }, /*#__PURE__*/_react["default"].createElement("label", {
672
+ className: "control-label",
673
+ htmlFor: "questionDescription"
674
+ }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
675
+ id: "description"
676
+ })), /*#__PURE__*/_react["default"].createElement(_reactTextareaAutosize["default"], {
677
+ type: "text",
678
+ className: "form-control",
679
+ id: "questionDescription",
680
+ defaultValue: this.props.element.description,
681
+ onBlur: this.updateElement.bind(this),
682
+ onChange: this.editElementProp.bind(this, 'description', 'value')
683
+ })), this.props.showCorrectColumn && this.props.element.canHaveAnswer && !this.props.element.hasOwnProperty('options') && /*#__PURE__*/_react["default"].createElement("div", {
684
+ className: "form-group"
685
+ }, /*#__PURE__*/_react["default"].createElement("label", {
686
+ className: "control-label",
687
+ htmlFor: "correctAnswer"
688
+ }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
689
+ id: "correct-answer"
690
+ })), /*#__PURE__*/_react["default"].createElement("input", {
691
+ id: "correctAnswer",
692
+ type: "text",
693
+ className: "form-control",
694
+ defaultValue: this.props.element.correct,
695
+ onBlur: this.updateElement.bind(this),
696
+ onChange: this.editElementProp.bind(this, 'correct', 'value')
697
+ })), this.props.element.canPopulateFromApi && this.props.element.hasOwnProperty('options') && /*#__PURE__*/_react["default"].createElement("div", {
698
+ className: "form-group"
699
+ }, /*#__PURE__*/_react["default"].createElement("label", {
700
+ className: "control-label",
701
+ htmlFor: "optionsApiUrl"
702
+ }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
703
+ id: "populate-options-from-api"
704
+ })), /*#__PURE__*/_react["default"].createElement("div", {
705
+ className: "row"
706
+ }, /*#__PURE__*/_react["default"].createElement("div", {
707
+ className: "col-sm-6"
708
+ }, /*#__PURE__*/_react["default"].createElement("input", {
709
+ className: "form-control",
710
+ style: {
711
+ width: '100%'
712
+ },
713
+ type: "text",
714
+ id: "optionsApiUrl",
715
+ placeholder: "http://localhost:8080/api/optionsdata"
716
+ })), /*#__PURE__*/_react["default"].createElement("div", {
717
+ className: "col-sm-6"
718
+ }, /*#__PURE__*/_react["default"].createElement("button", {
719
+ onClick: this.addOptions.bind(this),
720
+ className: "btn btn-success"
721
+ }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
722
+ id: "populate"
723
+ }))))), this.props.element.hasOwnProperty('options') && /*#__PURE__*/_react["default"].createElement(_dynamicOptionList["default"], {
724
+ showCorrectColumn: this.props.showCorrectColumn,
725
+ canHaveOptionCorrect: canHaveOptionCorrect,
726
+ canHaveOptionValue: canHaveOptionValue,
727
+ data: this.props.preview.state.data,
728
+ updateElement: this.props.updateElement,
729
+ preview: this.props.preview,
730
+ element: this.props.element,
731
+ key: this.props.element.options.length
732
+ }));
733
+ }
734
+ }]);
735
+ return FormElementsEdit;
736
+ }(_react["default"].Component);
737
+ exports["default"] = FormElementsEdit;
738
+ FormElementsEdit.defaultProps = {
739
+ className: 'edit-element-fields'
740
+ };