0.0.4 • Published 5 years ago

@digifi-los/form-creator v0.0.4

Weekly downloads
79
License
UNLICENSED
Repository
github
Last release
5 years ago

DigiFi Form Creator

Form Creator is a class that helps with creating 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 PropertiesTypeRequiredExample
gridProps          Object  N{ className: 'test' }
validationsObjectN{ full_name: { constraint: 'presence', message: '^Required', } }
< Any Property Name >ObjectY{ 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

ParametersTypeRequiredExample
property          String  Y'props.ref'
valueAnyYtrue

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 PropertiesTypeRequiredExample
url          String  Y'/application/form_submission'
methodStringY'post'
successCallbackStringN'func:this.props.loginUser'
errorCallbackStringN'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