formiojs
Version:
Common js library for client side interaction with <form.io>
268 lines (262 loc) • 9.91 kB
JavaScript
;
require("core-js/modules/es.object.define-property.js");
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, "Licenses", {
enumerable: true,
get: function get() {
return _licenses["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.array.for-each.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.array.is-array.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"));
var _licenses = _interopRequireDefault(require("./licenses"));
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"];
_Formio["default"].Licenses = _licenses["default"];
// This is strange, but is needed for "premium" components to import correctly.
_Formio["default"].Formio = _Formio["default"];
_Formio["default"].Components.setComponents(_components["default"]);
/**
* Register a module
* @param {*} plugin
* @param {*} options
* @returns
*/
var registerPlugin = function registerPlugin(plugin) {
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
// 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;
case 'library':
options.license ? _Formio["default"].Licenses.addLicense(plugin.library, options.license) : _Formio["default"].Licenses.removeLicense(plugin.library);
break;
default:
console.log('Unknown plugin option', key);
}
}
};
/**
* Allows passing in plugins as an array of plugins or a single plugin.
*
* Formio.plugins(plugin1, options);
* Formio.plugins([plugin1, plugin2, etc], options);
*/
_Formio["default"].use = function (plugins) {
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
plugins = _lodash["default"].isArray(plugins) ? plugins : [plugins];
plugins.forEach(function (plugin) {
if (Array.isArray(plugin)) {
plugin.forEach(function (p) {
return registerPlugin(p, options);
});
} else {
registerPlugin(plugin, options);
}
});
};
// Export the components.