Skip to content
No description, website, or topics provided.
TypeScript Shell
Branch: master
Clone or download
Pull request Compare This branch is 1 commit ahead, 26 commits behind davecoffin:master.
Marcelo Burriel Marcelo Burriel
Marcelo Burriel and Marcelo Burriel Fix color
Latest commit 0f08a7c Nov 12, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github initial commit Oct 23, 2017
assets main code Oct 23, 2017
demo
publish Fix color Nov 12, 2018
src Fix color Nov 12, 2018
.gitignore initial commit Oct 23, 2017
.prettierrc add prettier Sep 26, 2018
.travis.yml
LICENSE initial commit Oct 23, 2017
README.md Merge branch 'master' into master Oct 19, 2018
tslint.json add prettier Sep 26, 2018

README.md

nativescript-modal-datetimepicker Build Status npm npm

Twitter URL

NPM

This plugin is a wrapper around android.app.DatePickerDialog for Android, and UIDatePicker for iOS.

Android Screenshots

Date Picker

Time Picker

iOS

Installation

tns plugin add nativescript-modal-datetimepicker

Configuration

For android, the clock style can be clock or spinner For android, the calendar style can be calendar or spinner

This can be changed in App_Resources/Android/values-21/styles.xml

<!-- Default style for DatePicker - in spinner mode -->
<style name="SpinnerDatePicker" parent="android:Widget.Material.Light.DatePicker">
    <item name="android:datePickerMode">calendar</item>
</style>

<!-- Default style for TimePicker - in spinner mode -->
<style name="SpinnerTimePicker" parent="android:Widget.Material.Light.TimePicker">
    <item name="android:timePickerMode">clock</item>
</style>

Usage

NativeScript Core

const ModalPicker = require("nativescript-modal-datetimepicker")
  .ModalDatetimepicker;

const picker = new ModalPicker();

// Pick Date
exports.selectDate = function() {
  picker
    .pickDate({
      title: "Select Your Birthday",
      theme: "light",
      maxDate: new Date()
    })
    .then(result => {
      // Note the month is 1-12 (unlike js which is 0-11)
      console.log(
        "Date is: " + result.day + "-" + result.month + "-" + result.year
      );
      var jsdate = new Date(result.year, result.month - 1, result.day);
    })
    .catch(error => {
      console.log("Error: " + error);
    });
};

// Pick Time
exports.selectTime = function() {
  picker
    .pickTime()
    .then(result => {
      console.log("Time is: " + result.hour + ":" + result.minute);
    })
    .catch(error => {
      console.log("Error: " + error);
    });
};

API

pickDate(options): Promise<DateResponse>;

Returns a promise that resolves to DateResponse type object (Note: the month is 1-12, unlike js which is 0-11)

date: {
    day: number,
    month: number,
    year: number
}

pickTime(options): Promise<TimeResponse>;

Returns a promise that resolves to TimeResponse type.

time: {
    hour: number,
    minute: number
}

options conform to the following interface:

export interface PickerOptions {
  title?: string; // iOS ONLY: The title to display above the picker, default hidden.
  theme?: string; // iOS ONLY: avalible options: none, extralight, light, regular, dark, extradark and prominent.
  maxDate?: Date;
  minDate?: Date;
  startingHour?: number; // Ignored on pickDate()
  startingMinute?: number; // Ignored on pickDate()
  startingDate?: Date; // Ignored on pickTime()
  datePickerMode?: string; // Android ONLY: set this to "spinner" to see spinner for DatePicker, other option is "calendar" (which is the default)
}

Response Interfaces

export interface TimeResponse {
  hour: number;
  minute: number;
}

export interface DateResponse {
  day: number;
  month: number;
  year: number;
}

License

Apache License Version 2.0, January 2004

You can’t perform that action at this time.