react-survey-builder 1.0.95 → 1.0.96
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/README.md +2 -0
- package/dist/bundle.js +8 -8
- package/dist/src_survey-elements-edit_jsx.bundle.js +1 -1
- package/lib/form-fields.js +19 -4
- package/lib/form-steps.js +19 -4
- package/lib/form.js +19 -4
- package/lib/index.js +3 -0
- package/lib/sortable-form-elements.js +2 -0
- package/lib/survey-elements/header-bar.js +1 -1
- package/lib/survey-elements/index.js +165 -70
- package/lib/survey-elements-edit.js +17 -2
- package/lib/toolbar.js +24 -1
- package/package.json +1 -1
- package/types/index.d.ts +2 -0
@@ -2132,6 +2132,100 @@ export var RadioButtons = /*#__PURE__*/function (_React$Component4) {
|
|
2132
2132
|
}
|
2133
2133
|
}]);
|
2134
2134
|
}(React.Component);
|
2135
|
+
export var ButtonList = /*#__PURE__*/function (_React$Component5) {
|
2136
|
+
function ButtonList(props) {
|
2137
|
+
var _this9;
|
2138
|
+
_classCallCheck(this, ButtonList);
|
2139
|
+
_this9 = _callSuper(this, ButtonList, [props]);
|
2140
|
+
_this9.options = {};
|
2141
|
+
return _this9;
|
2142
|
+
}
|
2143
|
+
_inherits(ButtonList, _React$Component5);
|
2144
|
+
return _createClass(ButtonList, [{
|
2145
|
+
key: "render",
|
2146
|
+
value: function render() {
|
2147
|
+
var _ref23,
|
2148
|
+
_self$props$name3,
|
2149
|
+
_self$props12,
|
2150
|
+
_self$props13,
|
2151
|
+
_self$props14,
|
2152
|
+
_this10 = this,
|
2153
|
+
_self$props$item$help2,
|
2154
|
+
_self$props$item2;
|
2155
|
+
var self = this;
|
2156
|
+
var name = (_ref23 = (_self$props$name3 = self === null || self === void 0 || (_self$props12 = self.props) === null || _self$props12 === void 0 ? void 0 : _self$props12.name) !== null && _self$props$name3 !== void 0 ? _self$props$name3 : self === null || self === void 0 || (_self$props13 = self.props) === null || _self$props13 === void 0 || (_self$props13 = _self$props13.item) === null || _self$props13 === void 0 ? void 0 : _self$props13.customName) !== null && _ref23 !== void 0 ? _ref23 : self === null || self === void 0 || (_self$props14 = self.props) === null || _self$props14 === void 0 || (_self$props14 = _self$props14.item) === null || _self$props14 === void 0 ? void 0 : _self$props14.fieldName;
|
2157
|
+
var baseClasses = 'SortableItem rfb-item';
|
2158
|
+
if (this.props.item.pageBreakBefore) {
|
2159
|
+
baseClasses += ' alwaysbreak';
|
2160
|
+
}
|
2161
|
+
if (this.props.item.print === true) {
|
2162
|
+
return /*#__PURE__*/React.createElement("div", {
|
2163
|
+
style: _objectSpread({}, this.props.style),
|
2164
|
+
className: baseClasses
|
2165
|
+
}, /*#__PURE__*/React.createElement(Form.Group, {
|
2166
|
+
className: "form-group mb-3"
|
2167
|
+
}, /*#__PURE__*/React.createElement(ComponentLabel, _extends({}, this.props, {
|
2168
|
+
htmlFor: this.props.name
|
2169
|
+
})), /*#__PURE__*/React.createElement("div", null, this.props.item.options.filter(function (option) {
|
2170
|
+
return _this10.props.value === option.value;
|
2171
|
+
}).map(function (option) {
|
2172
|
+
return option.text;
|
2173
|
+
}).join(', '))));
|
2174
|
+
}
|
2175
|
+
// console.log('self.props', self.props);
|
2176
|
+
|
2177
|
+
return /*#__PURE__*/React.createElement("div", {
|
2178
|
+
style: _objectSpread({}, self.props.style),
|
2179
|
+
className: baseClasses
|
2180
|
+
}, /*#__PURE__*/React.createElement(ComponentHeader, self.props), /*#__PURE__*/React.createElement(Form.Group, {
|
2181
|
+
className: "form-group mb-3"
|
2182
|
+
}, /*#__PURE__*/React.createElement(ComponentLabel, self.props), self.props.item.help ? /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Form.Text, {
|
2183
|
+
className: (_self$props$item$help2 = (_self$props$item2 = self.props.item) === null || _self$props$item2 === void 0 ? void 0 : _self$props$item2.helpClassName) !== null && _self$props$item$help2 !== void 0 ? _self$props$item$help2 : 'text-muted'
|
2184
|
+
}, self.props.item.help)) : null, self.props.item.options.map(function (option) {
|
2185
|
+
var _self$props$checkboxB2, _self$props15, _self$props16;
|
2186
|
+
// console.log('option', option);
|
2187
|
+
return /*#__PURE__*/React.createElement(ToggleButton, {
|
2188
|
+
label: option.text,
|
2189
|
+
type: "radio",
|
2190
|
+
variant: (_self$props$checkboxB2 = self.props.checkboxButtonClassName) !== null && _self$props$checkboxB2 !== void 0 ? _self$props$checkboxB2 : "outline-light",
|
2191
|
+
className: "btn-survey-builder-checkbox w-100",
|
2192
|
+
key: "preview_".concat(option.key),
|
2193
|
+
id: name + '-' + ID.uuid(),
|
2194
|
+
inputRef: function inputRef(c) {
|
2195
|
+
if (c && self.props.item.mutable) {
|
2196
|
+
self.options["child_ref_".concat(option.key)] = c;
|
2197
|
+
}
|
2198
|
+
},
|
2199
|
+
disabled: self === null || self === void 0 || (_self$props15 = self.props) === null || _self$props15 === void 0 || (_self$props15 = _self$props15.item) === null || _self$props15 === void 0 ? void 0 : _self$props15.disabled,
|
2200
|
+
name: name,
|
2201
|
+
value: option.value,
|
2202
|
+
checked: (self === null || self === void 0 || (_self$props16 = self.props) === null || _self$props16 === void 0 ? void 0 : _self$props16.value) === option.value,
|
2203
|
+
onChange: function onChange(e) {
|
2204
|
+
var _self$props17, _self$props18;
|
2205
|
+
if ((self === null || self === void 0 || (_self$props17 = self.props) === null || _self$props17 === void 0 ? void 0 : _self$props17.onChange) !== undefined) {
|
2206
|
+
console.log(e.target.value);
|
2207
|
+
self.props.onChange(e.target.value);
|
2208
|
+
}
|
2209
|
+
if ((self === null || self === void 0 || (_self$props18 = self.props) === null || _self$props18 === void 0 ? void 0 : _self$props18.onSelect) !== undefined) {
|
2210
|
+
console.log(e.target.value);
|
2211
|
+
self.props.onSelect(e.target.value);
|
2212
|
+
}
|
2213
|
+
}
|
2214
|
+
}, /*#__PURE__*/React.createElement("div", {
|
2215
|
+
className: "d-flex align-items-center justify-content-start text-black text-survey-builder-checkbox"
|
2216
|
+
}, /*#__PURE__*/React.createElement("div", {
|
2217
|
+
className: "text-start"
|
2218
|
+
}, /*#__PURE__*/React.createElement("span", {
|
2219
|
+
dangerouslySetInnerHTML: {
|
2220
|
+
__html: option.text
|
2221
|
+
}
|
2222
|
+
}))));
|
2223
|
+
}), /*#__PURE__*/React.createElement(ComponentErrorMessage, {
|
2224
|
+
name: name
|
2225
|
+
})));
|
2226
|
+
}
|
2227
|
+
}]);
|
2228
|
+
}(React.Component);
|
2135
2229
|
export var Image = function Image(props) {
|
2136
2230
|
var style = props.item.center ? {
|
2137
2231
|
textAlign: 'center'
|
@@ -2151,14 +2245,14 @@ export var Image = function Image(props) {
|
|
2151
2245
|
className: "no-image"
|
2152
2246
|
}, "No Image"));
|
2153
2247
|
};
|
2154
|
-
export var Rating = function Rating(
|
2248
|
+
export var Rating = function Rating(_ref24) {
|
2155
2249
|
var _item$required25, _item$disabled17, _item$required26, _item$helpClassName18;
|
2156
|
-
var name =
|
2157
|
-
onChange =
|
2158
|
-
value =
|
2159
|
-
style =
|
2160
|
-
item =
|
2161
|
-
props = _objectWithoutProperties(
|
2250
|
+
var name = _ref24.name,
|
2251
|
+
onChange = _ref24.onChange,
|
2252
|
+
value = _ref24.value,
|
2253
|
+
style = _ref24.style,
|
2254
|
+
item = _ref24.item,
|
2255
|
+
props = _objectWithoutProperties(_ref24, _excluded9);
|
2162
2256
|
var methods = useFormContext();
|
2163
2257
|
var onChangeHandler = function onChangeHandler(value) {
|
2164
2258
|
if (onChange !== undefined) {
|
@@ -2180,23 +2274,23 @@ export var Rating = function Rating(_ref23) {
|
|
2180
2274
|
name: name,
|
2181
2275
|
rules: fieldRules
|
2182
2276
|
};
|
2183
|
-
controllerProps.render = function (
|
2184
|
-
var
|
2185
|
-
onChange =
|
2186
|
-
onBlur =
|
2187
|
-
value =
|
2188
|
-
name =
|
2189
|
-
ref =
|
2190
|
-
|
2191
|
-
invalid =
|
2192
|
-
isTouched =
|
2193
|
-
isDirty =
|
2194
|
-
error =
|
2195
|
-
formState =
|
2277
|
+
controllerProps.render = function (_ref25) {
|
2278
|
+
var _ref25$field = _ref25.field,
|
2279
|
+
onChange = _ref25$field.onChange,
|
2280
|
+
onBlur = _ref25$field.onBlur,
|
2281
|
+
value = _ref25$field.value,
|
2282
|
+
name = _ref25$field.name,
|
2283
|
+
ref = _ref25$field.ref,
|
2284
|
+
_ref25$fieldState = _ref25.fieldState,
|
2285
|
+
invalid = _ref25$fieldState.invalid,
|
2286
|
+
isTouched = _ref25$fieldState.isTouched,
|
2287
|
+
isDirty = _ref25$fieldState.isDirty,
|
2288
|
+
error = _ref25$fieldState.error,
|
2289
|
+
formState = _ref25.formState;
|
2196
2290
|
return /*#__PURE__*/React.createElement(StarRating, _extends({
|
2197
2291
|
onBlur: onBlur,
|
2198
|
-
onRatingClick: function onRatingClick(event,
|
2199
|
-
var rating =
|
2292
|
+
onRatingClick: function onRatingClick(event, _ref26) {
|
2293
|
+
var rating = _ref26.rating;
|
2200
2294
|
onChange(rating);
|
2201
2295
|
onChangeHandler(rating);
|
2202
2296
|
},
|
@@ -2238,8 +2332,8 @@ export var Rating = function Rating(_ref23) {
|
|
2238
2332
|
className: item === null || item === void 0 ? void 0 : item.labelClassName,
|
2239
2333
|
htmlFor: name
|
2240
2334
|
}), /*#__PURE__*/React.createElement(StarRating, _extends({
|
2241
|
-
onRatingClick: function onRatingClick(event,
|
2242
|
-
var rating =
|
2335
|
+
onRatingClick: function onRatingClick(event, _ref27) {
|
2336
|
+
var rating = _ref27.rating;
|
2243
2337
|
onChange(rating);
|
2244
2338
|
onChangeHandler(rating);
|
2245
2339
|
},
|
@@ -2316,41 +2410,41 @@ export var Download = function Download(props) {
|
|
2316
2410
|
href: "".concat(props.downloadPath, "?id=").concat(props.item.filePath)
|
2317
2411
|
}, props.item.content)));
|
2318
2412
|
};
|
2319
|
-
export var Camera = /*#__PURE__*/function (_React$
|
2413
|
+
export var Camera = /*#__PURE__*/function (_React$Component6) {
|
2320
2414
|
function Camera(props) {
|
2321
|
-
var
|
2415
|
+
var _this11;
|
2322
2416
|
_classCallCheck(this, Camera);
|
2323
|
-
|
2324
|
-
_defineProperty(
|
2417
|
+
_this11 = _callSuper(this, Camera, [props]);
|
2418
|
+
_defineProperty(_this11, "handleChange", function (event) {
|
2325
2419
|
if (event.target.files && event.target.files.length > 0) {
|
2326
|
-
|
2420
|
+
_this11.setState({
|
2327
2421
|
img: event.target.files[0]
|
2328
2422
|
});
|
2329
|
-
if (
|
2330
|
-
|
2423
|
+
if (_this11.props.onChange) {
|
2424
|
+
_this11.props.onChange(event.target.files[0]);
|
2331
2425
|
}
|
2332
2426
|
}
|
2333
2427
|
});
|
2334
|
-
_defineProperty(
|
2335
|
-
|
2428
|
+
_defineProperty(_this11, "clearImage", function () {
|
2429
|
+
_this11.setState({
|
2336
2430
|
img: null
|
2337
2431
|
});
|
2338
|
-
if (
|
2339
|
-
|
2432
|
+
if (_this11.props.onChange) {
|
2433
|
+
_this11.props.onChange(null);
|
2340
2434
|
}
|
2341
2435
|
});
|
2342
|
-
|
2343
|
-
|
2436
|
+
_this11.inputField = /*#__PURE__*/React.createRef();
|
2437
|
+
_this11.state = {
|
2344
2438
|
img: props.value
|
2345
2439
|
};
|
2346
|
-
return
|
2440
|
+
return _this11;
|
2347
2441
|
}
|
2348
|
-
_inherits(Camera, _React$
|
2442
|
+
_inherits(Camera, _React$Component6);
|
2349
2443
|
return _createClass(Camera, [{
|
2350
2444
|
key: "getImageSizeProps",
|
2351
|
-
value: function getImageSizeProps(
|
2352
|
-
var width =
|
2353
|
-
height =
|
2445
|
+
value: function getImageSizeProps(_ref28) {
|
2446
|
+
var width = _ref28.width,
|
2447
|
+
height = _ref28.height;
|
2354
2448
|
var imgProps = {
|
2355
2449
|
width: '100%'
|
2356
2450
|
};
|
@@ -2446,37 +2540,37 @@ export var Camera = /*#__PURE__*/function (_React$Component5) {
|
|
2446
2540
|
}
|
2447
2541
|
}]);
|
2448
2542
|
}(React.Component);
|
2449
|
-
export var FileUpload = /*#__PURE__*/function (_React$
|
2543
|
+
export var FileUpload = /*#__PURE__*/function (_React$Component7) {
|
2450
2544
|
function FileUpload(props) {
|
2451
|
-
var
|
2545
|
+
var _this12;
|
2452
2546
|
_classCallCheck(this, FileUpload);
|
2453
|
-
|
2454
|
-
_defineProperty(
|
2547
|
+
_this12 = _callSuper(this, FileUpload, [props]);
|
2548
|
+
_defineProperty(_this12, "handleChange", function (event) {
|
2455
2549
|
if (event.target.files && event.target.files.length > 0) {
|
2456
|
-
|
2550
|
+
_this12.setState({
|
2457
2551
|
fileUpload: event.target.files[0]
|
2458
2552
|
});
|
2459
|
-
if (
|
2460
|
-
|
2553
|
+
if (_this12.props.onChange) {
|
2554
|
+
_this12.props.onChange(event.target.files[0]);
|
2461
2555
|
}
|
2462
2556
|
}
|
2463
2557
|
});
|
2464
|
-
_defineProperty(
|
2465
|
-
|
2558
|
+
_defineProperty(_this12, "clearFileUpload", function () {
|
2559
|
+
_this12.setState({
|
2466
2560
|
fileUpload: null
|
2467
2561
|
});
|
2468
|
-
if (
|
2469
|
-
|
2562
|
+
if (_this12.props.onChange) {
|
2563
|
+
_this12.props.onChange(null);
|
2470
2564
|
}
|
2471
2565
|
});
|
2472
|
-
_defineProperty(
|
2473
|
-
var
|
2566
|
+
_defineProperty(_this12, "saveFile", /*#__PURE__*/function () {
|
2567
|
+
var _ref29 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(e) {
|
2474
2568
|
var sourceUrl, response, dispositionHeader, resBlob, blob, fileName, _fileName;
|
2475
2569
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
2476
2570
|
while (1) switch (_context2.prev = _context2.next) {
|
2477
2571
|
case 0:
|
2478
2572
|
e.preventDefault();
|
2479
|
-
sourceUrl =
|
2573
|
+
sourceUrl = _this12.props.value;
|
2480
2574
|
_context2.next = 4;
|
2481
2575
|
return fetch(sourceUrl, {
|
2482
2576
|
method: 'GET',
|
@@ -2495,7 +2589,7 @@ export var FileUpload = /*#__PURE__*/function (_React$Component6) {
|
|
2495
2589
|
resBlob = _context2.sent;
|
2496
2590
|
// eslint-disable-next-line no-undef
|
2497
2591
|
blob = new Blob([resBlob], {
|
2498
|
-
type:
|
2592
|
+
type: _this12.props.item.fileType || response.headers.get('Content-Type')
|
2499
2593
|
});
|
2500
2594
|
if (dispositionHeader && dispositionHeader.indexOf(';filename=') > -1) {
|
2501
2595
|
fileName = dispositionHeader.split(';filename=')[1];
|
@@ -2511,16 +2605,16 @@ export var FileUpload = /*#__PURE__*/function (_React$Component6) {
|
|
2511
2605
|
}, _callee2);
|
2512
2606
|
}));
|
2513
2607
|
return function (_x) {
|
2514
|
-
return
|
2608
|
+
return _ref29.apply(this, arguments);
|
2515
2609
|
};
|
2516
2610
|
}());
|
2517
|
-
|
2518
|
-
|
2611
|
+
_this12.inputField = /*#__PURE__*/React.createRef();
|
2612
|
+
_this12.state = {
|
2519
2613
|
fileUpload: props.value
|
2520
2614
|
};
|
2521
|
-
return
|
2615
|
+
return _this12;
|
2522
2616
|
}
|
2523
|
-
_inherits(FileUpload, _React$
|
2617
|
+
_inherits(FileUpload, _React$Component7);
|
2524
2618
|
return _createClass(FileUpload, [{
|
2525
2619
|
key: "render",
|
2526
2620
|
value: function render() {
|
@@ -2596,19 +2690,19 @@ export var FileUpload = /*#__PURE__*/function (_React$Component6) {
|
|
2596
2690
|
}
|
2597
2691
|
}]);
|
2598
2692
|
}(React.Component);
|
2599
|
-
export var Range = /*#__PURE__*/function (_React$
|
2693
|
+
export var Range = /*#__PURE__*/function (_React$Component8) {
|
2600
2694
|
function Range(props) {
|
2601
|
-
var
|
2695
|
+
var _this13;
|
2602
2696
|
_classCallCheck(this, Range);
|
2603
|
-
|
2604
|
-
|
2605
|
-
return
|
2697
|
+
_this13 = _callSuper(this, Range, [props]);
|
2698
|
+
_this13.inputField = /*#__PURE__*/React.createRef();
|
2699
|
+
return _this13;
|
2606
2700
|
}
|
2607
|
-
_inherits(Range, _React$
|
2701
|
+
_inherits(Range, _React$Component8);
|
2608
2702
|
return _createClass(Range, [{
|
2609
2703
|
key: "render",
|
2610
2704
|
value: function render() {
|
2611
|
-
var
|
2705
|
+
var _this14 = this,
|
2612
2706
|
_this$props$item$help6,
|
2613
2707
|
_this$props$item6;
|
2614
2708
|
var props = {};
|
@@ -2616,7 +2710,7 @@ export var Range = /*#__PURE__*/function (_React$Component7) {
|
|
2616
2710
|
props.name = this.props.name;
|
2617
2711
|
props.value = this.props.value;
|
2618
2712
|
props.onChange = function (event) {
|
2619
|
-
|
2713
|
+
_this14.props.onChange(event.target.value);
|
2620
2714
|
};
|
2621
2715
|
if (this.props.item.disabled) {
|
2622
2716
|
props.disabled = true;
|
@@ -2718,6 +2812,7 @@ SurveyElements.Checkboxes = Checkboxes;
|
|
2718
2812
|
SurveyElements.Checkbox = Checkbox;
|
2719
2813
|
SurveyElements.DatePicker = DatePicker;
|
2720
2814
|
SurveyElements.RadioButtons = RadioButtons;
|
2815
|
+
SurveyElements.ButtonList = ButtonList;
|
2721
2816
|
SurveyElements.Image = Image;
|
2722
2817
|
SurveyElements.Rating = Rating;
|
2723
2818
|
SurveyElements.Tags = Tags;
|
@@ -136,8 +136,9 @@ var SurveyElementsEdit = function SurveyElementsEdit(_ref2) {
|
|
136
136
|
var thisCheckedAlternateForm = element.hasOwnProperty('alternateForm') ? element.alternateForm : false;
|
137
137
|
var thisCheckedHideLabel = element.hasOwnProperty('hideLabel') ? element.hideLabel : false;
|
138
138
|
var thisCheckedConditional = element.hasOwnProperty('conditional') ? element.conditional : false;
|
139
|
-
var
|
140
|
-
var
|
139
|
+
var thisCheckedHideNextStepButton = element.hasOwnProperty('hideNextStepButton') ? element.hideNextStepButton : false;
|
140
|
+
var canHaveAnswer = ['NumberInput', 'EmailInput', 'TextInput', 'PhoneNumber', 'TextArea', 'DatePicker', 'Dropdown', 'Tags', 'Checkboxes', 'Checkbox', 'ButtonList', 'Rating', 'Range'].indexOf(element.element) !== -1;
|
141
|
+
var canHaveOptionValue = ['Dropdown', 'Tags', 'Checkboxes', 'RadioButtons', 'ButtonList'].indexOf(element.element) !== -1;
|
141
142
|
var canHaveOptionCorrect = canHaveAnswer && canHaveOptionValue;
|
142
143
|
var thisFiles = isListNotEmpty(files) ? _toConsumableArray(files) : [];
|
143
144
|
if (thisFiles.length < 1 || thisFiles.length > 0 && thisFiles[0].id !== '') {
|
@@ -654,6 +655,20 @@ var SurveyElementsEdit = function SurveyElementsEdit(_ref2) {
|
|
654
655
|
onChange: function onChange(e) {
|
655
656
|
editElementProp('conditionalFieldValue', 'value', e);
|
656
657
|
}
|
658
|
+
})), element.hasOwnProperty('hideNextStepButton') && /*#__PURE__*/React.createElement(Form.Group, {
|
659
|
+
className: "form-group mb-5"
|
660
|
+
}, /*#__PURE__*/React.createElement(Form.Label, {
|
661
|
+
className: "fw-bold"
|
662
|
+
}, "Hide the Next Step/Submit Button for this Step (typically set true when the step has a Button List component):"), /*#__PURE__*/React.createElement(Form.Check, {
|
663
|
+
id: "hideNextStepButton",
|
664
|
+
label: "Hide the Next Step/Submit Button for this Step",
|
665
|
+
type: "checkbox",
|
666
|
+
checked: thisCheckedHideNextStepButton,
|
667
|
+
value: true,
|
668
|
+
onBlur: onUpdateElement,
|
669
|
+
onChange: function onChange(e) {
|
670
|
+
editElementProp('hideNextStepButton', 'checked', e);
|
671
|
+
}
|
657
672
|
})), element.hasOwnProperty('help') && /*#__PURE__*/React.createElement(Form.Group, {
|
658
673
|
className: "form-group mb-5"
|
659
674
|
}, /*#__PURE__*/React.createElement(Form.Label, {
|
package/lib/toolbar.js
CHANGED
@@ -23,6 +23,7 @@ import { PiFileHtml } from 'react-icons/pi';
|
|
23
23
|
import ID from './UUID';
|
24
24
|
import { GrSteps } from 'react-icons/gr';
|
25
25
|
import { isListNotEmpty } from './utils/objectUtils';
|
26
|
+
import { IoReorderTwo } from 'react-icons/io5';
|
26
27
|
var _defaultItems = [{
|
27
28
|
key: 'Header',
|
28
29
|
name: "Header Text",
|
@@ -107,6 +108,16 @@ var _defaultItems = [{
|
|
107
108
|
options: [],
|
108
109
|
answerType: 'STRING',
|
109
110
|
hideLabel: false
|
111
|
+
}, {
|
112
|
+
key: 'ButtonList',
|
113
|
+
name: "Radio Buttons",
|
114
|
+
icon: IoReorderTwo,
|
115
|
+
label: "Label",
|
116
|
+
fieldName: 'buttonlist_',
|
117
|
+
canHaveHelp: true,
|
118
|
+
options: [],
|
119
|
+
answerType: 'STRING',
|
120
|
+
hideLabel: false
|
110
121
|
}, {
|
111
122
|
key: 'TextInput',
|
112
123
|
name: "Text Input",
|
@@ -317,7 +328,8 @@ var _defaultItems = [{
|
|
317
328
|
conditional: false,
|
318
329
|
conditionalFieldName: '',
|
319
330
|
conditionalFieldValue: '',
|
320
|
-
isContainer: true
|
331
|
+
isContainer: true,
|
332
|
+
hideNextStepButton: false
|
321
333
|
}];
|
322
334
|
var groupBy = function groupBy(list, keyGetter) {
|
323
335
|
var map = new Map();
|
@@ -449,6 +461,16 @@ var Toolbar = function Toolbar(_ref) {
|
|
449
461
|
text: "Place holder option 3",
|
450
462
|
key: "radiobuttons_option_".concat(ID.uuid())
|
451
463
|
}];
|
464
|
+
case 'ButtonList':
|
465
|
+
return [{
|
466
|
+
value: 'YES',
|
467
|
+
text: "Yes",
|
468
|
+
key: "buttonlist_option_".concat(ID.uuid())
|
469
|
+
}, {
|
470
|
+
value: 'NO',
|
471
|
+
text: "No",
|
472
|
+
key: "buttonlist_option_".concat(ID.uuid())
|
473
|
+
}];
|
452
474
|
default:
|
453
475
|
return [];
|
454
476
|
}
|
@@ -564,6 +586,7 @@ var Toolbar = function Toolbar(_ref) {
|
|
564
586
|
elementOptions.conditional = item.conditional;
|
565
587
|
elementOptions.conditionalFieldName = item.conditionalFieldName;
|
566
588
|
elementOptions.conditionalFieldValue = item.conditionalFieldValue;
|
589
|
+
elementOptions.hideNextStepButton = item.hideNextStepButton;
|
567
590
|
}
|
568
591
|
if (element === 'Image') {
|
569
592
|
elementOptions.src = item.src;
|
package/package.json
CHANGED
package/types/index.d.ts
CHANGED
@@ -46,6 +46,7 @@ type BaseElement = {
|
|
46
46
|
conditional?: boolean;
|
47
47
|
conditionalFieldName?: string;
|
48
48
|
conditionalFieldValue?: string;
|
49
|
+
hideNextStepButton?: boolean;
|
49
50
|
rows?: number;
|
50
51
|
};
|
51
52
|
export type StaticElement = {
|
@@ -167,6 +168,7 @@ export interface SurveyGeneratorProps {
|
|
167
168
|
onBlur?: (info: SurveyGeneratorOnSubmitParams[]) => void;
|
168
169
|
onSubmit?: (info: SurveyGeneratorOnSubmitParams[]) => void;
|
169
170
|
onChange?: (info: SurveyGeneratorOnSubmitParams[]) => void;
|
171
|
+
onSelect?: (info: SurveyGeneratorOnSubmitParams[]) => void;
|
170
172
|
items: any[];
|
171
173
|
backAction?: string;
|
172
174
|
backName?: string;
|