##Introduction:
This is an ionic-datepicker
bower component, which can be used in any Ionic framework's application.
##Prerequisites.
- node.js, bower and gulp.
##How to use:
- In your project repository install the ionic-datepicker using bower
bower install ionic-datepicker --save
This will install the latest version released.
- Then you can see the following directory structure see in your project folder
Give the path of style.css, templates.js and ionic-datepicker.js
in your index.html
file.
<link href="lib/ionic-datepicker/dist/style.css" rel="stylesheet">
<!-- path to ionic/angularjs js -->
<script src="lib/ionic-datepicker/dist/templates.js"></script>
<script src="lib/ionic-datepicker/dist/ionic-datepicker.js"></script>
- In your application module inject the dependency
ionic-datepicker
, in order to work with the ionic time picker
angular.module('mainModuleName', ['ionic', 'ionic-datepicker']){
//
}
- Use the below format in your template's corresponding controller
$scope.currentDate = new Date();
$scope.title = "Custom Title";
$scope.datePickerCallback = function (val) {
if(typeof(val)==='undefined'){
console.log('Date not selected');
}else{
console.log('Selected date is : ', val);
}
};
a) currentDate
is the date object which we are passing to the ionic-datepicker
.
b) datePickerCallback
is the callback function which we have to pass to the ionic-datepicker
. This function takes an argument which will return undefined
if the user didnot selected any date. And returns a date
object, if the user selects any date.
c) title
is the string variable, which can be assigned to the datepicker modal's title.
- Then use the below format in your template / html file
<ionic-datepicker idate="currentDate" disablepreviousdates="true" disablefuturedates="false" callback="datePickerCallback" disableddates="disabledDates" title="title">
<button class="button button-block button-positive"> {{ currentDate | date:'dd - MMMM - yyyy' }} </button>
</ionic-datepicker>
a) ionic-datepicker
is the directive, to which we can pass required vales.
b) idate
takes date object. If we don't pass any value, the default value will be new Date()
.
c) disablepreviousdates
takes true or false. true
disables the past dates, and false
doesn't.
c) disablefuturedates
takes true or false. true
disables the future dates, and false
doesn't.
d) callback
takes the callback function name which will be called once the date picker has been closed.
e) title
takes a variable of string type. This will be displayed as a title to the datepicker modal. If this attribute is not present, then it will show 'Select Date' by default.
f) disableddates
is an array of dates to disable the particular dates.
Example : In your controller you can define disabledDates
as follows
$scope.disabledDates = [
new Date(2015,7,10), //months are 0-based, this is August, 10th!
new Date('Wednesday, August 12, 2015'), //Works with any valid Date formats like long format
new Date("08-14-2015"), //Short format
new Date(1439676000000) //UNIX format
];
##Screen Shots:
Once you are successfully done with the above steps, you should be able to see the below screen shots. I have used two buttons here.
The first screen shot shows only the buttons before clicking on them. Once you click on the button you should see the second screen shot.
##CSS Classes:
##Versions:
The whole date picker functionality has been implemented, and can be installed with bower install ionic-datepicker --save
Bug Fix. This is the latest version of ionic-datepicker
component.
Bug Fix. If we don't pass the date to the time picker it will pick the todays date by default.
Disabling previous dates functionality added.
a) User can select the years and months using the dropdown.
b) A callback function is added.
Features
a) Disabling future dates functionality added. You may use it for selecting DOB.
b) Customised title text for datepicker modal's added.
BugFixes
a) Feature for disabling particular dates has been added.
b) CSS classes added for customisation.
##License: MIT
##Contact: gmail : rajeshwar.patlolla@gmail.com
github : https://github.com/rajeshwarpatlolla
twitter : https://twitter.com/rajeshwar_9032
facebook : https://www.facebook.com/rajeshwarpatlolla
paypal : rajeshwar.patlolla@gmail.com