All Projects → vlio20 → Angular Material Form Builder

vlio20 / Angular Material Form Builder

A form builder with the Material design

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Angular Material Form Builder

Usetheform
React library for composing declarative forms, manage their state, handling their validation and much more.
Stars: ✭ 40 (-66.39%)
Mutual labels:  form-builder
Vue Rails Form Builder
A custom Rails form builder for Vue.js
Stars: ✭ 81 (-31.93%)
Mutual labels:  form-builder
Paperbits Demo
This repository shows an example how developers can use Paperbits to build web apps with rich content authoring capabilities.
Stars: ✭ 98 (-17.65%)
Mutual labels:  form-builder
Custom Widgets
The collection of custom widgets for SurveyJS: Survey Library and Survey Creator 📦
Stars: ✭ 51 (-57.14%)
Mutual labels:  form-builder
Cakephp
CakePHP: The Rapid Development Framework for PHP - Official Repository
Stars: ✭ 8,453 (+7003.36%)
Mutual labels:  form-builder
Surveyjs react quickstart
React QuickStart Boilerplate - SurveyJS: Survey Library and Survey Creator
Stars: ✭ 88 (-26.05%)
Mutual labels:  form-builder
Bankformtex
A SEPA bank transfer form with IBAN
Stars: ✭ 7 (-94.12%)
Mutual labels:  form-builder
Forms
Laravel Enso Form Builder is a customizable, template based form creator, so you can quickly create forms with the minimum amount of effort
Stars: ✭ 114 (-4.2%)
Mutual labels:  form-builder
Formium
The headless form builder for the modern web.
Stars: ✭ 78 (-34.45%)
Mutual labels:  form-builder
Formeditor
A form builder editor for Umbraco 7 - let your editors build forms easily with this free package.
Stars: ✭ 95 (-20.17%)
Mutual labels:  form-builder
Semantic Form
[READ ONLY] Semantic-UI form helper
Stars: ✭ 51 (-57.14%)
Mutual labels:  form-builder
Surveyjs Nodejs
Sample NodeJS backend for SurveyJS: Survey Library and Survey Creator
Stars: ✭ 65 (-45.38%)
Mutual labels:  form-builder
Former
A powerful form builder, for Laravel and other frameworks (stand-alone too)
Stars: ✭ 1,305 (+996.64%)
Mutual labels:  form-builder
Simple form
Forms made easy for Rails! It's tied to a simple DSL, with no opinion on markup.
Stars: ✭ 7,877 (+6519.33%)
Mutual labels:  form-builder
Uniforms
A React library for building forms from any schema.
Stars: ✭ 1,368 (+1049.58%)
Mutual labels:  form-builder
Rems For Organisations
Resources and Event Management System for small organisations and clubs. Mailers, Certificate Generation and much more 🎓🔗
Stars: ✭ 41 (-65.55%)
Mutual labels:  form-builder
Rsformview
A Cocoapods library designed to easily create forms with multiple data entry fields
Stars: ✭ 84 (-29.41%)
Mutual labels:  form-builder
Form For
ReactJS forms made easy
Stars: ✭ 118 (-0.84%)
Mutual labels:  form-builder
React Native Form Builder
Handle your forms in a smart way
Stars: ✭ 113 (-5.04%)
Mutual labels:  form-builder
Ngx Dynamic Form Builder
FormBuilder + class-transformer + class-validator = dynamic form group builder for Angular10+
Stars: ✭ 93 (-21.85%)
Mutual labels:  form-builder

Angular Material Form Builder!

Add support for angular 1.8.2

This module enables you to easily build forms, just the way you do it in Google forms.
The Module has two directives, one to create the form and the second to preview it: example1


DEMO

Run npm run serve-demo

Then follow the instruction (open http://localhost:5000)

Supported Form Items

Here is the list of form items which are supported by the module:

  1. Checkboxes (Group)
  2. Radio Button (Group)
  3. Plain input (Text, Number)
  4. Textarea
  5. Matrix
  6. Select
  7. Agreement Item
  8. Label Item

Installation

npm install @xenialab/angular-material-form-builder

npm install git+https://github.com/vlio20/angular-material-form-builder.git#v1.0.0

Add the following styles and scripts to your index.html:

<link rel="stylesheet" href="angular-material-form-builder/dist/styles/app.css">
<script src="angular-material-form-builder/dist/scripts/app.js"></script>

If you are using wiredep then just run in order to inject the module dependencies.

Use

In the form building step you need to use the form-item directive. Here is an example:

<form-item type="multipleChoices" item="vm.item"></form-item>

This will produce the following form item:
example2 Note: the item attribute should receive an object {} and the type attribute should receive one of the following: checkboxes, multipleChoices, input, textarea and matrix.

In order to preview the form you will need to use the form-view directive:

<form-view form="main.form"></form-view>

Note: the form attribute should receive the following object:

{
	items: [{...}, {...}, ..., {...}]
}

Each object in the items array should be the product of the form-item provided item object.

Also - Use

You can also use form-items-container directive. This directives adds the option to handle movement and deletion of items in the list. You just need to pass it the form and it will make the rest for you. Here is a code example:

<form-items-container form="main.form"></form-items-container>

Action Attributes: there are also the following attributes: on-delete, on-up, on-down, if provided then the action will appear at the top right left corner of the item. This attribute expects callback function which will be executed after clicking on the action. If you will provide the index of the item (like in the example below) you will also receive it in your callback. Here is HTML example:

<form-item ng-repeat="item in main.form.items track by $index"
             type="{{item.type}}"
             item="item"
             index="$index"
             on-delete="main.delete(item, index)"
             on-up="main.up(item, index)"
             on-down="main.down(item, index)">

        </form-item>

JS example:

  MainController.prototype.delete = function(item, index) {
    vm.form.items.splice(index, 1);
  };

  MainController.prototype.up = function(item, index) {
    if(index !== 0) {
      var prevItem = vm.form.items[index - 1];
      vm.form.items[index] = prevItem;
      vm.form.items[index - 1] = item;
    }
  };

  MainController.prototype.down = function(item, index) {
    if(index !== vm.form.items.length + 1) {
      var nextItem = vm.form.items[index + 1];
      vm.form.items[index] = nextItem;
      vm.form.items[index + 1] = item;
    }
  };

Contribution

  1. Fork the repo, run npm install then bower install and then gulp server in order to run the server locally. When ready run gulp build commit your changes and make a pull request.
  2. Report bugs and suggest enhancements.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].