UNPKG

ngx-mat-calendar

Version:

A datepicker with nepali and english calendar support

145 lines (109 loc) 3.5 kB
# ngx-mat-calendar This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 10.1.5. Angular datepicker component based on Angular Material with min-max date validation and also support nepali calendar (BS) also convert date from BS to AD and AD to BS. ## Installation To install this library (component), run: Using npm: ``` $ npm install ngx-mat-calendar ``` ## Consuming this library (Component) You can import this library (component) in any Angular application by running: ``` $ npm install ngx-mat-calendar ``` and then from your Angular AppModule ```javascript import { BrowserModule } from '@angular/platform-browser'; import { NgModule } from '@angular/core'; import { AppComponent } from './app.component'; // Import this library import { NgxMatCalendarModule } from 'ngx-mat-calendar'; @NgModule({ declarations: [ AppComponent ], imports: [ BrowserModule, // Specify this library as an import NgxMatCalendarModule, ], providers: [], bootstrap: [AppComponent] }) export class AppModule { } ``` Once this library is imported, you can use its components, directives and pipes in your Angular application: ```javascript import { DateFormat, DateType, DateValidators } from 'ngx-mat-calendar'; ... export class AppComponent { title = 'MatCalendar'; dateType = DateType.BS dateFormatBS = DateFormat.MMddyyyy; dateFormatAD = DateFormat.yyyyMMdd; control = new FormControl(new Date(2020, 10, 12), Validators.compose( [ Validators.required, DateValidators.dateBetween(new Date(2020,1,1), new Date(2020,12,31)) ] ) ); dateChanged(event:any){ console.log(event); } } ``` ```html <ngx-date [formControl]="control" placeholder="Date of Birth" [dateType]="dateType" [dateFormatAD]="dateFormatAD" [dateFormatBS]="dateFormatBS" (onDateChanged)="dateChanged($event) > </ngx-date> ``` output if isRange = false ```json { date: Wed Feb 05 2020 00:00:00 GMT+0545 (Nepal Time) {} dateAD: "2020-02-05" dateBS: "10-22-2076" selectedDateType: 2 } ``` if isRange = true ```json { start:{ date: Thu Sep 17 2020 00:00:00 GMT+0545 (Nepal Time) {} dateAD: "2020-09-17" dateBS: "06-01-2077" selectedDateType: 2 } , end: { date: Thu Sep 24 2020 00:00:00 GMT+0545 (Nepal Time) {} dateAD: "2020-09-24" dateBS: "06-08-2077" selectedDateType: 2 } } ``` value of the control is date if the isRange = false else same as output ##Component Inputs and Outputs Attribute|Type|Required|Description|Default ---------|----|--------|-----------|------- placeholder|string|no|placeholder of control|"Date" dateType|DateType|no|if datetype = AD default display in AD else BS| AD dateFormatAD| DateFormat|no| Select AD date format from given 4 format| ddMMyyyy dateFormatAD| DateFormat|no| Select BS date format from given 4 format| ddMMyyyy language| number {0 or 1}|no|0 = english language and 1 = nepali language| 0 isRange|boolean|no|To pick date range this value must be true| false withTime|boolean|no|To Select time also this value must be true|false readonly|boolean|no|make coomponent readonly if value = true else not|false disabled|boolean|no|enable or disable the control|false closeOnClick|boolean|no|if true popup will hide when select a date|true formControl|FormControl|yes|formControlName for reactive form and formControl object for template driven| null