UNPKG

formio-export

Version:
1,441 lines (1,144 loc) 745 kB
(function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(require("lodash")); else if(typeof define === 'function' && define.amd) define("formio-export", ["_"], factory); else if(typeof exports === 'object') exports["formio-export"] = factory(require("lodash")); else root["formio-export"] = factory(root["_"]); })(window, function(__WEBPACK_EXTERNAL_MODULE__0__) { 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, { /******/ configurable: false, /******/ enumerable: true, /******/ get: getter /******/ }); /******/ } /******/ }; /******/ /******/ // define __esModule on exports /******/ __webpack_require__.r = function(exports) { /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ /******/ // 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 = 60); /******/ }) /************************************************************************/ /******/ ([ /* 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 _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__(2); var _utils2 = _interopRequireDefault(_utils); var _2 = __webpack_require__(9); var _3 = _interopRequireDefault(_2); var _plugins = __webpack_require__(58); 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: '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']; /***/ }), /* 2 */ /***/ (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']; /***/ }), /* 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__(1); 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(); } return _lodash2.default.isString(this._value) ? this._value : this._value.toString(); } }]); 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__(1); 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 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 _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']; /***/ }), /* 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 _base = __webpack_require__(1); var _base2 = _interopRequireDefault(_base); var _plugins = __webpack_require__(35); 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']; /***/ }), /* 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__(2); var _utils2 = _interopRequireDefault(_utils); var _base = __webpack_require__(1); 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 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 _lodash = __webpack_require__(0); var _lodash2 = _interopRequireDefault(_lodash); var _base = __webpack_require__(1); 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']; /***/ }), /* 9 */ /***/ (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__(55); var _textarea2 = _interopRequireDefault(_textarea); var _email = __webpack_require__(54); var _email2 = _interopRequireDefault(_email); var _password = __webpack_require__(53); var _password2 = _interopRequireDefault(_password); var _phonenumber = __webpack_require__(52); var _phonenumber2 = _interopRequireDefault(_phonenumber); var _number = __webpack_require__(8); var _number2 = _interopRequireDefault(_number); var _currency = __webpack_require__(51); var _currency2 = _interopRequireDefault(_currency); var _datetime = __webpack_require__(50); var _datetime2 = _interopRequireDefault(_datetime); var _day = __webpack_require__(49); var _day2 = _interopRequireDefault(_day); var _time = __webpack_require__(48); var _time2 = _interopRequireDefault(_time); var _address = __webpack_require__(47); var _address2 = _interopRequireDefault(_address); var _checkbox = __webpack_require__(46); var _checkbox2 = _interopRequireDefault(_checkbox); var _radio = __webpack_require__(45); var _radio2 = _interopRequireDefault(_radio); var _selectboxes = __webpack_require__(44); var _selectboxes2 = _interopRequireDefault(_selectboxes); var _select = __webpack_require__(7); var _select2 = _interopRequireDefault(_select); var _resource = __webpack_require__(39); var _resource2 = _interopRequireDefault(_resource); var _survey = __webpack_require__(38); var _survey2 = _interopRequireDefault(_survey); var _file = __webpack_require__(6); var _file2 = _interopRequireDefault(_file); var _signature = __webpack_require__(33); var _signature2 = _interopRequireDefault(_signature); var _container = __webpack_require__(4); var _container2 = _interopRequireDefault(_container); var _datagrid = __webpack_require__(30); var _datagrid2 = _interopRequireDefault(_datagrid); var _editgrid = __webpack_require__(26); var _editgrid2 = _interopRequireDefault(_editgrid); var _form = __webpack_require__(25); var _form2 = _interopRequireDefault(_form); var _columns = __webpack_require__(21); var _columns2 = _interopRequireDefault(_columns); var _panel = __webpack_require__(5); var _panel2 = _interopRequireDefault(_panel); var _fieldset = __webpack_require__(17); var _fieldset2 = _interopRequireDefault(_fieldset); var _unknown = __webpack_require__(16); 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, form: _form2.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); } return c; } }; exports.default = FormioComponent; module.exports = exports['default']; /***/ }), /* 10 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = function () { var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; return new Promise(function (resolve, reject) { try { throw new Error('[FormioExport] method not implemented'); } catch (error) { console.error(error); reject(error); } }); }; module.exports = exports['default']; /***/ }), /* 11 */ /***/ (function(module, exports, __webpack_require__) { (function webpackUniversalModuleDefinition(root, factory) { if(true) module.exports = factory(); else {} })(typeof self !== 'undefined' ? self : this, function() { 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, { /******/ configurable: false, /******/ enumerable: true, /******/ get: getter /******/ }); /******/ } /******/ }; /******/ /******/ // 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 = 30); /******/ }) /************************************************************************/ /******/ ([ /* 0 */ /***/ (function(module, exports) { // shim for using process in browser var process = module.exports = {}; // cached from whatever global is present so that test runners that stub it // don't break things. But we need to wrap it in a try catch in case it is // wrapped in strict mode code which doesn't define any globals. It's inside a // function because try/catches deoptimize in certain engines. var cachedSetTimeout; var cachedClearTimeout; function defaultSetTimout() { throw new Error('setTimeout has not been defined'); } function defaultClearTimeout () { throw new Error('clearTimeout has not been defined'); } (function () { try { if (typeof setTimeout === 'function') { cachedSetTimeout = setTimeout; } else { cachedSetTimeout = defaultSetTimout; } } catch (e) { cachedSetTimeout = defaultSetTimout; } try { if (typeof clearTimeout === 'function') { cachedClearTimeout = clearTimeout; } else { cachedClearTimeout = defaultClearTimeout; } } catch (e) { cachedClearTimeout = defaultClearTimeout; } } ()) function runTimeout(fun) { if (cachedSetTimeout === setTimeout) { //normal enviroments in sane situations return setTimeout(fun, 0); } // if setTimeout wasn't available but was latter defined if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) { cachedSetTimeout = setTimeout; return setTimeout(fun, 0); } try { // when when somebody has screwed with setTimeout but no I.E. maddness return cachedSetTimeout(fun, 0); } catch(e){ try { // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally return cachedSetTimeout.call(null, fun, 0); } catch(e){ // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error return cachedSetTimeout.call(this, fun, 0); } } } function runClearTimeout(marker) { if (cachedClearTimeout === clearTimeout) { //normal enviroments in sane situations return clearTimeout(marker); } // if clearTimeout wasn't available but was latter defined if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) { cachedClearTimeout = clearTimeout; return clearTimeout(marker); } try { // when when somebody has screwed with setTimeout but no I.E. maddness return cachedClearTimeout(marker); } catch (e){ try { // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally return cachedClearTimeout.call(null, marker); } catch (e){ // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error. // Some versions of I.E. have different rules for clearTimeout vs setTimeout return cachedClearTimeout.call(this, marker); } } } var queue = []; var draining = false; var currentQueue; var queueIndex = -1; function cleanUpNextTick() { if (!draining || !currentQueue) { return; } draining = false; if (currentQueue.length) { queue = currentQueue.concat(queue); } else { queueIndex = -1; } if (queue.length) { drainQueue(); } } function drainQueue() { if (draining) { return; } var timeout = runTimeout(cleanUpNextTick); draining = true; var len = queue.length; while(len) { currentQueue = queue; queue = []; while (++queueIndex < len) { if (currentQueue) { currentQueue[queueIndex].run(); } } queueIndex = -1; len = queue.length; } currentQueue = null; draining = false; runClearTimeout(timeout); } process.nextTick = function (fun) { var args = new Array(arguments.length - 1); if (arguments.length > 1) { for (var i = 1; i < arguments.length; i++) { args[i - 1] = arguments[i]; } } queue.push(new Item(fun, args)); if (queue.length === 1 && !draining) { runTimeout(drainQueue); } }; // v8 likes predictible objects function Item(fun, array) { this.fun = fun; this.array = array; } Item.prototype.run = function () { this.fun.apply(null, this.array); }; process.title = 'browser'; process.browser = true; process.env = {}; process.argv = []; process.version = ''; // empty string to avoid regexp issues process.versions = {}; function noop() {} process.on = noop; process.addListener = noop; process.once = noop; process.off = noop; process.removeListener = noop; process.removeAllListeners = noop; process.emit = noop; process.prependListener = noop; process.prependOnceListener = noop; process.listeners = function (name) { return [] } process.binding = function (name) { throw new Error('process.binding is not supported'); }; process.cwd = function () { return '/' }; process.chdir = function (dir) { throw new Error('process.chdir is not supported'); }; process.umask = function() { return 0; }; /***/ }), /* 1 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; // http://dev.w3.org/csswg/css-color/ Object.defineProperty(exports, "__esModule", { value: true }); var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }(); 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; }; }(); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } var HEX3 = /^#([a-f0-9]{3})$/i; var hex3 = function hex3(value) { var match = value.match(HEX3); if (match) { return [parseInt(match[1][0] + match[1][0], 16), parseInt(match[1][1] + match[1][1], 16), parseInt(match[1][2] + match[1][2], 16), null]; } return false; }; var HEX6 = /^#([a-f0-9]{6})$/i; var hex6 = function hex6(value) { var match = value.match(HEX6); if (match) { return [parseInt(match[1].substring(0, 2), 16), parseInt(match[1].substring(2, 4), 16), parseInt(match[1].substring(4, 6), 16), null]; } return false; }; var RGB = /^rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)$/; var rgb = function rgb(value) { var match = value.match(RGB); if (match) { return [Number(match[1]), Number(match[2]), Number(match[3]), null]; } return false; }; var RGBA = /^rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d?\.?\d+)\s*\)$/; var rgba = function rgba(value) { var match = value.match(RGBA); if (match && match.length > 4) { return [Number(match[1]), Number(match[2]), Number(match[3]), Number(match[4])]; } return false; }; var fromArray = function fromArray(array) { return [Math.min(array[0], 255), Math.min(array[1], 255), Math.min(array[2], 255), array.length > 3 ? array[3] : null]; }; var namedColor = function namedColor(name) { var color = NAMED_COLORS[name.toLowerCase()]; return color ? color : false; }; var Color = f