react-form-builder-devextreme
Version:
A complete form builder for react. Some changes to design
979 lines (977 loc) • 76.4 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
var _isomorphicFetch = _interopRequireDefault(require("isomorphic-fetch"));
var _fileSaver = require("file-saver");
var _react = _interopRequireDefault(require("react"));
var _reactSelect = _interopRequireDefault(require("react-select"));
var _reactSignatureCanvas = _interopRequireDefault(require("react-signature-canvas"));
var _reactBootstrapSlider = _interopRequireDefault(require("react-bootstrap-slider"));
var _starRating = _interopRequireDefault(require("./star-rating"));
var _datePicker = _interopRequireDefault(require("./date-picker"));
var _componentHeader = _interopRequireDefault(require("./component-header"));
var _componentLabel = _interopRequireDefault(require("./component-label"));
var _myxss = _interopRequireDefault(require("./myxss"));
var _componentRight = _interopRequireDefault(require("./component-right"));
var _componentSign = _interopRequireDefault(require("./component-sign"));
var _historyComponent = _interopRequireDefault(require("../history-component"));
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; }
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; }
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); }; }
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; } } // eslint-disable-next-line max-classes-per-file
var FormElements = {};
var Header = /*#__PURE__*/function (_React$Component) {
(0, _inherits2["default"])(Header, _React$Component);
var _super = _createSuper(Header);
function Header() {
(0, _classCallCheck2["default"])(this, Header);
return _super.apply(this, arguments);
}
(0, _createClass2["default"])(Header, [{
key: "render",
value: function render() {
var _this$props$data$Chec, _this$props;
// const headerClasses = `dynamic-input ${this.props.data.element}-input`;
var classNames = 'static';
if (this.props.data.bold) {
classNames += ' bold';
}
if (this.props.data.italic) {
classNames += ' italic';
}
var containerClasses = 'ContainerItem rfb-item';
if (this.props.data.pageBreakBefore) {
containerClasses += ' alwaysbreak';
}
var mainContainerClasses = '';
if (this.props.data.visible === false && this.props.data.visible !== undefined && this.props.mutable === true) {
mainContainerClasses = 'hidden';
}
if (this.props.data.customContainerClass !== undefined && this.props.mutable === true) {
mainContainerClasses += ' ' + this.props.data.customContainerClass;
}
var baseClasses = 'SortableItem rfb-item';
if (this.props.data.pageBreakBefore) {
baseClasses += ' alwaysbreak';
}
return /*#__PURE__*/_react["default"].createElement("div", {
className: mainContainerClasses
}, /*#__PURE__*/_react["default"].createElement("div", {
className: containerClasses
}, (_this$props$data$Chec = this.props.data.CheckedBy) === null || _this$props$data$Chec === void 0 ? void 0 : _this$props$data$Chec.map(function (l) {
return l.id;
}), /*#__PURE__*/_react["default"].createElement("div", {
style: _objectSpread({}, this.props.style),
className: baseClasses
}, (this.props.index || this.props.index === 0) && /*#__PURE__*/_react["default"].createElement("h3", {
className: "sortableItem-sequence"
}, this.props.index + 1), /*#__PURE__*/_react["default"].createElement("h3", {
className: classNames,
dangerouslySetInnerHTML: {
__html: _myxss["default"].process(this.props.data.content)
}
}), /*#__PURE__*/_react["default"].createElement(_componentHeader["default"], this.props))), /*#__PURE__*/_react["default"].createElement(_componentSign["default"], this.props), ((_this$props = this.props) === null || _this$props === void 0 || (_this$props = _this$props.data) === null || _this$props === void 0 ? void 0 : _this$props.history) && /*#__PURE__*/_react["default"].createElement(_historyComponent["default"], this.props));
}
}]);
return Header;
}(_react["default"].Component);
var Paragraph = /*#__PURE__*/function (_React$Component2) {
(0, _inherits2["default"])(Paragraph, _React$Component2);
var _super2 = _createSuper(Paragraph);
function Paragraph() {
(0, _classCallCheck2["default"])(this, Paragraph);
return _super2.apply(this, arguments);
}
(0, _createClass2["default"])(Paragraph, [{
key: "render",
value: function render() {
var _this$props2;
var classNames = 'static';
if (this.props.data.bold) {
classNames += ' bold';
}
if (this.props.data.italic) {
classNames += ' italic';
}
var containerClasses = 'ContainerItem rfb-item';
if (this.props.data.pageBreakBefore) {
containerClasses += ' alwaysbreak';
}
var mainContainerClasses = '';
if (this.props.data.visible === false && this.props.data.visible !== undefined && this.props.mutable === true) {
mainContainerClasses = 'hidden';
}
if (this.props.data.customContainerClass !== undefined && this.props.mutable === true) {
mainContainerClasses += ' ' + this.props.data.customContainerClass;
}
var baseClasses = 'SortableItem rfb-item';
if (this.props.data.pageBreakBefore) {
baseClasses += ' alwaysbreak';
}
return /*#__PURE__*/_react["default"].createElement("div", {
className: mainContainerClasses
}, /*#__PURE__*/_react["default"].createElement("div", {
className: containerClasses
}, /*#__PURE__*/_react["default"].createElement("div", {
style: _objectSpread({}, this.props.style),
className: baseClasses
}, (this.props.index || this.props.index === 0) && /*#__PURE__*/_react["default"].createElement("h3", {
className: "sortableItem-sequence"
}, this.props.index + 1), /*#__PURE__*/_react["default"].createElement("p", {
className: classNames,
dangerouslySetInnerHTML: {
__html: _myxss["default"].process(this.props.data.content)
}
}), /*#__PURE__*/_react["default"].createElement(_componentHeader["default"], this.props))), /*#__PURE__*/_react["default"].createElement(_componentSign["default"], this.props), ((_this$props2 = this.props) === null || _this$props2 === void 0 || (_this$props2 = _this$props2.data) === null || _this$props2 === void 0 ? void 0 : _this$props2.history) && /*#__PURE__*/_react["default"].createElement(_historyComponent["default"], this.props));
}
}]);
return Paragraph;
}(_react["default"].Component);
var Label = /*#__PURE__*/function (_React$Component3) {
(0, _inherits2["default"])(Label, _React$Component3);
var _super3 = _createSuper(Label);
function Label() {
(0, _classCallCheck2["default"])(this, Label);
return _super3.apply(this, arguments);
}
(0, _createClass2["default"])(Label, [{
key: "render",
value: function render() {
var _this$props3;
var classNames = 'static';
if (this.props.data.bold) {
classNames += ' bold';
}
if (this.props.data.italic) {
classNames += ' italic';
}
var containerClasses = 'ContainerItem rfb-item';
if (this.props.data.pageBreakBefore) {
containerClasses += ' alwaysbreak';
}
var mainContainerClasses = '';
if (this.props.data.visible === false && this.props.data.visible !== undefined && this.props.mutable === true) {
mainContainerClasses = 'hidden';
}
if (this.props.data.customContainerClass !== undefined && this.props.mutable === true) {
mainContainerClasses += ' ' + this.props.data.customContainerClass;
}
var baseClasses = 'SortableItem rfb-item';
if (this.props.data.pageBreakBefore) {
baseClasses += ' alwaysbreak';
}
return /*#__PURE__*/_react["default"].createElement("div", {
className: mainContainerClasses
}, /*#__PURE__*/_react["default"].createElement("div", {
className: containerClasses
}, /*#__PURE__*/_react["default"].createElement("div", {
style: _objectSpread({}, this.props.style),
className: baseClasses
}, (this.props.index || this.props.index === 0) && /*#__PURE__*/_react["default"].createElement("h3", {
className: "sortableItem-sequence"
}, this.props.index + 1), /*#__PURE__*/_react["default"].createElement("label", {
className: classNames,
dangerouslySetInnerHTML: {
__html: _myxss["default"].process(this.props.data.content)
}
}), /*#__PURE__*/_react["default"].createElement(_componentHeader["default"], this.props))), /*#__PURE__*/_react["default"].createElement(_componentSign["default"], this.props), ((_this$props3 = this.props) === null || _this$props3 === void 0 || (_this$props3 = _this$props3.data) === null || _this$props3 === void 0 ? void 0 : _this$props3.history) && /*#__PURE__*/_react["default"].createElement(_historyComponent["default"], this.props));
}
}]);
return Label;
}(_react["default"].Component);
var LineBreak = /*#__PURE__*/function (_React$Component4) {
(0, _inherits2["default"])(LineBreak, _React$Component4);
var _super4 = _createSuper(LineBreak);
function LineBreak() {
(0, _classCallCheck2["default"])(this, LineBreak);
return _super4.apply(this, arguments);
}
(0, _createClass2["default"])(LineBreak, [{
key: "render",
value: function render() {
var _this$props4;
var containerClasses = 'ContainerItem rfb-item';
if (this.props.data.pageBreakBefore) {
containerClasses += ' alwaysbreak';
}
var mainContainerClasses = '';
if (this.props.data.visible === false && this.props.data.visible !== undefined && this.props.mutable === true) {
mainContainerClasses = 'hidden';
}
if (this.props.data.customContainerClass !== undefined && this.props.mutable === true) {
mainContainerClasses += ' ' + this.props.data.customContainerClass;
}
var baseClasses = 'SortableItem rfb-item';
if (this.props.data.pageBreakBefore) {
baseClasses += ' alwaysbreak';
}
return /*#__PURE__*/_react["default"].createElement("div", {
className: mainContainerClasses
}, /*#__PURE__*/_react["default"].createElement("div", {
className: containerClasses
}, /*#__PURE__*/_react["default"].createElement("div", {
style: _objectSpread({}, this.props.style),
className: baseClasses
}, (this.props.index || this.props.index === 0) && /*#__PURE__*/_react["default"].createElement("h3", {
className: "sortableItem-sequence"
}, this.props.index + 1), (this.props.index || this.props.index === 0) && /*#__PURE__*/_react["default"].createElement("h4", null, "horizontal line"), /*#__PURE__*/_react["default"].createElement("hr", null), /*#__PURE__*/_react["default"].createElement(_componentHeader["default"], this.props))), /*#__PURE__*/_react["default"].createElement(_componentSign["default"], this.props), ((_this$props4 = this.props) === null || _this$props4 === void 0 || (_this$props4 = _this$props4.data) === null || _this$props4 === void 0 ? void 0 : _this$props4.history) && /*#__PURE__*/_react["default"].createElement(_historyComponent["default"], this.props));
}
}]);
return LineBreak;
}(_react["default"].Component);
var TextInput = /*#__PURE__*/function (_React$Component5) {
(0, _inherits2["default"])(TextInput, _React$Component5);
var _super5 = _createSuper(TextInput);
function TextInput(props) {
var _this;
(0, _classCallCheck2["default"])(this, TextInput);
_this = _super5.call(this, props);
_this.inputField = /*#__PURE__*/_react["default"].createRef();
return _this;
}
(0, _createClass2["default"])(TextInput, [{
key: "render",
value: function render() {
var _this$props5;
var props = {};
props.type = 'text';
props.className = 'form-control';
props.name = this.props.data.field_name;
if (this.props.mutable) {
props.defaultValue = this.props.defaultValue;
props.ref = this.inputField;
}
var containerClasses = 'ContainerItem rfb-item';
if (this.props.data.pageBreakBefore) {
containerClasses += ' alwaysbreak';
}
var mainContainerClasses = '';
if (this.props.data.visible === false && this.props.data.visible !== undefined && this.props.mutable === true) {
mainContainerClasses = 'hidden';
}
if (this.props.data.customContainerClass !== undefined && this.props.mutable === true) {
mainContainerClasses += ' ' + this.props.data.customContainerClass;
}
var baseClasses = 'SortableItem rfb-item';
if (this.props.data.pageBreakBefore) {
baseClasses += ' alwaysbreak';
}
if (this.props.read_only) {
props.disabled = 'disabled';
}
//console.log('hiddenClass', hiddenClass);
return /*#__PURE__*/_react["default"].createElement("div", {
className: mainContainerClasses
}, /*#__PURE__*/_react["default"].createElement("div", {
className: containerClasses
}, /*#__PURE__*/_react["default"].createElement("div", {
style: _objectSpread({}, this.props.style),
className: baseClasses
}, (this.props.index || this.props.index === 0) && /*#__PURE__*/_react["default"].createElement("h3", {
className: "sortableItem-sequence"
}, this.props.index + 1), /*#__PURE__*/_react["default"].createElement("div", {
className: "form-group"
}, /*#__PURE__*/_react["default"].createElement(_componentLabel["default"], this.props), /*#__PURE__*/_react["default"].createElement("input", props)), /*#__PURE__*/_react["default"].createElement(_componentHeader["default"], this.props))), /*#__PURE__*/_react["default"].createElement(_componentSign["default"], this.props), ((_this$props5 = this.props) === null || _this$props5 === void 0 || (_this$props5 = _this$props5.data) === null || _this$props5 === void 0 ? void 0 : _this$props5.history) && /*#__PURE__*/_react["default"].createElement(_historyComponent["default"], this.props));
}
}]);
return TextInput;
}(_react["default"].Component);
var EmailInput = /*#__PURE__*/function (_React$Component6) {
(0, _inherits2["default"])(EmailInput, _React$Component6);
var _super6 = _createSuper(EmailInput);
function EmailInput(props) {
var _this2;
(0, _classCallCheck2["default"])(this, EmailInput);
_this2 = _super6.call(this, props);
_this2.inputField = /*#__PURE__*/_react["default"].createRef();
return _this2;
}
(0, _createClass2["default"])(EmailInput, [{
key: "render",
value: function render() {
var _this$props6;
var props = {};
props.type = 'text';
props.className = 'form-control';
props.name = this.props.data.field_name;
if (this.props.mutable) {
props.defaultValue = this.props.defaultValue;
props.ref = this.inputField;
}
var baseClasses = 'SortableItem rfb-item';
if (this.props.data.pageBreakBefore) {
baseClasses += ' alwaysbreak';
}
var containerClasses = 'ContainerItem rfb-item';
if (this.props.data.pageBreakBefore) {
containerClasses += ' alwaysbreak';
}
var mainContainerClasses = '';
if (this.props.data.visible === false && this.props.data.visible !== undefined && this.props.mutable === true) {
mainContainerClasses = 'hidden';
}
if (this.props.data.customContainerClass !== undefined && this.props.mutable === true) {
mainContainerClasses += ' ' + this.props.data.customContainerClass;
}
if (this.props.read_only) {
props.disabled = 'disabled';
}
return /*#__PURE__*/_react["default"].createElement("div", {
className: mainContainerClasses
}, /*#__PURE__*/_react["default"].createElement("div", {
className: containerClasses
}, /*#__PURE__*/_react["default"].createElement("div", {
style: _objectSpread({}, this.props.style),
className: baseClasses
}, (this.props.index || this.props.index === 0) && /*#__PURE__*/_react["default"].createElement("h3", {
className: "sortableItem-sequence"
}, this.props.index + 1), /*#__PURE__*/_react["default"].createElement("div", {
className: "form-group"
}, /*#__PURE__*/_react["default"].createElement(_componentLabel["default"], this.props), /*#__PURE__*/_react["default"].createElement("input", props)), /*#__PURE__*/_react["default"].createElement(_componentHeader["default"], this.props))), /*#__PURE__*/_react["default"].createElement(_componentSign["default"], this.props), ((_this$props6 = this.props) === null || _this$props6 === void 0 || (_this$props6 = _this$props6.data) === null || _this$props6 === void 0 ? void 0 : _this$props6.history) && /*#__PURE__*/_react["default"].createElement(_historyComponent["default"], this.props));
}
}]);
return EmailInput;
}(_react["default"].Component);
var PhoneNumber = /*#__PURE__*/function (_React$Component7) {
(0, _inherits2["default"])(PhoneNumber, _React$Component7);
var _super7 = _createSuper(PhoneNumber);
function PhoneNumber(props) {
var _this3;
(0, _classCallCheck2["default"])(this, PhoneNumber);
_this3 = _super7.call(this, props);
_this3.inputField = /*#__PURE__*/_react["default"].createRef();
return _this3;
}
(0, _createClass2["default"])(PhoneNumber, [{
key: "render",
value: function render() {
var _this$props7;
var props = {};
props.type = 'tel';
props.className = 'form-control';
props.name = this.props.data.field_name;
if (this.props.mutable) {
props.defaultValue = this.props.defaultValue;
props.ref = this.inputField;
}
var baseClasses = 'SortableItem rfb-item';
if (this.props.data.pageBreakBefore) {
baseClasses += ' alwaysbreak';
}
var containerClasses = 'ContainerItem rfb-item';
if (this.props.data.pageBreakBefore) {
containerClasses += ' alwaysbreak';
}
var mainContainerClasses = '';
if (this.props.data.visible === false && this.props.data.visible !== undefined && this.props.mutable === true) {
mainContainerClasses = 'hidden';
}
if (this.props.data.customContainerClass !== undefined && this.props.mutable === true) {
mainContainerClasses += ' ' + this.props.data.customContainerClass;
}
if (this.props.read_only) {
props.disabled = 'disabled';
}
return /*#__PURE__*/_react["default"].createElement("div", {
className: mainContainerClasses
}, /*#__PURE__*/_react["default"].createElement("div", {
className: containerClasses
}, /*#__PURE__*/_react["default"].createElement("div", {
style: _objectSpread({}, this.props.style),
className: baseClasses
}, (this.props.index || this.props.index === 0) && /*#__PURE__*/_react["default"].createElement("h3", {
className: "sortableItem-sequence"
}, this.props.index + 1), /*#__PURE__*/_react["default"].createElement("div", {
className: "form-group"
}, /*#__PURE__*/_react["default"].createElement(_componentLabel["default"], this.props), /*#__PURE__*/_react["default"].createElement("input", props)), /*#__PURE__*/_react["default"].createElement(_componentHeader["default"], this.props))), /*#__PURE__*/_react["default"].createElement(_componentSign["default"], this.props), ((_this$props7 = this.props) === null || _this$props7 === void 0 || (_this$props7 = _this$props7.data) === null || _this$props7 === void 0 ? void 0 : _this$props7.history) && /*#__PURE__*/_react["default"].createElement(_historyComponent["default"], this.props));
}
}]);
return PhoneNumber;
}(_react["default"].Component);
var NumberInput = /*#__PURE__*/function (_React$Component8) {
(0, _inherits2["default"])(NumberInput, _React$Component8);
var _super8 = _createSuper(NumberInput);
function NumberInput(props) {
var _this4;
(0, _classCallCheck2["default"])(this, NumberInput);
_this4 = _super8.call(this, props);
_this4.inputField = /*#__PURE__*/_react["default"].createRef();
return _this4;
}
(0, _createClass2["default"])(NumberInput, [{
key: "render",
value: function render() {
var _this$props8;
var props = {};
props.type = 'number';
props.className = 'form-control';
props.name = this.props.data.field_name;
if (this.props.mutable) {
props.defaultValue = this.props.defaultValue;
props.ref = this.inputField;
}
if (this.props.read_only) {
props.disabled = 'disabled';
}
var containerClasses = 'ContainerItem rfb-item';
if (this.props.data.pageBreakBefore) {
containerClasses += ' alwaysbreak';
}
var mainContainerClasses = '';
if (this.props.data.visible === false && this.props.data.visible !== undefined && this.props.mutable === true) {
mainContainerClasses = 'hidden';
}
if (this.props.data.customContainerClass !== undefined && this.props.mutable === true) {
mainContainerClasses += ' ' + this.props.data.customContainerClass;
}
var baseClasses = 'SortableItem rfb-item';
if (this.props.data.pageBreakBefore) {
baseClasses += ' alwaysbreak';
}
return /*#__PURE__*/_react["default"].createElement("div", {
className: mainContainerClasses
}, /*#__PURE__*/_react["default"].createElement("div", {
className: containerClasses
}, /*#__PURE__*/_react["default"].createElement("div", {
style: _objectSpread({}, this.props.style),
className: baseClasses
}, (this.props.index || this.props.index === 0) && /*#__PURE__*/_react["default"].createElement("h3", {
className: "sortableItem-sequence"
}, this.props.index + 1), /*#__PURE__*/_react["default"].createElement("div", {
className: "form-group"
}, /*#__PURE__*/_react["default"].createElement(_componentLabel["default"], this.props), /*#__PURE__*/_react["default"].createElement("input", props)), /*#__PURE__*/_react["default"].createElement(_componentHeader["default"], this.props))), /*#__PURE__*/_react["default"].createElement(_componentSign["default"], this.props), ((_this$props8 = this.props) === null || _this$props8 === void 0 || (_this$props8 = _this$props8.data) === null || _this$props8 === void 0 ? void 0 : _this$props8.history) && /*#__PURE__*/_react["default"].createElement(_historyComponent["default"], this.props));
}
}]);
return NumberInput;
}(_react["default"].Component);
var TextArea = /*#__PURE__*/function (_React$Component9) {
(0, _inherits2["default"])(TextArea, _React$Component9);
var _super9 = _createSuper(TextArea);
function TextArea(props) {
var _this5;
(0, _classCallCheck2["default"])(this, TextArea);
_this5 = _super9.call(this, props);
_this5.inputField = /*#__PURE__*/_react["default"].createRef();
return _this5;
}
(0, _createClass2["default"])(TextArea, [{
key: "render",
value: function render() {
var _this$props9;
var props = {};
props.className = 'form-control';
props.name = this.props.data.field_name;
if (this.props.read_only) {
props.disabled = 'disabled';
}
if (this.props.mutable) {
props.defaultValue = this.props.defaultValue;
props.ref = this.inputField;
}
var containerClasses = 'ContainerItem rfb-item';
if (this.props.data.pageBreakBefore) {
containerClasses += ' alwaysbreak';
}
var mainContainerClasses = '';
if (this.props.data.visible === false && this.props.data.visible !== undefined && this.props.mutable === true) {
mainContainerClasses = 'hidden';
}
if (this.props.data.customContainerClass !== undefined && this.props.mutable === true) {
mainContainerClasses += ' ' + this.props.data.customContainerClass;
}
var baseClasses = 'SortableItem rfb-item';
if (this.props.data.pageBreakBefore) {
baseClasses += ' alwaysbreak';
}
return /*#__PURE__*/_react["default"].createElement("div", {
className: mainContainerClasses
}, /*#__PURE__*/_react["default"].createElement("div", {
className: containerClasses
}, /*#__PURE__*/_react["default"].createElement("div", {
style: _objectSpread({}, this.props.style),
className: baseClasses
}, (this.props.index || this.props.index === 0) && /*#__PURE__*/_react["default"].createElement("h3", {
className: "sortableItem-sequence"
}, this.props.index + 1), /*#__PURE__*/_react["default"].createElement("div", {
className: "form-group"
}, /*#__PURE__*/_react["default"].createElement(_componentLabel["default"], this.props), /*#__PURE__*/_react["default"].createElement("textarea", props)), /*#__PURE__*/_react["default"].createElement(_componentHeader["default"], this.props))), /*#__PURE__*/_react["default"].createElement(_componentSign["default"], this.props), ((_this$props9 = this.props) === null || _this$props9 === void 0 || (_this$props9 = _this$props9.data) === null || _this$props9 === void 0 ? void 0 : _this$props9.history) && /*#__PURE__*/_react["default"].createElement(_historyComponent["default"], this.props));
}
}]);
return TextArea;
}(_react["default"].Component);
var Dropdown = /*#__PURE__*/function (_React$Component10) {
(0, _inherits2["default"])(Dropdown, _React$Component10);
var _super10 = _createSuper(Dropdown);
function Dropdown(props) {
var _this6;
(0, _classCallCheck2["default"])(this, Dropdown);
_this6 = _super10.call(this, props);
_this6.inputField = /*#__PURE__*/_react["default"].createRef();
return _this6;
}
(0, _createClass2["default"])(Dropdown, [{
key: "render",
value: function render() {
var _this$props10;
var props = {};
props.className = 'form-control';
props.name = this.props.data.field_name;
if (this.props.mutable) {
props.defaultValue = this.props.defaultValue;
props.ref = this.inputField;
}
if (this.props.read_only) {
props.disabled = 'disabled';
}
var containerClasses = 'ContainerItem rfb-item';
if (this.props.data.pageBreakBefore) {
containerClasses += ' alwaysbreak';
}
var mainContainerClasses = '';
if (this.props.data.visible === false && this.props.data.visible !== undefined && this.props.mutable === true) {
mainContainerClasses = 'hidden';
}
if (this.props.data.customContainerClass !== undefined && this.props.mutable === true) {
mainContainerClasses += ' ' + this.props.data.customContainerClass;
}
var baseClasses = 'SortableItem rfb-item';
if (this.props.data.pageBreakBefore) {
baseClasses += ' alwaysbreak';
}
return /*#__PURE__*/_react["default"].createElement("div", {
className: mainContainerClasses
}, /*#__PURE__*/_react["default"].createElement("div", {
className: containerClasses
}, /*#__PURE__*/_react["default"].createElement("div", {
style: _objectSpread({}, this.props.style),
className: baseClasses
}, (this.props.index || this.props.index === 0) && /*#__PURE__*/_react["default"].createElement("h3", {
className: "sortableItem-sequence"
}, this.props.index + 1), /*#__PURE__*/_react["default"].createElement("div", {
className: "form-group"
}, /*#__PURE__*/_react["default"].createElement(_componentLabel["default"], this.props), /*#__PURE__*/_react["default"].createElement("select", props, this.props.data.options.map(function (option) {
var this_key = "preview_".concat(option.key);
return /*#__PURE__*/_react["default"].createElement("option", {
value: option.value,
key: this_key
}, option.text);
}))), /*#__PURE__*/_react["default"].createElement(_componentHeader["default"], this.props))), /*#__PURE__*/_react["default"].createElement(_componentSign["default"], this.props), ((_this$props10 = this.props) === null || _this$props10 === void 0 || (_this$props10 = _this$props10.data) === null || _this$props10 === void 0 ? void 0 : _this$props10.history) && /*#__PURE__*/_react["default"].createElement(_historyComponent["default"], this.props));
}
}]);
return Dropdown;
}(_react["default"].Component);
var Signature = /*#__PURE__*/function (_React$Component11) {
(0, _inherits2["default"])(Signature, _React$Component11);
var _super11 = _createSuper(Signature);
function Signature(props) {
var _this7;
(0, _classCallCheck2["default"])(this, Signature);
_this7 = _super11.call(this, props);
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this7), "clear", function () {
if (_this7.state.defaultValue) {
_this7.setState({
defaultValue: ''
});
} else if (_this7.canvas.current) {
_this7.canvas.current.clear();
}
});
_this7.state = {
defaultValue: props.defaultValue
};
_this7.inputField = /*#__PURE__*/_react["default"].createRef();
_this7.canvas = /*#__PURE__*/_react["default"].createRef();
return _this7;
}
(0, _createClass2["default"])(Signature, [{
key: "render",
value: function render() {
var _this$props11;
var defaultValue = this.state.defaultValue;
var canClear = !!defaultValue;
var props = {};
props.type = 'hidden';
props.name = this.props.data.field_name;
if (this.props.mutable) {
props.defaultValue = defaultValue;
props.ref = this.inputField;
}
var pad_props = {};
// umd requires canvasProps={{ width: 400, height: 150 }}
if (this.props.mutable) {
pad_props.defaultValue = defaultValue;
pad_props.ref = this.canvas;
canClear = !this.props.read_only;
}
var baseClasses = 'SortableItem rfb-item';
if (this.props.data.pageBreakBefore) {
baseClasses += ' alwaysbreak';
}
var containerClasses = 'ContainerItem rfb-item';
if (this.props.data.pageBreakBefore) {
containerClasses += ' alwaysbreak';
}
var mainContainerClasses = '';
if (this.props.data.visible === false && this.props.data.visible !== undefined && this.props.mutable === true) {
mainContainerClasses = 'hidden';
}
if (this.props.data.customContainerClass !== undefined && this.props.mutable === true) {
mainContainerClasses += ' ' + this.props.data.customContainerClass;
}
var sourceDataURL;
if (defaultValue && defaultValue.length > 0) {
sourceDataURL = "data:image/png;base64,".concat(defaultValue);
}
return /*#__PURE__*/_react["default"].createElement("div", {
className: mainContainerClasses
}, /*#__PURE__*/_react["default"].createElement("div", {
className: containerClasses
}, /*#__PURE__*/_react["default"].createElement("div", {
style: _objectSpread({}, this.props.style),
className: baseClasses
}, (this.props.index || this.props.index === 0) && /*#__PURE__*/_react["default"].createElement("h3", {
className: "sortableItem-sequence"
}, this.props.index + 1), /*#__PURE__*/_react["default"].createElement("div", {
className: "form-group"
}, /*#__PURE__*/_react["default"].createElement(_componentLabel["default"], this.props), this.props.read_only === true || !!sourceDataURL ? /*#__PURE__*/_react["default"].createElement("img", {
src: sourceDataURL
}) : /*#__PURE__*/_react["default"].createElement(_reactSignatureCanvas["default"], pad_props), canClear && /*#__PURE__*/_react["default"].createElement("i", {
className: "fas fa-times clear-signature",
onClick: this.clear,
title: "Clear Signature"
}), /*#__PURE__*/_react["default"].createElement("input", props)), /*#__PURE__*/_react["default"].createElement(_componentHeader["default"], this.props))), /*#__PURE__*/_react["default"].createElement(_componentSign["default"], this.props), ((_this$props11 = this.props) === null || _this$props11 === void 0 || (_this$props11 = _this$props11.data) === null || _this$props11 === void 0 ? void 0 : _this$props11.history) && /*#__PURE__*/_react["default"].createElement(_historyComponent["default"], this.props));
}
}]);
return Signature;
}(_react["default"].Component);
var Tags = /*#__PURE__*/function (_React$Component12) {
(0, _inherits2["default"])(Tags, _React$Component12);
var _super12 = _createSuper(Tags);
function Tags(props) {
var _this8;
(0, _classCallCheck2["default"])(this, Tags);
_this8 = _super12.call(this, props);
// state = { value: this.props.defaultValue !== undefined ? this.props.defaultValue.split(',') : [] };
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this8), "handleChange", function (e) {
_this8.setState({
value: e || []
});
});
_this8.inputField = /*#__PURE__*/_react["default"].createRef();
var defaultValue = props.defaultValue,
data = props.data;
_this8.state = {
value: _this8.getDefaultValue(defaultValue, data.options)
};
return _this8;
}
(0, _createClass2["default"])(Tags, [{
key: "getDefaultValue",
value: function getDefaultValue(defaultValue, options) {
if (defaultValue) {
if (typeof defaultValue === 'string') {
var vals = defaultValue.split(',').map(function (x) {
return x.trim();
});
return options.filter(function (x) {
return vals.indexOf(x.value) > -1;
});
}
return options.filter(function (x) {
return defaultValue.indexOf(x.value) > -1;
});
}
return [];
}
}, {
key: "render",
value: function render() {
var _this$props12;
var options = this.props.data.options.map(function (option) {
option.label = option.text;
return option;
});
var props = {};
props.isMulti = true;
props.name = this.props.data.field_name;
props.onChange = this.handleChange;
props.options = options;
if (!this.props.mutable) {
props.value = options[0].text;
} // to show a sample of what tags looks like
if (this.props.mutable) {
props.isDisabled = this.props.read_only;
props.value = this.state.value;
props.ref = this.inputField;
}
var containerClasses = 'ContainerItem rfb-item';
if (this.props.data.pageBreakBefore) {
containerClasses += ' alwaysbreak';
}
var mainContainerClasses = '';
if (this.props.data.visible === false && this.props.data.visible !== undefined && this.props.mutable === true) {
mainContainerClasses = 'hidden';
}
if (this.props.data.customContainerClass !== undefined && this.props.mutable === true) {
mainContainerClasses += ' ' + this.props.data.customContainerClass;
}
var baseClasses = 'SortableItem rfb-item';
if (this.props.data.pageBreakBefore) {
baseClasses += ' alwaysbreak';
}
return /*#__PURE__*/_react["default"].createElement("div", {
className: mainContainerClasses
}, /*#__PURE__*/_react["default"].createElement("div", {
className: containerClasses
}, /*#__PURE__*/_react["default"].createElement("div", {
style: _objectSpread({}, this.props.style),
className: baseClasses
}, (this.props.index || this.props.index === 0) && /*#__PURE__*/_react["default"].createElement("h3", {
className: "sortableItem-sequence"
}, this.props.index + 1), /*#__PURE__*/_react["default"].createElement("div", {
className: "form-group"
}, /*#__PURE__*/_react["default"].createElement(_componentLabel["default"], this.props), /*#__PURE__*/_react["default"].createElement(_reactSelect["default"], props)), /*#__PURE__*/_react["default"].createElement(_componentHeader["default"], this.props))), /*#__PURE__*/_react["default"].createElement(_componentSign["default"], this.props), ((_this$props12 = this.props) === null || _this$props12 === void 0 || (_this$props12 = _this$props12.data) === null || _this$props12 === void 0 ? void 0 : _this$props12.history) && /*#__PURE__*/_react["default"].createElement(_historyComponent["default"], this.props));
}
}]);
return Tags;
}(_react["default"].Component);
var Checkboxes = /*#__PURE__*/function (_React$Component13) {
(0, _inherits2["default"])(Checkboxes, _React$Component13);
var _super13 = _createSuper(Checkboxes);
function Checkboxes(props) {
var _this9;
(0, _classCallCheck2["default"])(this, Checkboxes);
_this9 = _super13.call(this, props);
_this9.options = {};
return _this9;
}
(0, _createClass2["default"])(Checkboxes, [{
key: "render",
value: function render() {
var _this10 = this,
_this$props13;
var self = this;
var classNames = 'custom-control custom-checkbox';
if (this.props.data.inline) {
classNames += ' option-inline';
}
var containerClasses = 'ContainerItem rfb-item';
if (this.props.data.pageBreakBefore) {
containerClasses += ' alwaysbreak';
}
var mainContainerClasses = '';
if (this.props.data.visible === false && this.props.data.visible !== undefined && this.props.mutable === true) {
mainContainerClasses = 'hidden';
}
if (this.props.data.customContainerClass !== undefined && this.props.mutable === true) {
mainContainerClasses += ' ' + this.props.data.customContainerClass;
}
var baseClasses = 'SortableItem rfb-item';
if (this.props.data.pageBreakBefore) {
baseClasses += ' alwaysbreak';
}
return /*#__PURE__*/_react["default"].createElement("div", {
className: mainContainerClasses
}, /*#__PURE__*/_react["default"].createElement("div", {
className: containerClasses
}, /*#__PURE__*/_react["default"].createElement("div", {
style: _objectSpread({}, this.props.style),
className: baseClasses
}, (this.props.index || this.props.index === 0) && /*#__PURE__*/_react["default"].createElement("h3", {
className: "sortableItem-sequence"
}, this.props.index + 1), /*#__PURE__*/_react["default"].createElement("div", {
className: "form-group"
}, /*#__PURE__*/_react["default"].createElement(_componentLabel["default"], (0, _extends2["default"])({
className: "form-label"
}, this.props)), this.props.data.options.map(function (option) {
var this_key = "preview_".concat(option.key);
var props = {};
props.name = "option_".concat(option.key);
props.type = 'checkbox';
props.value = option.value;
if (self.props.mutable) {
props.defaultChecked = self.props.defaultValue !== undefined && self.props.defaultValue.indexOf(option.key) > -1;
}
if (_this10.props.read_only) {
props.disabled = 'disabled';
}
return /*#__PURE__*/_react["default"].createElement("div", {
className: classNames,
key: this_key
}, /*#__PURE__*/_react["default"].createElement("input", (0, _extends2["default"])({
id: "fid_".concat(this_key),
className: "custom-control-input",
ref: function ref(c) {
if (c && self.props.mutable) {
self.options["child_ref_".concat(option.key)] = c;
}
}
}, props)), /*#__PURE__*/_react["default"].createElement("label", {
className: "custom-control-label",
htmlFor: "fid_".concat(this_key)
}, option.text));
})), /*#__PURE__*/_react["default"].createElement(_componentHeader["default"], this.props))), /*#__PURE__*/_react["default"].createElement(_componentSign["default"], this.props), ((_this$props13 = this.props) === null || _this$props13 === void 0 || (_this$props13 = _this$props13.data) === null || _this$props13 === void 0 ? void 0 : _this$props13.history) && /*#__PURE__*/_react["default"].createElement(_historyComponent["default"], this.props));
}
}]);
return Checkboxes;
}(_react["default"].Component);
var RadioButtons = /*#__PURE__*/function (_React$Component14) {
(0, _inherits2["default"])(RadioButtons, _React$Component14);
var _super14 = _createSuper(RadioButtons);
function RadioButtons(props) {
var _this11;
(0, _classCallCheck2["default"])(this, RadioButtons);
_this11 = _super14.call(this, props);
_this11.options = {};
return _this11;
}
(0, _createClass2["default"])(RadioButtons, [{
key: "render",
value: function render() {
var _this12 = this,
_this$props14;
var self = this;
var classNames = 'custom-control custom-radio';
if (this.props.data.inline) {
classNames += ' option-inline';
}
var containerClasses = 'ContainerItem rfb-item';
if (this.props.data.pageBreakBefore) {
containerClasses += ' alwaysbreak';
}
var mainContainerClasses = '';
if (this.props.data.visible === false && this.props.data.visible !== undefined && this.props.mutable === true) {
mainContainerClasses = 'hidden';
}
if (this.props.data.customContainerClass !== undefined && this.props.mutable === true) {
mainContainerClasses += ' ' + this.props.data.customContainerClass;
}
var baseClasses = 'SortableItem rfb-item';
if (this.props.data.pageBreakBefore) {
baseClasses += ' alwaysbreak';
}
return /*#__PURE__*/_react["default"].createElement("div", {
className: mainContainerClasses
}, /*#__PURE__*/_react["default"].createElement("div", {
className: containerClasses
}, /*#__PURE__*/_react["default"].createElement("div", {
style: _objectSpread({}, this.props.style),
className: baseClasses
}, (this.props.index || this.props.index === 0) && /*#__PURE__*/_react["default"].createElement("h3", {
className: "sortableItem-sequence"
}, this.props.index + 1), /*#__PURE__*/_react["default"].createElement("div", {
className: "form-group"
}, /*#__PURE__*/_react["default"].createElement(_componentLabel["default"], (0, _extends2["default"])({
className: "form-label"
}, this.props)), this.props.data.options.map(function (option) {
var this_key = "preview_".concat(option.key);
var props = {};
props.name = self.props.data.field_name;
props.type = 'radio';
props.value = option.value;
if (self.props.mutable) {
props.defaultChecked = self.props.defaultValue !== undefined && (self.props.defaultValue.indexOf(option.key) > -1 || self.props.defaultValue.indexOf(option.value) > -1);
}
if (_this12.props.read_only) {
props.disabled = 'disabled';
}
return /*#__PURE__*/_react["default"].createElement("div", {
className: classNames,
key: this_key
}, /*#__PURE__*/_react["default"].createElement("input", (0, _extends2["default"])({
id: "fid_".concat(this_key),
className: "custom-control-input",
ref: function ref(c) {
if (c && self.props.mutable) {
self.options["child_ref_".concat(option.key)] = c;
}
}
}, props)), /*#__PURE__*/_react["default"].createElement("label", {
className: "custom-control-label",
htmlFor: "fid_".concat(this_key)
}, option.text));
})), /*#__PURE__*/_react["default"].createElement(_componentHeader["default"], this.props))), /*#__PURE__*/_react["default"].createElement(_componentSign["default"], this.props), ((_this$props14 = this.props) === null || _this$props14 === void 0 || (_this$props14 = _this$props14.data) === null || _this$props14 === void 0 ? void 0 : _this$props14.history) && /*#__PURE__*/_react["default"].createElement(_historyComponent["default"], this.props));
}
}]);
return RadioButtons;
}(_react["default"].Component);
var Image = /*#__PURE__*/function (_React$Component15) {
(0, _inherits2["default"])(Image, _React$Component15);
var _super15 = _createSuper(Image);
function Image() {
(0, _classCallCheck2["default"])(this, Image);
return _super15.apply(this, arguments);
}
(0, _createClass2["default"])(Image, [{
key: "render",
value: function render() {
var _this$props15;
var style = this.props.data.center ? {
textAlign: 'center'
} : null;
var baseClasses = 'SortableItem rfb-item';
if (this.props.data.pageBreakBefore) {
baseClasses += ' alwaysbreak';
}
var containerClasses = 'ContainerItem rfb-item';
if (this.props.data.pageBreakBefore) {
containerClasses += ' alwaysbreak';
}
var mainContainerClasses = '';
if (this.props.data.visible === false && this.props.data.visible !== undefined && this.props.mutable === true) {
mainContainerClasses = 'hidden';
}
if (this.props.data.customContainerClass !== undefined && this.props.mutable === true) {
mainContainerClasses += ' ' + this.props.data.customContainerClass;
}
return /*#__PURE__*/_react["default"].createElement("div", {
className: mainContainerClasses
}, /*#__PURE__*/_react["default"].createElement("div", {
className: containerClasses
}, /*#__PURE__*/_react["default"].createElement("div", {
style: _objectSpread(_objectSpread({}, this.props.style), {}, {
style: style
}),
className: baseClasses
}, (this.props.index || this.props.index === 0) && /*#__PURE__*/_react["default"].createElement("h3", {
className: "sortableItem-sequence"
}, this.props.index + 1), this.props.data.src && /*#__PURE__*/_react["default"].createElement("img", {
src: this.props.data.src,
width: this.props.data.width,
height: this.props.data.height
}), !this.props.data.src && /*#__PURE__*/_react["default"].createElement("div", {
className: "no-image"
}, "No Image"), /*#__PURE__*/_react["default"].createElement(_componentHeader["default"], this.props))), /*#__PURE__*/_react["default"].createElement(_componentSign["default"], this.props), ((_this$props15 = this.props) === null || _this$props15 === void 0 || (_this$props15 = _this$props15.data) === null || _this$props15 === void 0 ? void 0 : _this$props15.history) && /*#__PURE__*/_react["default"].createElement(_historyComponent["default"], this.props));
}
}]);
return Image;
}(_react["default"].Component);
var Rating = /*#__PURE__*/function (_React$Component16) {
(0, _inherits2["default"])(Rating, _React$Component16);
var _super16 = _createSuper(Rating);
function Rating(props) {
var _this13;
(0, _classCallCheck2["default"])(this, Rating);
_this13 = _super16.call(this, props);
_this13.inputField = /*#__PURE__*/_react["default"].createRef();
return _this13;
}
(0, _createClass2["default"])(Rating, [{
key: "render",
value: function render() {
var _this$props16;
var props = {};
props.name = this.props.data.field_name