formio-export
Version:
Formio Export Tools
1,441 lines (1,144 loc) • 745 kB
JavaScript
(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