• Stars
    star
    634
  • Rank 70,925 (Top 2 %)
  • Language
    TypeScript
  • License
    MIT License
  • Created over 8 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

JSON powered forms for Angular

Form.io Angular JSON Form Renderer

This library serves as a Dynamic JSON Powered Form rendering library for Angular. This works by providing a JSON schema to a <formio> Angular component, where that form is dynamically rendered within the front end application. This allows forms to be dynamically built using JSON schemas.

Running Demo

To run a demo of the Form.io Angular renderer, please follow these steps.

  1. Make sure you have the Angular CLI installed on your machine.
  2. Download the Angular Demo Application to your computer.
  3. With your terminal, type npm install
  4. Now type ng serve

This will startup an example application where you can see all the features provided by this module.

Here is the hosted demo application https://formio.github.io/angular-demo/

Using within your application

You can easily render a form within your Angular application by referencing the URL of that form as follows.

<formio src='https://examples.form.io/example'></formio>

You can also pass the JSON form directly to the renderer as follows.

<formio [form]='{
    "title": "My Test Form",
    "components": [
        {
            "type": "textfield",
            "input": true,
            "tableView": true,
            "inputType": "text",
            "inputMask": "",
            "label": "First Name",
            "key": "firstName",
            "placeholder": "Enter your first name",
            "prefix": "",
            "suffix": "",
            "multiple": false,
            "defaultValue": "",
            "protected": false,
            "unique": false,
            "persistent": true,
            "validate": {
                "required": true,
                "minLength": 2,
                "maxLength": 10,
                "pattern": "",
                "custom": "",
                "customPrivate": false
            },
            "conditional": {
                "show": "",
                "when": null,
                "eq": ""
            }
        },
        {
            "type": "textfield",
            "input": true,
            "tableView": true,
            "inputType": "text",
            "inputMask": "",
            "label": "Last Name",
            "key": "lastName",
            "placeholder": "Enter your last name",
            "prefix": "",
            "suffix": "",
            "multiple": false,
            "defaultValue": "",
            "protected": false,
            "unique": false,
            "persistent": true,
            "validate": {
                "required": true,
                "minLength": 2,
                "maxLength": 10,
                "pattern": "",
                "custom": "",
                "customPrivate": false
            },
            "conditional": {
                "show": "",
                "when": null,
                "eq": ""
            }
        },
        {
            "input": true,
            "label": "Submit",
            "tableView": false,
            "key": "submit",
            "size": "md",
            "leftIcon": "",
            "rightIcon": "",
            "block": false,
            "action": "submit",
            "disableOnInvalid": true,
            "theme": "primary",
            "type": "button"
        }
    ]
}'></formio>

This is a very simple example. This library is capable of building very complex forms which include e-signatures, columns, panels, field conditionals, validation requirements, and the list goes on and on.

Usage

To use this library within your project, you will first need to install it as a dependency.

npm install --save @formio/angular formiojs

You can now include the module in your Angular application like so.

import { FormioModule } from '@formio/angular';
@NgModule({
    imports: [ BrowserModule, CommonModule, FormioModule ],
    declarations: [ AppComponent ],
    bootstrap: [ AppComponent ]
})
export class AppModule { }

Included Libraries

This library is a combination of multiple libraries that enable rapid Serverless application development using Form.io. These libraries are as follows.

  1. Form Renderer - The form renderer in Angular
  2. Form Builder - The form builder in Angular
  3. Form Manager - The form management application used to manage forms.
  4. Authentication - Allows an easy way to provide Form.io authentication into your application.
  5. Resource - A way to include the Resources within your application with full CRUDI support (Create, Read, Update, Delete, Index)
  6. Data Table (Grid) - A way to render data within a Table format, which includes pagination, sorting, etc.

Click on each of those links to read more about how they work and how to utilize them to their fullest potential.

Demo Application

If you would like to run a demonstration of all the features of this module, then you can check out the Angular Demo Application, which is the code behind the following hosted application @ https://formio.github.io/angular-demo

Application Starter Kit

For help in getting started using this library, we created the angular-app-starterkit repository to help you get started with best practices with using Form.io within an Angular application. You can try this applicatoin by downloading that application and then doing the following.

npm install
npm start

Full Documentation

To read up on the full documentation of this library, please check out the Wiki Page

About Form.io

Form.io is a combined form and data management API platform created for developers who are building "Serverless" form-based applications. Form.io provides an easy drag-and-drop form builder workflow allowing you to build complex forms for enterprise applications quickly and easily. These forms are then embedded directly into your application with a single line of code that dynamically renders the form (using Angular or React) in your app while at the very same time generating the RESTful API to support those forms. The Form.io platform also offers numerous 3rd-party services that are fully integrated into the form building process allowing you to extend the power and capability of your apps while saving time and effort.

You can use this renderer with Form.io by simply pointing the src parameter to the URL of the form. For example, the following URL points to the JSON schema of a form built on Form.io.

https://pjmfogrfqptslvi.form.io/test

To render this form, you simply provide that URL to the <formio> directive like so.

<formio src="https://pjmfogrfqptslvi.form.io/test"></formio>

Not only will this render the form, but it will also submit that form to the provided API endpoint.

More Repositories

1

formio

A Form and Data Management Platform for Progressive Web Applications.
JavaScript
2,005
star
2

formio.js

JavaScript powered Forms with JSON Form Builder
JavaScript
1,838
star
3

react

JSON powered forms for React.js
TypeScript
301
star
4

ngFormBuilder

The Form.IO Form Builder Application
JavaScript
130
star
5

resquel

Easily convert your SQL database into a REST API using Express.js
TypeScript
121
star
6

vue

Javascript Powered forms and JSON form builder for Vue.js
TypeScript
118
star
7

ngFormio

JSON powered form rendering library for AngularJS + Form.io.
JavaScript
99
star
8

angular-demo

A Demo application with Angular + Form.io
TypeScript
62
star
9

react-app-starterkit

A react starterkit for creating new web applications with Form.io
TypeScript
56
star
10

aurelia-formio

Form.io JSON Forms and Form Builder for Aurelia
TypeScript
45
star
11

angular-material

JSON powered forms for Angular Material
TypeScript
45
star
12

help.form.io

The help site for Form.io
JavaScript
42
star
13

angular-app-starterkit

Angular 7 + Bootstrap 4 application starter kit using Form.io
TypeScript
40
star
14

formio-viewer

Landing page viewer for forms and wizards within Form.io
HTML
33
star
15

keycred

A key credential generator for Office 365 App-Only API applications.
JavaScript
20
star
16

contrib

Contributed components for Form.io
HTML
18
star
17

react-native-formio

React Native Version of Formio Renderer
JavaScript
18
star
18

formio-service

The Form.IO API Service library for Node.js applications
JavaScript
18
star
19

cli

The Form.io command line interface.
JavaScript
17
star
20

formio-php

PHP Integration with Form.io
PHP
13
star
21

vue-app-starterkit

Starterkit for building apps with form.io and vue
Vue
13
star
22

formio-webhook-receiver

An example webhook receiver application.
JavaScript
13
star
23

formio-app-formio

The Form.io main front-end application.
JavaScript
13
star
24

formio-app-servicetracker

JavaScript
11
star
25

ngFormioGrid

Provides a way to display Form.io submission data within the Angular UI-Grid.
JavaScript
11
star
26

uswds

JavaScript Powered Forms for the United States Web Design System
JavaScript
11
star
27

formio-app-basic

A basic starter Angular.js application with User Authentication using Form.io
JavaScript
9
star
28

formio-red

Form.io integration into Node Red - http://nodered.org
HTML
9
star
29

enterprise-release

Release notes for Enterprise Form.io Servers
9
star
30

formio-upload

A file upload server/proxy for use with the Form.io file component.
JavaScript
9
star
31

core

The Form.io Core Javascript Framework
TypeScript
9
star
32

formio-app-formbuilder

A user portal for creating and managing forms
JavaScript
8
star
33

bootstrap

Bootstrap templates for form.io forms
JavaScript
7
star
34

formio-wizard

Angular.js Wizard using Form.io forms.
JavaScript
7
star
35

sw-express

Extend express so it will work in service workers
JavaScript
6
star
36

ng-app-starterkit

An angular 1.x starterkit for creating new web applications with Form.io
JavaScript
6
star
37

ngFormioHelper

A library to help build Angluar.js applications on top of Form.io.
JavaScript
6
star
38

examples.form.io

Examples of Form.IO integration and implementation.
JavaScript
6
star
39

formio-app-gpstracker

An application that allows you to create trails and track GPS coordinates.
JavaScript
5
star
40

formio-app-humanresources

An form and data management application for Human Resources.
JavaScript
5
star
41

formio-workers

A library of workers for the Form.io platform.
JavaScript
5
star
42

formio-server-proxy

A proxy server for the Form.io Enterprise Server.
JavaScript
5
star
43

formio-app-eventmanager

A very basic Event Registration system built on top of Form.io.
JavaScript
5
star
44

formio-app-todo

An example ToDo application for Form.io.
JavaScript
5
star
45

formio-app-movie

An example application using the Form.IO platform.
JavaScript
4
star
46

api

A form manager module
TypeScript
4
star
47

pdf-enterprise

PDF Server for Form.io Enterprise Server
CSS
4
star
48

aws-formio-deployment

Configurations for deploying Form.io into AWS
Roff
4
star
49

edge

A highly performant and extensible Application Server for Form.io Multi-Tenant Deployments.
JavaScript
4
star
50

pdf-libs

The PDF Libraries
C++
3
star
51

cordova-offline-demo

Cordova Offline Application Demo
JavaScript
3
star
52

uswds-viewer

HTML
3
star
53

semantic

Semantic UI Templates for form.io
JavaScript
3
star
54

module-example

An example of how to create a module for the formio.js renderer and builder.
JavaScript
3
star
55

deploy

Deployment strategies for Form.io Enterprise platform
Smarty
3
star
56

generator-formio

A Yeoman Generator for creating Form.IO applications.
JavaScript
3
star
57

bulma

Bulma templates for formio.js
JavaScript
2
star
58

formio-question

A directive that provides question and answer capabilities for Form.io forms.
JavaScript
2
star
59

formio-app-salesquote

An example application in Form.io for managing sales quotes.
JavaScript
2
star
60

instructions

Instructions for using the private package repository
2
star
61

eventmanager

An Event Manager application built in Angular + Form.io
TypeScript
2
star
62

formio-translations-demo

An Angular 5 application that integrates PhraseApp with Form.io
TypeScript
2
star
63

portal

The Form.io Community Edition Portal
TypeScript
2
star
64

aurelia-app-starterkit

HTML
2
star
65

react-native-app

Makefile
1
star
66

pretty-checkbox

Adding pretty-checkbox plugin to Form.io forms
JavaScript
1
star
67

custom-renderer

An example custom renderer that extends the Form.io core renderer.
JavaScript
1
star
68

eslint-config-formio

The ESLint config for Form.io projects
JavaScript
1
star
69

formio-form

A basic Form.IO form template
HTML
1
star
70

lodash

A tiny (3kb gzipped) reduced-set implementation of the Lodash library.
JavaScript
1
star