1.2.14 • Published 11 months ago

ng-material-date-range-picker v1.2.14

Weekly downloads
-
License
MIT
Repository
github
Last release
11 months ago

ng-material-date-range-picker

Date range view

Description:

This library is build on top of angular material date-picker to provide date range selection with two views and predefined date options.

Latest Version:

Angular VersionLatest Library version
v161.2.10
v172.2.4

Getting Started with Ng Material Date Range Picker

The following section explains the steps required to create a simple 2 view Date Range Picker component and demonstrates its basic usage.

Dependencies

To use the 2 view Date Range Picker component in your application, install the following dependency packages:

1. angular (version 16.x)
2. angular-material (version 16.x)
2. bootstrap (version 5.0)

Setup Angular Environment

Angular provides an easy way to set up Angular CLI projects using the Angular CLI tool.

  1. Install the CLI application globally:
npm install -g @angular/cli
  1. Create a new application:
ng new ng-date-range-picker-app
  1. Navigate to the created project folder:
cd ng-date-range-picker-app

Installing Dependencies

To use the 2 view Date Range Picker component in your application, install the following dependency packages:

  1. Angular Material Lib:
npm i @angular/material@16.2.6
  1. Bootstrap CSS:
npm i bootstrap
  1. Add bootstrap css inside angular.json:
"styles": [
        "src/styles.css",
        "@angular/material/prebuilt-themes/indigo-pink.css"
        "node_modules/bootstrap/dist/css/bootstrap.min.css",
      ],

Installing Ng Date Range Picker Package

Range Picker package can be installed using the following command:

npm i ng-material-date-range-picker

Registering Ng Material Date Range Picker Module

Import the 2 view Date Range Picker module into your Angular application (src/app/app.module.ts):

import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { BrowserModule } from '@angular/platform-browser';
import { NgDatePickerModule } from 'ng-material-date-range-picker';
import { AppComponent } from './app.component';

@NgModule({
  declarations: [AppComponent],
  imports: [BrowserModule, NgDatePickerModule,  CommonModule],
  bootstrap: [AppComponent]
})
export class AppModule { }

Adding Ng Date Range Picker Component

Modify the template in src/app/app.component.ts to render the 2 view Date Range Picker component:

import { Component } from '@angular/core';
@Component({
  selector: 'app-root',
  template: `<ng-date-range-picker></ng-date-range-picker>`
})
export class AppComponent {
  title = 'ng-date-range-picker-test';
}

Running the Application

After completing the required configuration, run the following command:

ng serve

This will display the Date Range Picker in your default browser.

Features

  • Allow to select date range with two views.
  • Predefined date support with list items.
  • User can modify predefined date list.
  • Provides complete controls on predefined date action items.

API Reference

Properties:

NameTypeDescription
selectedDatesDateRange<Date>optional. default selection of start and end date
dateFormatstringoptional. default is 'dd/MM/yyyy'
dateDropDownOptionsISelectDateOption[]optional. Addition options to predefined date action list.
minDateDateoptional. To specify minimum date default is current date -10 years.
maxDateDateoptional. To specify max date default is current date +10 years.
selectedOptionIndexnumberoptional. To default selected option. (by default it is 3 which is last 30 days.)
displaySelectedLabelbooleanoptional. To show the selected option label instead of date range
cdkConnectedOverlayPositionsConnectedPosition[]optional. To control the overlay position
staticOptionIdstringoptional. To set id of static options container
dynamicOptionIdstringoptional. To set id of dynamic options container

Events

NameTypeDescription
onDateSelectionChangedSelectedDateEventEmits when date selection is changed. And it contains range: DateRange and selectedOption: ISelectDateOption
dateListOptionsISelectDateOption[]Emits pre-defined date action list items for configuration purpose.

Example to configure predefined visibility of predefined date action list items:

import { Component } from '@angular/core';
import { ISelectDateOption } from 'ng-date-range-picker/lib/model/select-date-option';

@Component({
  selector: 'app-root',
  template:` <ng-date-range-picker (dateListOptions)="dateListOptions($event)"></ng-date-range-picker>`
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.scss'],
})
export class AppComponent {
  title = 'ng-date-range-picker-test';

  dateListOptions(optionList: ISelectDateOption[]) {
    optionList[0].isSelected = true;
    optionList[1].isVisible = false;
  }
}

In Above example first item of action list is selected and second option is hidden.

Note:

Upon clearing, it resets the minimum and maximum dates, and sets both the range and selectedOption to null.

Demo's

Demo 1

Demo 2

Playground

Stackblitz

1.2.14

11 months ago

2.2.5

11 months ago

2.2.4

1 year ago

2.2.7

11 months ago

2.2.6

11 months ago

1.2.12

11 months ago

1.2.13

11 months ago

1.2.10

1 year ago

1.2.11

11 months ago

1.2.8

1 year ago

2.2.3

1 year ago

2.2.2

1 year ago

1.2.9

1 year ago

1.2.7

1 year ago

1.2.6

1 year ago

2.2.1

1 year ago

2.2.0

1 year ago

1.2.5

1 year ago

1.2.4

1 year ago

1.2.3

1 year ago

1.2.2

1 year ago

2.1.0

1 year ago

1.2.0

2 years ago

1.2.1

2 years ago

2.0.0

2 years ago

1.1.1

2 years ago

1.1.0

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago