UNPKG

aot-formio-export

Version:
1,424 lines (1,087 loc) 759 kB
(function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(require("lodash"), require("moment")); else if(typeof define === 'function' && define.amd) define("@aot-technologies/formio-export", ["_", "moment"], factory); else if(typeof exports === 'object') exports["@aot-technologies/formio-export"] = factory(require("lodash"), require("moment")); else root["@aot-technologies/formio-export"] = factory(root["_"], root["moment"]); })(window, function(__WEBPACK_EXTERNAL_MODULE__0__, __WEBPACK_EXTERNAL_MODULE__23__) { return /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) { /******/ return installedModules[moduleId].exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ i: moduleId, /******/ l: false, /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/ module.l = true; /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /******/ /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ /******/ // define getter function for harmony exports /******/ __webpack_require__.d = function(exports, name, getter) { /******/ if(!__webpack_require__.o(exports, name)) { /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); /******/ } /******/ }; /******/ /******/ // define __esModule on exports /******/ __webpack_require__.r = function(exports) { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ /******/ // create a fake namespace object /******/ // mode & 1: value is a module id, require it /******/ // mode & 2: merge all properties of value into the ns /******/ // mode & 4: return value when already ns object /******/ // mode & 8|1: behave like require /******/ __webpack_require__.t = function(value, mode) { /******/ if(mode & 1) value = __webpack_require__(value); /******/ if(mode & 8) return value; /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; /******/ var ns = Object.create(null); /******/ __webpack_require__.r(ns); /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); /******/ return ns; /******/ }; /******/ /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function getDefault() { return module['default']; } : /******/ function getModuleExports() { return module; }; /******/ __webpack_require__.d(getter, 'a', getter); /******/ return getter; /******/ }; /******/ /******/ // Object.prototype.hasOwnProperty.call /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; /******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = ""; /******/ /******/ /******/ // Load entry module and return exports /******/ return __webpack_require__(__webpack_require__.s = 11); /******/ }) /************************************************************************/ /******/ ([ /* 0 */ /***/ (function(module, exports) { module.exports = __WEBPACK_EXTERNAL_MODULE__0__; /***/ }), /* 1 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; var _lodash = __webpack_require__(0); var _lodash2 = _interopRequireDefault(_lodash); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var FormioExportUtils = { /** * Verifies an object properties. * * @param {Object} obj * The object to verify * @param {Object} props * The properties to be verified * @returns {Object} * The verified object */ verifyProperties: function verifyProperties(obj, props) { // verify arguments props = _lodash2.default.isPlainObject(props) ? props : {}; obj = _lodash2.default.isPlainObject(obj) ? obj : {}; // verify each property _lodash2.default.forEach(props, function (prop, key) { // check if there is any default value defined if (prop.hasOwnProperty('default') && !obj.hasOwnProperty(key)) { // set default property value obj[key] = prop.default; } // check if the property is required and defined if (prop.required && _lodash2.default.isNil(obj[key])) { // if not defined, throw error throw new Error('[FormioExportUtils] invalid property (' + key + ' is required)'); } // check that the property type is valid (defined by constructors) if (prop.hasOwnProperty('type') && obj.hasOwnProperty(key)) { // check if property has a valid type var found = !!_lodash2.default.find(_lodash2.default.isArray(prop.type) ? prop.type : [prop.type], function (type) { return FormioExportUtils.isOfType(obj[key], type); }); // check if there has been a match if (!found) { // if no match found, throw error throw new Error('[FormioExportUtils] invalid property (' + key + ' type is invalid)'); } } }); // return the verified object return obj; }, /** * Check if an object is of a certain type * * @param {any} obj * The object to check * @param {Function} type * The type (constructor) to compare to * @returns {Boolean} * Is of same type */ isOfType: function isOfType(obj, type) { switch (type) { case null: return _lodash2.default.isNull(obj); case undefined: return _lodash2.default.isUndefined(obj); case String: return _lodash2.default.isString(obj); case Number: return _lodash2.default.isNumber(obj); case Boolean: return _lodash2.default.isBoolean(obj); case Array: return _lodash2.default.isArray(obj); case Object: return _lodash2.default.isPlainObject(obj); case Element: return _lodash2.default.isElement(obj) || _lodash2.default.isObject(obj) && obj.nodeType > 0; case Function: return _lodash2.default.isFunction(obj); case Date: return _lodash2.default.isDate(obj); case RegExp: return _lodash2.default.isRegExp(obj); case Error: return _lodash2.default.isError(obj); case Symbol: return _lodash2.default.isSymbol(obj); default: console.warn('[FormioExportUtils] type not implemented'); return false; } }, /** * Check if an object is a valid Formio form * * @param {Object} [obj={}] * The object to check * @returns {Boolean} * Is valid Formio form */ isFormioForm: function isFormioForm() { var obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; return _lodash2.default.isPlainObject(obj) && _lodash2.default.isArray(obj.components) && obj.display === 'form'; }, /** * Check if an object is a valid Formio wizard * * @param {Object} [obj={}] * The object to check * @returns {Boolean} * Is valid Formio wizard */ isFormioWizard: function isFormioWizard() { var obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; return _lodash2.default.isPlainObject(obj) && _lodash2.default.isArray(obj.components) && obj.display === 'wizard'; }, /** * Check if an object is a valid Formio submission * * @param {Object} [obj={}] * The object to check * @returns {Boolean} * Is valid Formio submission */ isFormioSubmission: function isFormioSubmission() { var obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; return _lodash2.default.isPlainObject(obj) && _lodash2.default.isPlainObject(obj.data) && obj.hasOwnProperty('_id'); }, /** * Get the value for a component key, in the given submission. * * @param {Object} data * A submission or data object to search. * @param {String} key * A for components API key to search for. */ getValue: function getValue(data, key) { var search = function search(obj) { if (_lodash2.default.isPlainObject(obj)) { if (_lodash2.default.has(obj, key)) { return obj[key]; } var value = null; _lodash2.default.forOwn(obj, function (prop) { var result = search(prop); if (!_lodash2.default.isNil(result)) { value = result; return false; } return true; }); return value; } return null; }; return FormioExportUtils.isFormioSubmission(data) ? search(data.data) : search(data); }, /** * Interpolate a string and add data replacements. * * @param string * The template string to use for interpolation * @param data * The data object to interpolate * @returns {XML|string|*|void} */ interpolate: function interpolate(string, data) { var templateSettings = { evaluate: /\{%(.+?)%\}/g, interpolate: /\{\{(.+?)\}\}/g, escape: /\{\{\{(.+?)\}\}\}/g }; try { return _lodash2.default.template(string, templateSettings)(data); } catch (err) { console.warn('Error interpolating template', err, string, data); return null; } }, /** * Iterate through each component within a form. * * @param {Object} components * The components to iterate. * @param {Function} fn * The iteration function to invoke for each component. * @param {Boolean} includeAll * Whether or not to include layout components. * @param {String} path * The current data path of the element. Example: data.user.firstName * @param {Object} parent * The parent object. */ eachComponent: function eachComponent(components, fn, includeAll, path, parent) { if (!components) return; path = path || ''; components.forEach(function (component) { var hasColumns = component.columns && Array.isArray(component.columns); var hasRows = component.rows && Array.isArray(component.rows); var hasComps = component.components && Array.isArray(component.components); var noRecurse = false; var newPath = component.key ? path ? path + '.' + component.key : component.key : ''; // Keep track of parent references. if (parent) { // Ensure we don't create infinite JSON structures. component.parent = _lodash2.default.clone(parent); delete component.parent.components; delete component.parent.componentMap; delete component.parent.columns; delete component.parent.rows; } if (includeAll || component.tree || !hasColumns && !hasRows && !hasComps) { noRecurse = fn(component, newPath); } var subPath = function subPath() { if (component.key && (['datagrid', 'container', 'editgrid'].includes(component.type) || component.tree)) { return newPath; } else if (component.key && component.type === 'form') { return newPath + '.data'; } return path; }; if (!noRecurse) { if (hasColumns) { component.columns.forEach(function (column) { return FormioExportUtils.eachComponent(column.components, fn, includeAll, subPath(), parent ? component : null); }); } else if (hasRows) { component.rows.forEach(function (row) { return row.forEach(function (column) { return FormioExportUtils.eachComponent(column.components, fn, includeAll, subPath(), parent ? component : null); }); }); } else if (hasComps) { FormioExportUtils.eachComponent(component.components, fn, includeAll, subPath(), parent ? component : null); } } }); }, /** * Creates a DOM element with optional attributes and children elements. * * @param {String} tag * The DOM element tag name * @param {any} args * The DOM element attributes and / or children nodes * @returns {Element} * The DOM element */ createElement: function createElement(tag) { for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { args[_key - 1] = arguments[_key]; } var el = document.createElement(tag); var attributes = {}; // check if there are attributes defined if (!!args[0] && _typeof(args[0]) === 'object') { attributes = args[0]; // ...and remove them from args args = args.slice(1); } // check if HTML style is defined as object if (!!attributes.style && _typeof(attributes.style) === 'object') { // transform the style object into string attributes.style = _lodash2.default.map(attributes.style, function (value, key) { return key + ':' + value; }).join(';'); } // check if innerHTML is defined if (attributes.hasOwnProperty('innerHTML')) { // ...and delete the original innerHTML property el.innerHTML = attributes.innerHTML; delete attributes.innerHTML; } else { // create HTML element with supplied attributes and children (if any) _lodash2.default.forEach(args, function (arg) { if (_lodash2.default.isString(arg)) { el.appendChild(document.createTextNode(arg)); } else if (_lodash2.default.isElement(arg) || _lodash2.default.isObject(arg) && arg.nodeType > 0) { el.appendChild(arg); } }); } _lodash2.default.forEach(attributes, function (value, key) { el.setAttribute(key, value); }); // return the created HTML element return el; } }; exports.default = FormioExportUtils; module.exports = exports['default']; /***/ }), /* 2 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); var _lodash = __webpack_require__(0); var _lodash2 = _interopRequireDefault(_lodash); var _utils = __webpack_require__(1); var _utils2 = _interopRequireDefault(_utils); var _2 = __webpack_require__(5); var _3 = _interopRequireDefault(_2); var _plugins = __webpack_require__(14); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } var BaseComponent = function () { function BaseComponent(component, data) { var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; _classCallCheck(this, BaseComponent); if (!(this instanceof BaseComponent)) { return new BaseComponent(component, data); } this.type = ''; this._options = _lodash2.default.cloneDeep(options); this._value = null; this._dims = {}; this._baseWidth = 1; this._baseHeight = 1; if (_lodash2.default.isObject(component) && component.hasOwnProperty('type')) { var comp = _lodash2.default.cloneDeep(component); for (var property in comp) { this[property] = comp[property]; } } if (data === null) { return this; } if (_lodash2.default.isPlainObject(data)) { this._value = _utils2.default.getValue({ data: data }, this.key); if (_lodash2.default.isNil(this._value) && !this.input) { this._value = _lodash2.default.cloneDeep(data); } } else { this._value = data; } } _createClass(BaseComponent, [{ key: 'getLabel', value: function getLabel() { return this.legend || this.title || this.label || this.key; } }, { key: 'getHtml', value: function getHtml() { return this.html; } }, { key: 'emptyValue', value: function emptyValue() { return _lodash2.default.isNil(this._options.emptyValue) ? '' : this._options.emptyValue; } }, { key: 'toHtml', value: function toHtml(element) { return (0, _plugins.toHtml)(element, this); } }, { key: 'getDimensions', value: function getDimensions() { this._dims = (0, _plugins.getDimensions)(this); return this._dims; } }, { key: 'hasComponents', value: function hasComponents() { var hasColumns = this.columns && Array.isArray(this.columns); var hasRows = this.rows && Array.isArray(this.rows); var hasComps = this.components && Array.isArray(this.components); return hasColumns || hasRows || hasComps; } }, { key: 'updateDimensions', value: function updateDimensions() { this._width = 1; this._height = 1; } }, { key: 'createComponent', value: function createComponent(component, data, options) { return _3.default.create(component, data, options); } }, { key: 'formatValue', value: function formatValue() { if (_lodash2.default.isNil(this._value)) { return this.emptyValue(); } return this._value.toString(); } }, { key: 'isLayoutComponent', value: function isLayoutComponent() { return false; } }]); return BaseComponent; }(); exports.default = BaseComponent; module.exports = exports['default']; /***/ }), /* 3 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); var _lodash = __webpack_require__(0); var _lodash2 = _interopRequireDefault(_lodash); var _base = __webpack_require__(2); var _base2 = _interopRequireDefault(_base); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } var TextFieldComponent = function (_BaseComponent) { _inherits(TextFieldComponent, _BaseComponent); function TextFieldComponent(component, data, options) { _classCallCheck(this, TextFieldComponent); return _possibleConstructorReturn(this, (TextFieldComponent.__proto__ || Object.getPrototypeOf(TextFieldComponent)).call(this, component, data, options)); } _createClass(TextFieldComponent, [{ key: 'formatValue', value: function formatValue() { if (_lodash2.default.isEmpty(this._value)) { return this.emptyValue(); } var value = typeof this._value === 'string' ? this._value : this._value.toString(); if (this.type === 'textarea' && this.editor === 'ckeditor') { value = value.replace(/<\/?[^>]+(>|$)/g, '').replace(/&nbsp;/g, ' '); } return value; } }]); return TextFieldComponent; }(_base2.default); exports.default = TextFieldComponent; module.exports = exports['default']; /***/ }), /* 4 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); var _lodash = __webpack_require__(0); var _lodash2 = _interopRequireDefault(_lodash); var _base = __webpack_require__(2); var _base2 = _interopRequireDefault(_base); var _plugins = __webpack_require__(41); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } var ContainerComponent = function (_BaseComponent) { _inherits(ContainerComponent, _BaseComponent); function ContainerComponent(component, data, options) { _classCallCheck(this, ContainerComponent); var _this = _possibleConstructorReturn(this, (ContainerComponent.__proto__ || Object.getPrototypeOf(ContainerComponent)).call(this, component, data, options)); if (_this.components && _lodash2.default.isArray(_this.components)) { var components = []; _lodash2.default.forEach(_this.components, function (c) { components.push(_this.createComponent(c, data, options)); }); _this.components = components; } return _this; } _createClass(ContainerComponent, [{ key: 'toHtml', value: function toHtml(element) { return (0, _plugins.toHtml)(element, this); } }]); return ContainerComponent; }(_base2.default); exports.default = ContainerComponent; module.exports = exports['default']; /***/ }), /* 5 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _textfield = __webpack_require__(3); var _textfield2 = _interopRequireDefault(_textfield); var _textarea = __webpack_require__(17); var _textarea2 = _interopRequireDefault(_textarea); var _email = __webpack_require__(18); var _email2 = _interopRequireDefault(_email); var _password = __webpack_require__(19); var _password2 = _interopRequireDefault(_password); var _phonenumber = __webpack_require__(20); var _phonenumber2 = _interopRequireDefault(_phonenumber); var _number = __webpack_require__(6); var _number2 = _interopRequireDefault(_number); var _currency = __webpack_require__(21); var _currency2 = _interopRequireDefault(_currency); var _datetime = __webpack_require__(22); var _datetime2 = _interopRequireDefault(_datetime); var _day = __webpack_require__(24); var _day2 = _interopRequireDefault(_day); var _time = __webpack_require__(25); var _time2 = _interopRequireDefault(_time); var _address = __webpack_require__(26); var _address2 = _interopRequireDefault(_address); var _checkbox = __webpack_require__(27); var _checkbox2 = _interopRequireDefault(_checkbox); var _radio = __webpack_require__(28); var _radio2 = _interopRequireDefault(_radio); var _selectboxes = __webpack_require__(29); var _selectboxes2 = _interopRequireDefault(_selectboxes); var _select = __webpack_require__(7); var _select2 = _interopRequireDefault(_select); var _resource = __webpack_require__(34); var _resource2 = _interopRequireDefault(_resource); var _survey = __webpack_require__(35); var _survey2 = _interopRequireDefault(_survey); var _file = __webpack_require__(8); var _file2 = _interopRequireDefault(_file); var _signature = __webpack_require__(40); var _signature2 = _interopRequireDefault(_signature); var _container = __webpack_require__(4); var _container2 = _interopRequireDefault(_container); var _datagrid = __webpack_require__(43); var _datagrid2 = _interopRequireDefault(_datagrid); var _editgrid = __webpack_require__(47); var _editgrid2 = _interopRequireDefault(_editgrid); var _form = __webpack_require__(48); var _form2 = _interopRequireDefault(_form); var _html = __webpack_require__(52); var _html2 = _interopRequireDefault(_html); var _content = __webpack_require__(9); var _content2 = _interopRequireDefault(_content); var _columns = __webpack_require__(55); var _columns2 = _interopRequireDefault(_columns); var _panel = __webpack_require__(10); var _panel2 = _interopRequireDefault(_panel); var _fieldset = __webpack_require__(59); var _fieldset2 = _interopRequireDefault(_fieldset); var _well = __webpack_require__(60); var _well2 = _interopRequireDefault(_well); var _unknown = __webpack_require__(63); var _unknown2 = _interopRequireDefault(_unknown); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var FormioComponent = { textfield: _textfield2.default, textarea: _textarea2.default, email: _email2.default, password: _password2.default, phoneNumber: _phonenumber2.default, number: _number2.default, currency: _currency2.default, datetime: _datetime2.default, day: _day2.default, time: _time2.default, address: _address2.default, checkbox: _checkbox2.default, radio: _radio2.default, selectboxes: _selectboxes2.default, select: _select2.default, resource: _resource2.default, survey: _survey2.default, file: _file2.default, signature: _signature2.default, container: _container2.default, datagrid: _datagrid2.default, editgrid: _editgrid2.default, columns: _columns2.default, panel: _panel2.default, fieldset: _fieldset2.default, unknown: _unknown2.default, well: _well2.default, form: _form2.default, content: _content2.default, html: _html2.default, create: function create(component, data, options) { var c = null; if (!component) { return null; } else if (FormioComponent.hasOwnProperty(component.type)) { c = new FormioComponent[component.type](component, data, options); } else { c = new _unknown2.default(component, data, options); } if (data != null && component.type !== 'form' && component.conditional !== undefined && component.conditional.when !== null) { var componentToCheck = component.conditional.when; var componentValue = data[componentToCheck]; var componentShouldBe = component.conditional.eq; switch (c.type) { case 'columns': for (var i in c.columns) { for (var j in c.columns[i].components) { var hidden = !(component.conditional.show === 'true' && componentValue === componentShouldBe); c.columns[i].components[j].hidden = hidden; } } break; default: c.hidden = !(component.conditional.show === 'true' && componentValue === componentShouldBe); break; } } return c; } }; exports.default = FormioComponent; module.exports = exports['default']; /***/ }), /* 6 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); var _lodash = __webpack_require__(0); var _lodash2 = _interopRequireDefault(_lodash); var _base = __webpack_require__(2); var _base2 = _interopRequireDefault(_base); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } var NumberComponent = function (_BaseComponent) { _inherits(NumberComponent, _BaseComponent); function NumberComponent(component, data, options) { _classCallCheck(this, NumberComponent); return _possibleConstructorReturn(this, (NumberComponent.__proto__ || Object.getPrototypeOf(NumberComponent)).call(this, component, data, options)); } _createClass(NumberComponent, [{ key: 'formatValue', value: function formatValue() { if (_lodash2.default.isNil(this._value)) { return this.emptyValue(); } return this._value.toLocaleString(); } }]); return NumberComponent; }(_base2.default); exports.default = NumberComponent; module.exports = exports['default']; /***/ }), /* 7 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); var _lodash = __webpack_require__(0); var _lodash2 = _interopRequireDefault(_lodash); var _utils = __webpack_require__(1); var _utils2 = _interopRequireDefault(_utils); var _base = __webpack_require__(2); var _base2 = _interopRequireDefault(_base); var _plugins = __webpack_require__(32); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } var SelectComponent = function (_BaseComponent) { _inherits(SelectComponent, _BaseComponent); function SelectComponent(component, data, options) { _classCallCheck(this, SelectComponent); var _this = _possibleConstructorReturn(this, (SelectComponent.__proto__ || Object.getPrototypeOf(SelectComponent)).call(this, component, data, options)); if (!_this.multiple) { _this._value = [_this._value]; } return _this; } _createClass(SelectComponent, [{ key: 'toHtml', value: function toHtml(element) { return (0, _plugins.toHtml)(element, this); } }, { key: 'formatValues', value: function formatValues() { var _this2 = this; if (_lodash2.default.isNil(this._value)) { return this.emptyValue(); } var values = []; _lodash2.default.forEach(this._value, function (value) { values.push(_this2.formatValue(value)); }); return values; } }, { key: 'formatValue', value: function formatValue(value) { if (_lodash2.default.isNil(value)) { return this.emptyValue(); } switch (this.dataSrc) { case 'url': return value; case 'custom': case 'resource': return _lodash2.default.isPlainObject(value) ? _utils2.default.interpolate(this.template, { item: value }) : value; case 'values': case 'json': var valueProperty = this.valueProperty || 'value'; var item = _lodash2.default.find(this.data[this.dataSrc], function (o) { return o[valueProperty] === value; }); return _lodash2.default.isPlainObject(item) ? _utils2.default.interpolate(this.template, { item: item }) : value; default: return value; } } }]); return SelectComponent; }(_base2.default); exports.default = SelectComponent; module.exports = exports['default']; /***/ }), /* 8 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); var _base = __webpack_require__(2); var _base2 = _interopRequireDefault(_base); var _plugins = __webpack_require__(38); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } var FileComponent = function (_BaseComponent) { _inherits(FileComponent, _BaseComponent); function FileComponent(component, data, options) { _classCallCheck(this, FileComponent); return _possibleConstructorReturn(this, (FileComponent.__proto__ || Object.getPrototypeOf(FileComponent)).call(this, component, data, options)); } _createClass(FileComponent, [{ key: 'toHtml', value: function toHtml(element) { return (0, _plugins.toHtml)(element, this); } }]); return FileComponent; }(_base2.default); exports.default = FileComponent; module.exports = exports['default']; /***/ }), /* 9 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); var _container = __webpack_require__(4); var _container2 = _interopRequireDefault(_container); var _plugins = __webpack_require__(53); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } var ContentComponent = function (_ContainerComponent) { _inherits(ContentComponent, _ContainerComponent); function ContentComponent(component, data, options) { _classCallCheck(this, ContentComponent); return _possibleConstructorReturn(this, (ContentComponent.__proto__ || Object.getPrototypeOf(ContentComponent)).call(this, component, data, options)); } _createClass(ContentComponent, [{ key: 'toHtml', value: function toHtml(element) { return (0, _plugins.toHtml)(element, this); } }]); return ContentComponent; }(_container2.default); exports.default = ContentComponent; module.exports = exports['default']; /***/ }), /* 10 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _container = __webpack_require__(4); var _container2 = _interopRequireDefault(_container); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } var PanelComponent = function (_ContainerComponent) { _inherits(PanelComponent, _ContainerComponent); function PanelComponent(component, data, options) { _classCallCheck(this, PanelComponent); return _possibleConstructorReturn(this, (PanelComponent.__proto__ || Object.getPrototypeOf(PanelComponent)).call(this, component, data, options)); } return PanelComponent; }(_container2.default); exports.default = PanelComponent; module.exports = exports['default']; /***/ }), /* 11 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /* WEBPACK VAR INJECTION */(function(global) { Object.defineProperty(exports, "__esModule", { value: true }); var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; var _formioExport = __webpack_require__(13); var _formioExport2 = _interopRequireDefault(_formioExport); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } if ((typeof global === 'undefined' ? 'undefined' : _typeof(global)) === 'object') { global.FormioExport = _formioExport2.default; } exports.default = _formioExport2.default; module.exports = exports['default']; /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(12))) /***/ }), /* 12 */ /***/ (function(module, exports) { var g; // This works in non-strict mode g = (function() { return this; })(); try { // This works if eval is allowed (see CSP) g = g || new Function("return this")(); } catch (e) { // This works if the window reference is available if (typeof window === "object") g = window; } // g can still be undefined, but nothing to do about it... // We return undefined, instead of nothing here, so it's // easier to handle this case. if(!global) { ...} module.exports = g; /***/ }), /* 13 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); // Import export plugins var _lodash = __webpack_require__(0); var _lodash2 = _interopRequireDefault(_lodash); var _utils = __webpack_require__(1); var _utils2 = _interopRequireDefault(_utils); var _formio = __webpack_require__(5); var _formio2 = _interopRequireDefault(_formio); var _plugins = __webpack_require__(64); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } /** * Class for exporting formio components into different formats * * @class FormioExport */ var FormioExport = function () { /** * Creates an instance of FormioExport. * @param {any} component The formio component * @param {any} data The formio component data * @param {any} [options={}] Formio optional parameters * @memberof FormioExport */ function FormioExport(component, data) { var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; _classCallCheck(this, FormioExport); if (!(this instanceof FormioExport)) { return new FormioExport(component, data); } this.component = null; this.data = {}; this.options = {}; if (options.hasOwnProperty('formio')) { this.options = _lodash2.default.cloneDeep(options.formio); } if (options.hasOwnProperty('component')) { this.component = options.component; } else if (component) { this.component = component; } if (options.hasOwnProperty('data')) { this.data = options.data; } else if (!_lodash2.default.isNil(data)) { this.data = data; } if (_utils2.default.isFormioSubmission(this.data)) { this.data = this.data.data; } if (options.hasOwnProperty('meta')) { this.options.submission = this.options.submission || {}; this.options.submission.generatedOn = options.meta.generatedOn; this.options.submission.generatedBy = options.meta.generatedBy; } if (this.component) { if (_utils2.default.isFormioForm(this.component) || _utils2.default.isFormioWizard(this.component)) { this.component.type = 'form'; this.component.display = 'form'; } this.component = _formio2.default.create(component || this.component, this.data, this.options); } else if (!this.component) { console.warn(this.constructor.name, 'no component defined'); } } /** * Renders the formio component to HTML * * @returns {Promise} The promise containing the HTML render of the formio component * @memberof FormioExport */ _createClass(FormioExport, [{ key: 'toHtml', value: function toHtml() { var _this = this; return new Promise(function (resolve, reject) { try { (0, _plugins.toHtml)(_this.component).then(function (html) { return resolve(html); }); } catch (error) { reject(error); } }); } /** * Exports the formio component to a jsPDF object * * @param {any} [config={}] The Html2PDf configuration * @returns {Promise} The promise containing the jsPDF object * @memberof FormioExport */ }, { key: 'toPdf', value: function toPdf() { var _this2 = this; var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; return new Promise(function (resolve, reject) { try { _this2.toHtml().then(function (source) { (0, _plugins.toPdf)(Object.assign(config, { source: source })).then(function (pdf) { return resolve(pdf); }); }); } catch (error) { reject(error); } }); } /** * Exports the formio component to a xlsx object * * @param {any} [config={}] The xlsx configuration * @returns {Promise} The promise containing the xlsx object * @memberof FormioExport */ }, { key: 'toXlsx', value: function toXlsx() { var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; return new Promise(function (resolve, reject) { try { (0, _plugins.toXlsx)(config).then(function (xlsx) { return resolve(xlsx); }); } catch (error) { reject(error); } }); }