diff --git a/testapp/client/main.html b/testapp/client/main.html new file mode 100644 index 00000000..0631c435 --- /dev/null +++ b/testapp/client/main.html @@ -0,0 +1,16 @@ + + + AutoForm DEMO + + +
+

AutoForm DEMO

+ + {{> quickForm id="userForm" type="normal" schema=schema}} + + {{#let userDoc=userDoc}} + Name: {{userDoc.name}} + Age: {{userDoc.age}} + {{/let}} +
+ diff --git a/testapp/client/main.js b/testapp/client/main.js new file mode 100644 index 00000000..673ad916 --- /dev/null +++ b/testapp/client/main.js @@ -0,0 +1,47 @@ +import { Template } from 'meteor/templating' +import { ReactiveVar } from 'meteor/reactive-var' +import SimpleSchema from 'simpl-schema' +import { Tracker } from 'meteor/tracker' +import './setup' +import './main.html' + +SimpleSchema.extendOptions(['autoform']) +const schema = new SimpleSchema({ + name: { + type: String, + min: 2, + max: 20 + }, + age: { + type: Number, + min: 18, + max: 120, + autoform: { + min: 18, + max: 120, + defaultValue: 18, + } + } +}, { tracker: Tracker }) + +Template.body.onCreated(function () { + const instance = this + instance.user = new ReactiveVar() +}) + +Template.body.helpers({ + schema () { + return schema + }, + userDoc () { + return Template.instance().user.get() + } +}) + +Template.body.events({ + 'submit #userForm' (event, instance) { + event.preventDefault() + const { insertDoc } = AutoForm.getFormValues('userForm') + instance.user.set(insertDoc) + } +}) diff --git a/testapp/client/setup.js b/testapp/client/setup.js new file mode 100644 index 00000000..71d6f029 --- /dev/null +++ b/testapp/client/setup.js @@ -0,0 +1,9 @@ +import 'bootstrap' +import 'bootstrap/dist/css/bootstrap.css' // optional, default theme +import popper from '@popperjs/core' +import { AutoFormThemeBootstrap5 } from 'meteor/communitypackages:autoform-bootstrap5/static' +import 'meteor/aldeed:autoform/static' + +AutoForm.load() +AutoFormThemeBootstrap5.load() +AutoForm.setDefaultTemplate('bootstrap5')