To install this library, run:
$ npm install az-ng2-dynamic-form --save
Once you have published your library to npm, you can import your library in any Angular application by running:
$ npm install az-ng2-dynamic-form
and then from your Angular AppModule
:
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppComponent } from './app.component';
// Import your library
import { AzNg2DynamicFormModule } from 'az-ng2-dynamic-form';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
// Specify your library as an import
AzNg2DynamicFormModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
Prepare list of required fields
import { Component } from '@angular/core';
import { FieldBase } from "az-ng2-dynamic-form/models/FieldBase";
import { FieldTextbox } from "az-ng2-dynamic-form/models/field-textbox";
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
})
export class AppComponent {
fields:FieldBase<any>[] = [];
constructor() {
this.fields= [
new FieldTextbox({
key:'firstName',
label: 'First Name',
value: '',
required:true,
order:1,
type:'text',
containerClasses:'col-sm-6'
}),
new FieldTextbox({
key:'lastname',
label: 'Last Name',
value: '',
required:true,
order:1,
type:'text',
containerClasses:'col-sm-6'
}),
new FieldTextbox({
key:'subject',
label: 'Subject',
value: '',
required:true,
order:1,
type:'text',
containerClasses:'col-sm-12'
}),
new FieldTextbox({
key:'message',
label: 'Your Message',
value: '',
required:true,
order:1,
type:'textarea',
rows:8,
containerClasses:'col-sm-12'
}),
];
this.fields.sort((a, b)=>a.order-b.order);
}
}
Once your library is imported, you can use its components, directives and pipes in your Angular application:
<!-- You can now use your library component in app.component.html -->
<az-ng2-dynamic-form [material]="true" [fields]="fields">
<h2><strong>Contact </strong>Us</h2><hr>
</az-ng2-dynamic-form>
To generate all *.js
, *.d.ts
and *.metadata.json
files:
$ npm run build
To lint all *.ts
files:
$ npm run lint
MIT © Ayyaz