Giter Site home page Giter Site logo

martre3 / ngx-dates-picker Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 3.0 2.87 MB

Angular 2+ datepicker component with no JQuery dependency.

License: MIT License

TypeScript 67.12% JavaScript 5.29% HTML 17.14% Sass 10.45%
angular datepicker nojquery daterange-picker date-range-picker

ngx-dates-picker's Introduction

ngx-dates-picker

Angular 2+ datepicker component with no JQuery dependency, forked from bleenco/ng2-datepicker.

AbstruseCI

Installation

  1. Install package from npm.
npm install ngx-dates-picker --save
  1. Include NgxDatesPickerModule into your application.
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { NgxDatesPickerModule } from 'ngx-dates-picker';

@NgModule({
  imports: [
    BrowserModule,
    NgxDatesPickerModule
  ],
  declarations: [ AppComponent ],
  exports: [ AppComponent ]
})
export class AppModule {}

Example

  <ngx-dates-picker [(ngModel)]="date" />

NgModel

Accepted types are date string, javascript Date object and DateRange object ({start: Date, end: Date}). If selectRange is true javascript Date object will be returned for selected date, else - DateRange object, where range.start will be equal to range.end if one day is selected.

Attributes

Name Type Default Description
headless boolean false Disable datepicker's input
isOpened boolean false Show or hide datepicker
position string bottom-right Dropdown position (bottom-left, bottom-right, top-left, top-right, static)
previousMonthButtonTemplate TemplateRef undefined Overrides left arrow used to go one month back.
nextMonthButtonTemplate TemplateRef undefined Overrides right arrow used to go to next month.
options object see options

Options

defaultOptions: DatepickerOptions = {
  closeOnClickOutside: true;
  closeOnSelection: true;
  selectRange: false,
  includeDays: 'previous-month'; // 'none', 'previous-month', 'next-month', 'all'. Should it render days outside current month.
  minYear: 1970,
  maxYear: 2030,
  displayFormat: 'MMM D[,] YYYY',
  barTitleFormat: 'MMMM YYYY',
  dayNamesFormat: 'ddd',
  rangeSeparator: '-' // Char that separates start and end dates in input field.
  firstCalendarDay: 0, // 0 - Sunday, 1 - Monday
  locale: {},
  minDate: undefined, // Minimal selectable date
  maxDate: undefined,  // Maximal selectable date
  barTitleIfEmpty: '',
  placeholder: '', // HTML input placeholder attribute (default: '')
  addClass: {}, // Optional, value to pass on to [ngClass] on the input field
  addStyle: {}, // Optional, value to pass to [ngStyle] on the input field
  fieldId: 'datepicker-0', // ID to assign to the input field. Defaults to datepicker-<counter>
  useEmptyBarTitle: true, // Defaults to true. If set to false then barTitleIfEmpty will be disregarded and a date will always be shown 
};

For available format options check out here.

In case you want to initialize with an empty value, just assign null to the model attribute you're storing the date and you can customize the message in the bar with the property barTitleIfEmpty.

Locale

To change the locale import it from date-fns. For example import * as frLocale from 'date-fns/locale/fr' and pass it to options options={locale: frLocale}.

To Do

  1. Fix packages vulnerabilities.
  2. Write tests (not a single test has been written yet).
  3. Add ability to add custom class to each calendar component.

Run Included Demo

  1. Clone this repository
git clone https://github.com/martre3/ngx-dates-picker.git
cd ngx-dates-picker
  1. Install packages
npm install
  1. Run Demo
npm start

Licence

MIT

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.