Coder Social home page Coder Social logo

ngx-date-picker's Introduction

Angular Date Picker

Angular Date Picker

ngx-date-picker is a customizable jalali ( persian ) and gregorian date picker for Angular +12

Check online demo

Install and Setup

step 1: install @ah99/ngx-date-picker

npm i @ah99/ngx-date-picker

step 2: Import NgxDatePickerModule to your module

import { NgxDatePickerModule } from '@ah99/ngx-date-picker'

@NgModule({
    imports: [
        NgxDatePickerModule.forRoot() // dont forget forRoot()
    ]
})

step 3: Import css styles to your global styles ( usually styles/.css/.scss/.less/ )

  @import "@ah99/ngx-date-picker/styles"

Use

use ngx-date-picker directive on any html input element you need

  <input ngx-date-picker [(ngModel)]="dateControl">

important: you need to setup one form model in your input element with formControl or ngModel So you must have already imported FormsModule or ReactiveFormsModule in your module.

Config

There are some options for config your date picker as below:

Option Type Default Description
calendar "gregorian" | "jalali" "gregorian" Type of your calendar
format ValueFormat "DD/MM/YYYY" Format of your input element value
outputData object OutputEvent Config Output values from the onDateSelect event
displayFooter boolean true This option is for date picker action buttons. date picker will be closed immediately after selecting the date if this option set to false.
doneText string "Done" Done action text
cancelText string "Cancel" Done action text
theme "light" | "dark" "light Date picker theme mode
themeConfig object Default Theme Config You can change default styles like Primary-Color in light and dark mode

ValueFormat

"MM/DD/YYYY" | "MM-DD-YYYY" | "DD-MM-YYYY" | "DD/MM/YYYY"

OutputEventConfig

outputData: {
  date: true, // boolean
  type: false, // boolean
  year: false, // boolean
  month: false, // boolean
  day: false // boolean
}

DefaultThemeConfig

themeConfig: {
    light: {
        primaryColor: "#777777", // string
        secondaryColor: "#444444", // string
        backgroudColor: "#ffffff" // string
    },
    dark: {
        primaryColor: "#ffffff", //string
        secondaryColor: "#eeeeee", // string
        backgroudColor: "#444444" // string
    },
    rounded: "medium" // flase | "medium" | "full"
}

How to config?

If you want customize default configs, you can do it in two ways:

1. Global Config

Define your configs inside the NgxDatePickerModule.forRoot() . This configs will be applied to all date pickers.

Example:

NgxDatePickerModule.forRoot({
  calendar: "jalali",
  displayFooter: false,
  theme: "dark",
  themeConfig: {
    rounded: "full",
    dark: {
      primaryColor: "#bbbbbb"
    }
  }
})

All of your configs will be merged with default configs

2. Individual Config

You can set individual configs for every date picker by pass your custom configs to it with datePickerConfig.

Example:

<!-- HTML template -->

<input ngx-date-picker [(ngModel)]="dateControl"
[datePickerConfig]="customConfig">
// typescript component

import { CustomConfig } from '@ah99/ngx-date-picker';
...
customConfig: CustomConfig = {
  calendar: "gregorian",
  format: "DD-MM-YYYY",
  themeConfig: {
    light: {
      primaryColor: "#ca8c07"
    }
  }
}

Your individual configs will be merged with global configs

Output Event (onDateSelect)

This event will be triggered when you select the date. The output value will be an object whose fields you can specify in OutputEvent Config.

Example:

<input ngx-date-picker [(ngModel)]="dateControl"
(onDateSelect)="log($event)">

ngx-date-picker's People

Contributors

amir-rh99 avatar

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.