npm address: https://www.npmjs.com/package/angular-form-components
Angular Form Components is based on angular(>= 2.0-release).
DatetimepickerComponent is based on these plugins and libs(version):
Select2Component is based on these plugins and libs(version):
# npm install
npm install angular-form-components --save
# if you have not installed jquery
npm install jquery --save
# if you have not install bootstrap
# to use datetimepicker, you need to import bootstrap css global
npm install bootstrap --save
// import NgModule
import {NgModule} from '@angular/core';
// import components
import {
Select2Component,
RadioWithTextComponent,
RadioGroupComponent,
UploadImageComponent,
UploadFileComponent,
CheckboxGroupComponent,
CheckboxWithTextComponent,
DateTimePickerComponent,
SelectWithInputComponent,
OnFocusLostDirective // For SelectWithInputComponent
} from 'angular-form-components';
@NgModule({
// ...
// declare components
declarations: [
Select2Component,
RadioWithTextComponent,
RadioGroupComponent,
UploadImageComponent,
UploadFileComponent,
CheckboxGroupComponent,
CheckboxWithTextComponent,
DateTimePickerComponent,
SelectWithInputComponent,
OnFocusLostDirective
]
})
export class YourModule {
}
- date-time-picker
Template
<date-time-picker [(ngModel)]="your_prop" accuracy="hour" [startDate]="startDate" [endDate]="endDate"
[maxView]="maxView" [minView]="minView" [disabled]="isDisabled" (onChange)="change($event)" ></date-time-picker>
Options
accuracy
:string
- accuracy of date-time pick.
- min(default) | hour | day
startDate
:string
- date range: start date
endDate
:string
- date range: end date
maxView
:string
- maxView: default 4
- 0 or 'hour' for the hour view (hour view)
- 1 or 'day' for the day view 0-24h (day view)
- 2 or 'month' for month view (the default) (month view)
- 3 or 'year' for the 12-month overview (year view)
- 4 or 'decade' for the 10-year overview. Useful for date-of-birth datetimepickers.
- maxView: default 4
minView
:string
useTimestamp
:boolean
- if
[(ngModel)]
use timestamp, defaultfalse
- if
disabled
:boolean
- isDisabled: default false
onSelect
- callback when datetime selected
- select2
Template
<select2 [options]="options" [(ngModel)]="optionSelected" (onSelect)="onSelect($event)"></select2>
Options
options
:option[]
- select options for select2
option
:{id: value, text: key}
orstring
ngModel
: option value that is selected(id
orstring
)onSelect
- callback when option selected
- parmas:
option
({id: value, text: key}
orstring
)
- checkbox-group
Template
<checkbox-group [(ngModel)]='your_prop' [options]='your_options' [disabled]='your_condition' ></checkbox-group>
Options
options
:option[]
- select options for select2
option
:{id: value, text: key}
orstring
ngModel
: option values that is selected(id[]
orstring[]
)disabled
:boolean
- isDisabled: default false
- checkbox-with-input
Template
<checkbox-with-input [(ngModel)]='your_prop' [options]='your_options' [disabled]='your_condition' ></checkbox-with-input>
Options
options
:option[]
- select options for select2
option
:{id: value, text: key, withInput: boolean(if with input), type: string(text|number)}
orstring
ngModel
: option that is selected(option[]
)disabled
:boolean
- isDisabled: default false
- radio-group
Template
<radio-group [(ngModel)]='your_prop' [options]='your_options' [disabled]='your_condition' ></radio-group>
Options
options
:option[]
- select options for select2
option
:{id: value, text: key}
orstring
ngModel
: option value that is selected(id
orstring
)disabled
:boolean
- isDisabled: default false
- radio-with-input
Template
<radio-with-input [(ngModel)]='your_prop' [options]='your_options' [disabled]='your_condition' ></radio-with-input>
Options
options
:option[]
- select options for select2
option
:{id: value, text: key, withInput: boolean(if with input), type: string(text|number)}
orstring
ngModel
: option that is selected(option
)disabled
:boolean
- isDisabled: default false
- select-with-input
Template
<select-with-input [(ngModel)]='your_prop' [options]='your_options' [disabled]='your_condition' (onSelect)="onSelect($event)"></select-with-input>
Options
options
:option[]
- select options for select2
option
:{id: value, text: key}
ngModel
: option value that is selected or input value(string
)onSelect
- callback when option selected
- parmas: option value that is selected or input value(
string
)
- upload-image
Template
<upload-image [(ngModel)]='images_list_array' [limit]='limit_condition' [multiple]='if_multiple' [disabled]='your_condition' [btnName]='btn_name'></upload-image>
Options
ngModel
: images array(image base64 string[]
)limit
: limit conditions{width, height, size, type}
width
: image max width(px)height
: image max height(px)size
: image max size(k)type
: image type, accept 'jpeg'/'jpg'/'png'/'gif'
multiple
:boolean
- if upload multiple images, default true
disabled
:boolean
- isDisabled: default false
btnName
: string- button display name
- upload-file
Template
<upload-file [(ngModel)]='your_prop' [multiple]='if_multiple' [limit]='limit_condition' [disabled]='your_condition' [btnName]="btn_name" ></upload-file>
Options
ngModel
: files array(file base64 string[]
)limit
: limit conditions{size, type}
size
: file max size(k)type
: file type, such as 'txt'
multiple
:boolean
- if upload multiple files, default true
disabled
:boolean
- isDisabled: default false
btnName
: string- button display name
dataType
: string- file reader data type
- accept 'DataURL'/'ArrayBuffer'/'BinaryString'/'Text', default 'DataURL'
- ngFocusLost
Template
<div ngFocusLost (onFocusLost)="yourFunction()"></div>
Options
onFocusLost
:EventEmitter
- callbacks that would execute when element lost focus