Awesome
react-native-hijri-date-picker-android
#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 install react-native-hijri-date-picker-android --save
Mostly automatic installation
$ react-native link react-native-hijri-date-picker-android
Manual installation
Android
- 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 thegetPackages()
method
- 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')
- 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