Giter Club home page Giter Club logo

form-creator's Introduction

DigiFi Form Creator

Form Creator is a class used within DigiFi's open-source loan origination system ("LOS") to helps create a Responsive Form manifest. By using the given class methods, you can easily add formElements (as well as other fields) to the Responsive Form.

Class Methods

addFormElements(options) - Allows you to add form elements to form

Options Properties Type Required Example
gridProps           Object   N { className: 'test' }
validations Object N { full_name: [ { constraint: 'presence', message: '^Required', } ] }
< Any Property Name > Object Y { type: 'text', name: 'full_name', placeholder: 'Full Name', hasValidations: true, }

Example Code

instance.addFormElements({
    gridProps: {
      key: 'randomKey()',
    },
    validations: {
      'address_street': [{
        constraint: 'presence',
        message: '^Your home address is required.',
      }, {
        constraint: 'length',
        maximum: 100,
      }]
    },
    group1: {
      type: 'text',
      label: 'Home Address',
      name: 'address_street',
      placeholder: 'Street Address',
      hasValidations: true,
    },
  });

addFields(property, value) - Allows you to add properties directly to the form. Will unflatten nested objects

Parameters Type Required Example
property           String   Y 'props.ref'
value Any Y true

Example Code

instance.addFields('props.ref', true); // sets unflattened props.ref to true on the form

addOnSubmit(options)- Allows you to directly modify the onSubmit property for the form

Options Properties Type Required Example
url           String   Y '/application/form_submission'
method String Y 'post'
successCallback String N 'func:this.props.loginUser'
errorCallback String N 'func:this.props.reduxRouter.push'

Example Code

instance.addOnSubmit({ 
  url: '/application/form_submission', 
  method: 'post', 
  successCallback: 'func:this.props.loginUser', 
  errorCallback: 'func:this.props.reduxRouter.push', 
});

getForm - Returns the form manifest

Example Code

instance.getForm();

Install

To install

$ npm install @digifi-los/form-creator --save

To uninstall

$ npm uninstall @digifi-los/form-creator --save

Development

Make sure you have grunt installed

$ npm install -g grunt-cli jsdoc-to-markdown

For generating markdown documentation

$ grunt doc
$ jsdoc2md lib/*.js index.js > doc/api.md

Testing

Make sure you have grunt installed

Run the following command to test and return coverage

$ grunt test

For More Information

License

Apache License 2.0

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.