(function (app) { 'use strict'; function create(schema, ui, path, value, options) { options = options || {}; if (!schema) { return app.modules.widgets.makePrimitive({ type: 'string' }, ui, path, value, options); } const t = schema.type; if (t === 'object') { return app.modules.object.makeObject(schema, ui, path, value, options); } if (t === 'array') { return app.modules.array.makeArray(schema, ui, path, value, options); } // Anything else (string, number, integer, boolean, enum) falls through // to the primitive widget which dispatches on schema.type / schema.enum. return app.modules.widgets.makePrimitive(schema, ui, path, value, options); } function mount(rootEl, schema, ui, data) { const widget = create(schema, ui, '', data, { fieldName: '', required: false }); rootEl.appendChild(widget.el); return widget; } app.modules.render = { create: create, mount: mount }; })(window.formApp);