.home.container-fluid
h1.title Formidable Forms
nav.level.is-mobile
p.level-item.has-text-centered
img(src="https://travis-ci.com/miking-the-viking/FormidableForms.svg?token=mm6yHByGgeorBxsvuzKv&branch=master")
p.level-item.has-text-centered
a.link.is-info(href="https://github.com/miking-the-viking/FormidableForms/projects/1") GitHub Project
h2.subtitle The last solution you'll need for inputs or forms. Powered by TypeScript, built with TDD.
.columns.is-desktop
.column
h2.heading.is-size-5 What it is, Soul Brother?
.column
p Formidable Forms is built using TypeScript and other open source libraries like
code class-validator
| to provide a simply configured, consistent, plug'n'play solution to creating and using forms in a front end application framework like Vue.
p In fact: the Vue implementation is the POC.
hr
.columns.is-desktop
.column
h2.heading.is-size-5 Forms, Formidable Forms.
p Out of the box, Formidable Forms comes with several different form types that are easily extensible:
p At its core, a form is defined by a
code JSON
| object conforming to a
code FormidableForm
| Class specification.
CollapsibleArea
pre(v-highlightjs="sampleFormJSON")
code(class="typescript")
p Pass in a FormidableField object into the
code fields
| array to add more fields to the form. Then pass the form configuration object to the
code FormidableForm
| .
CollapsibleArea
pre(v-highlightjs="formidableFormVueComponentUsagePug")
code(class="pug")
CollapsibleArea
pre(v-highlightjs="formidableFormVueComponentUsageHtml")
code(class="vue")
.column
.box
dl
dt Basic Form
dd Basic Forms are as simple as they come: a single form with 1...N Fields
dd.is-size-7.has-text-right
router-link(to="/docs/forms/basic") Read more about Formidable Basic Form
dt Wizard Form
dd Wizard Forms are a little more advanced as they are designed to have 1...N Steps each containing 1...N Fields.
dd.is-size-7.has-text-right
router-link(to="/docs/forms/wizard") Read more about Formidable Wizard For
hr
.columns.is-desktop
.column
h2.heading.is-size-5 Simply Formidable Fields
p Using the powers of abstracts and generics, Formidable Fields are very easily created, consistently; with validation, type safety and easy extensibility.
p To make the codebase cleaner, and implementation more refined, enums are employed as necessary: for Formidable Fields this starts with `FieldType` enum defined in the `field.abstract`.
.column
CollapsibleArea
.box
dl
div.dl-item(v-for="type in fieldTypeDescriptions" :key="type.key")
dt.is-size-5
code {{type.key}}
| :
code {{type.resolvesTo}}
dd {{type.description}}