npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

react-advance-jalaali-datepicker

v1.6.0

Published

Jalaali React Date Picker developed with love by Alireza Kasaaian

Downloads

519

Readme

Advance React Date and Time Picker for jalaali (persian, shamsi) calender

It contains 3 types of jalaali (persian) date pickers, which are date and time range (from, to) picker, date range picker, date picker, and date and time picker.

This module is written using moment-jalali, which is relied on momentjs.

Instalation

Use npm i react-advance-jalaali-datepicker in order to install the module. Yes that's it. There is no extra font or css file to include. It's designed simple to prevent any issue during customization. Customize it in the way you need.

Usage

In order to use this module, import the package into your react component and use the module as below. The below example is the code that is used in the sample usage video.

demo of react advance jalaali (persian) datepicker

import React from "react";
import {
  DatePicker,
  DateTimePicker,
  DateRangePicker,
  DateTimeRangePicker
} from "react-advance-jalaali-datepicker";
export class Home extends React.component {
  change(unix, formatted) {
    console.log(unix); // returns timestamp of the selected value, for example.
    console.log(formatted); // returns the selected value in the format you've entered, forexample, "تاریخ: 1396/02/24 ساعت: 18:30".
  }
  DatePickerInput(props) {
    return <input className="popo" {...props} />;
  }
  render() {
    return (
      <div className="datePicker">
        <DatePicker
          inputComponent={this.DatePickerInput}
          placeholder="انتخاب تاریخ"
          format="jYYYY/jMM/jDD"
          onChange={this.change}
          id="datePicker"
          preSelected="1396/05/15"
        />
        <DateTimePicker
          placeholder="انتخاب تاریخ و ساعت"
          format="تاریخ: jYYYY/jMM/jDD ساعت: HH:mm"
          id="dateTimePicker"
          onChange={this.changeTimeDate}
          preSelected="تاریخ: 1396/02/24 ساعت: 18:30"
        />
        <DateRangePicker
          placeholderStart="تاریخ شروع"
          placeholderEnd="تاریخ پایان"
          format="jYYYY/jMM/jDD"
          onChangeStart={this.change}
          onChangeEnd={this.changeTimeDate}
          idStart="rangePickerStart"
          idEnd="rangePickerEnd"
        />
        <DateTimeRangePicker
          placeholderStart="تاریخ و ساعت شروع"
          placeholderEnd="تاریخ و ساعت پایان"
          format="تاریخ: jYYYY/jMM/jDD ساعت: HH:mm"
          onChangeStart={this.change}
          onChangeEnd={this.changeTimeDate}
          idStart="rangePickerStart"
          idEnd="rangePickerEnd"
        />
      </div>
    );
  }
}

component types:

| name | Description | | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | DatePicker | shows a box allowing you pick just a date | | DateTimePicker | shows a box allowing you pick just a date and time | | DateRangePicker | shows a box twice, allowing you pick two dates. The first box allows you to pick the beginnig date and second one lets you pick end date | | DateTimeRangePicker | shows a box twice, allowing you pick two dates and time. The first box allows you to pick the beginnig date and time and second one lets you pick end date and time |

Options

Each type has its' own options.

"DatePicker" and "DateTimePicker":

| Name | type | Description | | ----------------------- | ----------- | --------------------------------------------------------------------------------------------------------------- | | placeholder | string | Placeholder of the datepicker input | | format | string | Format of showing date in the input and styled output. Accepts moment-jalali formats (required) | | onChange | function | On change call of the input (required) | | id | string | Adds id attribute to the input elment | | preSelected | string | Previously selected date, it should be formatted exactly the same as the format option | | customClass | string | To add "className" to the datepicker | | inputTextAlign | string | Text align of the date input. default "right" | | containerClass | string | To add "className" to the datepicker input container | | monthTitleEnable | boolean | To add a title before month controller row | | inputComponent | JSX element | To add customized input field to your datepicker | | cancelOnBackgroundClick | boolean | To add background, which closes the datepicker on click event. It's customizable with class name "JDBackground" | | controlValue | boolean | By setting to true, It will make preselected value control the input value | | newThemeColor | string | Set the new theme colorto render new theme with the provided color. Otherwise, render the default simple theme and customize it yourself |

DateRangePicker:

| Name | type | Description | | -------------------------------- | ----------- | --------------------------------------------------------------------------------------------------------------- | | placeholderStart, placeholderEnd | string | Placeholder of the datepickers inputs | | format | string | Format of showing date in the input. Applies on both inputs. Accepts moment-jalali formats (required) | | onChangeStart, onChangeEnd | function | On change call of inputs (required) | | idStart, idEnd | string | Add id attributes to the input elments | | customClassStart, customClassEnd | string | To add class name to start and end dattepickers | | inputTextAlign | string | Text align of the date input. default "right" | | containerClass | string | To add "className" to the datepicker input container | | monthTitleEnable | boolean | to add a title before month controller row | | inputComponent | JSX element | To add customized input field to your datepicker | | preSelectedStart | string | Previously selected date, it should be formatted exactly the same as the format option | | cancelOnBackgroundClick | boolean | To add background, which closes the datepicker on click event. It's customizable with class name "JDBackground" | | controlValue | boolean | By setting to true, It will make preselected value control the input value | | renderPointer | boolean | Shows the pointer to the end of range, if enabled. default: true | pointer | JSX element | Renders the passed pointer element instead of the default one | newThemeColor | string | Set the new theme colorto render new theme with the provided color. Otherwise, render the default simple theme and customize it yourself |

Current date

You can use current-date class to style today. In the calendar you can find today has additional class of current-date.

Outside control sample

here you can find an example of code to control input from your parent component. This example shows how to reset values by a button.

Highlight specific date

Add format of the date. Add preSelected date with the mentioned format. The day will get "selected" class. Today is containing "current-date" class name.

More

More features will be provided.

I'll be glad to help if you faced any issue. Please, report issues here.

License

MIT