UNPKG

formiojs

Version:

Common js library for client side interaction with <form.io>

313 lines (239 loc) • 8.93 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "Builders", { enumerable: true, get: function get() { return _Builders.default; } }); Object.defineProperty(exports, "Components", { enumerable: true, get: function get() { return _Components.default; } }); Object.defineProperty(exports, "Conjunctions", { enumerable: true, get: function get() { return _conjunctions.default; } }); Object.defineProperty(exports, "Displays", { enumerable: true, get: function get() { return _Displays.default; } }); Object.defineProperty(exports, "Form", { enumerable: true, get: function get() { return _Form.default; } }); Object.defineProperty(exports, "Formio", { enumerable: true, get: function get() { return _Formio.default; } }); Object.defineProperty(exports, "Operators", { enumerable: true, get: function get() { return _operators.default; } }); Object.defineProperty(exports, "Providers", { enumerable: true, get: function get() { return _providers.default; } }); Object.defineProperty(exports, "QuickRules", { enumerable: true, get: function get() { return _quickRules.default; } }); Object.defineProperty(exports, "Rules", { enumerable: true, get: function get() { return _Rules.default; } }); Object.defineProperty(exports, "Templates", { enumerable: true, get: function get() { return _Templates.default; } }); Object.defineProperty(exports, "Transformers", { enumerable: true, get: function get() { return _transformers.default; } }); Object.defineProperty(exports, "Utils", { enumerable: true, get: function get() { return _utils.default; } }); Object.defineProperty(exports, "ValueSources", { enumerable: true, get: function get() { return _valueSources.default; } }); Object.defineProperty(exports, "Widgets", { enumerable: true, get: function get() { return _widgets.default; } }); require("core-js/modules/es.object.keys.js"); require("core-js/modules/es.object.to-string.js"); require("core-js/modules/web.dom-collections.for-each.js"); require("core-js/modules/es.symbol.js"); require("core-js/modules/es.symbol.description.js"); require("core-js/modules/es.symbol.iterator.js"); require("core-js/modules/es.array.iterator.js"); require("core-js/modules/es.string.iterator.js"); require("core-js/modules/web.dom-collections.iterator.js"); var _lodash = _interopRequireDefault(require("lodash")); var _Formio = _interopRequireDefault(require("./Formio")); var _components = _interopRequireDefault(require("./components")); var _Builders = _interopRequireDefault(require("./builders/Builders")); var _Components = _interopRequireDefault(require("./components/Components")); var _Displays = _interopRequireDefault(require("./displays/Displays")); var _Templates = _interopRequireDefault(require("./templates/Templates")); var _providers = _interopRequireDefault(require("./providers")); var _Rules = _interopRequireDefault(require("./validator/Rules")); var _conjunctions = _interopRequireDefault(require("./validator/conjunctions")); var _operators = _interopRequireDefault(require("./validator/operators")); var _quickRules = _interopRequireDefault(require("./validator/quickRules")); var _transformers = _interopRequireDefault(require("./validator/transformers")); var _valueSources = _interopRequireDefault(require("./validator/valueSources")); var _widgets = _interopRequireDefault(require("./widgets")); var _Form = _interopRequireDefault(require("./Form")); var _utils = _interopRequireDefault(require("./utils")); var _Evaluator = _interopRequireDefault(require("./utils/Evaluator")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } _Formio.default.loadModules = function () { var path = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "".concat(_Formio.default.getApiUrl(), "/externalModules.js"); var name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'externalModules'; _Formio.default.requireLibrary(name, name, path, true).then(function (modules) { _Formio.default.use(modules); }); }; // This is needed to maintain correct imports using the "dist" file. _Formio.default.Components = _Components.default; _Formio.default.Templates = _Templates.default; _Formio.default.Builders = _Builders.default; _Formio.default.Utils = _utils.default; _Formio.default.Form = _Form.default; _Formio.default.Displays = _Displays.default; _Formio.default.Providers = _providers.default; _Formio.default.Rules = _Rules.default; _Formio.default.Widgets = _widgets.default; _Formio.default.Evaluator = _Evaluator.default; _Formio.default.Conjunctions = _conjunctions.default; _Formio.default.Operators = _operators.default; _Formio.default.QuickRules = _quickRules.default; _Formio.default.Transformers = _transformers.default; _Formio.default.ValueSources = _valueSources.default; _Formio.default.AllComponents = _components.default; // This is strange, but is needed for "premium" components to import correctly. _Formio.default.Formio = _Formio.default; _Formio.default.Components.setComponents(_components.default); var registerPlugin = function registerPlugin(plugin) { // Sanity check. if (_typeof(plugin) !== 'object') { return; } for (var _i = 0, _Object$keys = Object.keys(plugin); _i < _Object$keys.length; _i++) { var key = _Object$keys[_i]; var current = plugin.framework || _Formio.default.Templates.framework || 'bootstrap'; switch (key) { case 'options': _Formio.default.options = _lodash.default.merge(_Formio.default.options, plugin.options); break; case 'templates': for (var _i2 = 0, _Object$keys2 = Object.keys(plugin.templates); _i2 < _Object$keys2.length; _i2++) { var framework = _Object$keys2[_i2]; _Formio.default.Templates.extendTemplate(framework, plugin.templates[framework]); } if (plugin.templates[current]) { _Formio.default.Templates.current = plugin.templates[current]; } break; case 'components': _Formio.default.Components.setComponents(plugin.components); break; case 'framework': _Formio.default.Templates.framework = plugin.framework; break; case 'fetch': for (var _i3 = 0, _Object$keys3 = Object.keys(plugin.fetch); _i3 < _Object$keys3.length; _i3++) { var name = _Object$keys3[_i3]; _Formio.default.registerPlugin(plugin.fetch[name], name); } break; case 'providers': for (var _i4 = 0, _Object$keys4 = Object.keys(plugin.providers); _i4 < _Object$keys4.length; _i4++) { var type = _Object$keys4[_i4]; _Formio.default.Providers.addProviders(type, plugin.providers[type]); } break; case 'displays': _Formio.default.Displays.addDisplays(plugin.displays); break; case 'builders': _Formio.default.Builders.addBuilders(plugin.builders); break; case 'rules': _Formio.default.Rules.addRules(plugin.rules); break; case 'evaluator': _Formio.default.Evaluator.registerEvaluator(plugin.evaluator); break; case 'conjunctions': _Formio.default.Conjunctions.addConjunctions(plugin.conjunctions); break; case 'operators': _Formio.default.Operators.addOperators(plugin.operators); break; case 'quickRules': _Formio.default.QuickRules.addQuickRules(plugin.quickRules); break; case 'transformers': _Formio.default.Transformers.addTransformers(plugin.transformers); break; case 'valueSources': _Formio.default.ValueSources.addValueSources(plugin.valueSources); break; default: console.log('Unknown plugin option', key); } } }; /** * Allows passing in plugins as multiple arguments or an array of plugins. * * Formio.plugins(plugin1, plugin2, etc); * Formio.plugins([plugin1, plugin2, etc]); */ _Formio.default.use = function () { for (var _len = arguments.length, plugins = new Array(_len), _key = 0; _key < _len; _key++) { plugins[_key] = arguments[_key]; } plugins.forEach(function (plugin) { if (Array.isArray(plugin)) { plugin.forEach(function (p) { return registerPlugin(p); }); } else { registerPlugin(plugin); } }); }; // Export the components.