Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@labshare/ngx-forms

Package Overview
Dependencies
Maintainers
17
Versions
66
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@labshare/ngx-forms

[![Greenkeeper badge](https://badges.greenkeeper.io/LabShare/ngx-forms.svg?token=4a12f6b1da0f082ac1bbf2c72bbcaf01b001705746c61c36eee1db6bda3d7c11&ts=1528346534395)](https://greenkeeper.io/) [![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93

  • 7.1.0
  • npm
  • Socket score

Version published
Weekly downloads
6
decreased by-40%
Maintainers
17
Weekly downloads
 
Created
Source

Greenkeeper badge semantic-release Build Status

ngx-forms

Dynamic form generator, creates Angular Reactive forms from json schema

Alt text

Installation

npm i --save @labshare/ngx-forms

Usage

Add html tag with bindings

<dynamic-form [formConfig]="config" #form="dynamicForm" [model]="data"></dynamic-form>
  • config - json array that contains fields definitions
  • #form="dynamicForm" - bind to dynamicForm object that has form output
  • model - preload data. One way binding only

Add reference in the component controller

export class MyFormComponent {
    @ViewChild('form') public formReference: DynamicFormDirective;

    public const config = [ 
        { type: 'text', label: 'Title', name: 'title' } 
    ];
 
    public const model = { title: "Example" }
    
}

Config example

[
    { type: 'hidden', name: 'id' },
    { type: 'text', label: 'Title', name: 'title', placeholder: 'Enter project title', required: true, max: 14 },
    { type: 'text', label: 'Name', name: 'activityName', placeholder: 'Enter project name', minLength: 2, maxLength: 5 },
]

Field options and examples

NameTypeDescriptionExample
disabled?booleandisable field if truedisabled: true
label?stringfield labellabel: "Project Title"
namestringfield namename: "projectTitle"
options?string[]options for <select> dropdownoptions: [ "Option 1", "Option 2" ]
placeholder?stringtext placeholderplaceholder: "Enter Project Title"
typestringfield type (see field type description)type: "select"
value?anyfield valuevalue: 123
required?booleanValidation: required or notrequired: true
minLength?numberValidation: minimum length of a text fieldminLength: 5
maxLength?numberValidation: maximum length of a text fieldmaxLength: 12
email?booleanValidation: field must be an email addressemail: true
min?numberValidation: minumum value for number fieldsmin: 100
max?numberValidation: maximum value for number fieldsmax: 1000
pattern?RegExpValidation: regular expressionpattern: "^[a-zA-Z0-9_]*$"
nullValidator?anyValidation: null validationnullValidator: true
hiddenbooleanhide the field by default when the form loadinghidden: true

Field types:

  • text - text input <input type="text">
  • select - text unput <select>
  • textarea - text input <textarea>
  • editor - Rich text editor based on ngx-quill
  • hidden - hidden value field <input type="hidden">.
  • radio - radio buttons
  • checkbox - checkbox buttons
  • date - datepicker

Linking for Development

npm run link
npm run build:watch

FAQs

Package last updated on 25 Jun 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc