Skip to content

Codelabsys/react-native-hijri-date-picker-android

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

update code to work on react-native version >=0.47
694cbbe

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
January 10, 2018 17:51
January 10, 2018 17:43
March 30, 2017 14:17
January 10, 2018 17:51

react-native-hijri-date-picker-android

Codelab

#This Module version is experimental, if you found any issues, kindly submit.

Getting started

Versions

For React Native >= 0.47.0 use v2.+ For React Native < 0.47.0 use v1.0.8

Installing

NPM

$ npm install react-native-hijri-date-picker-android --save

Mostly automatic installation

$ react-native link react-native-hijri-date-picker-android

Manual installation

Android

  1. Open up android/app/src/main/java/[...]/MainActivity.java
  • Add import com.reactlibrary.HijriDatePickerAndroidPackage; to the imports at the top of the file
  • Add new HijriDatePickerAndroidPackage() to the list returned by the getPackages() method
  1. Append the following lines to android/settings.gradle:
    include ':react-native-hijri-date-picker-android'
    project(':react-native-hijri-date-picker-android').projectDir = new File(rootProject.projectDir, 	'../node_modules/react-native-hijri-date-picker-android/android')
    
  2. Insert the following lines inside the dependencies block in android/app/build.gradle:
      compile project(':react-native-hijri-date-picker-android')
    

Usage

//first include HijriDatePickerAndroid
import HijriDatePickerAndroid from "react-native-hijri-date-picker-android";


	let options = { date: new Date(), minDate: new Date(new Date().getTime() - (1 * 30 * 24 * 60 * 60 * 1000)), maxDate: new Date(new Date().getTime() + (1 * 30 * 24 * 60 * 60 * 1000)) };
    let stringOptions = { date: "27-7-1438", minDate: "25-6-1438", maxDate: "29-8-1438" };
	//mode:"no_arrows" hide the arrows at the bar of the calendar
	//weekDayLabels, override the default day labels at the calendar
	let moreOptions = { date: "27-7-1438", minDate: "25-6-1438", maxDate: "29-8-1438", mode:"no_arrows", weekDayLabels:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]};
    //accepts option  dates with date objects or strings in the following format ['dd-MM-yyyy'] 
    HijriDatePickerAndroid.open(stringOptions).then(function (result) {
      if (result.action == HijriDatePickerAndroid.dismissedAction) {
        console.warn("Dismissed");
      } else {
        let { year, day, month } = result;
        console.warn("Hijri Date: " + day + "/" +( month + 1) + "/" + year + "/");
      }
    });
	
	//convert string Hijri date ['dd-MM-yyyy'] to a gregorian timestamp
    HijriDatePickerAndroid.convertHijriDateToGregorianDate("12-7-1438").then(function (result) {
      console.warn("Gregorian Timestamp" + JSON.stringify(result));

    });


    //convert gregorian date object to hijri {year,month,day}
    HijriDatePickerAndroid.convertGregorianDateToHijriDate(new Date()).then(function ({ year, day, month }) {
      console.warn("Hijri Date: " + day + "/" + month + 1 + "/" + year + "/");

For IOS

Check out our IOS project react-native-universal-datepicker-ios

Credits

This project was made by the help of Assem-Hafez and Mohamed-Abbas for the company we're working at Codelabsys

And is based on the following projects, material-hijri-calendarview and ummalqura-calendar