0.0.18 • Published 10 years ago

angie-date-picker v0.0.18

Weekly downloads
3
License
MIT
Repository
github
Last release
10 years ago

Advantages

  • Simple and flexible AngularJS directive that support selecting, formatting and parsing both date and time.
  • Date/time can be localized (thanks to MomentJS).
  • It supports limits (min and max date/time) and ranges.
  • It is pretty simple to use and accessible.
  • You can disable functionality (i.e. if you need only time picker - you are welcome).
  • You can customize increment steps of years, months, dates, hours, minutes.
  • And it support different date/time formatting for model value and for view value.

Here is it

Angular date picker

Installation

angie-date-picker depends on AngularJS and MomentJS libraries, so install them too. jQuery is not required.

bower install --save angular moment

Install using Bower (recommended):

bower install --save angie-date-picker

Install using NPM:

npm install --save angie-date-picker

Usage

First of all add styles and scripts to a page:

<link href="bower_components/angie-date-picker/angie-date-picker.min.css" rel="stylesheet">

<script src="bower_components/moment/min/moment-with-locales.min.js"></script>
<script src="bower_components/angular/angular.min.js"></script>
<script src="bower_components/angie-date-picker/angie-date-picker.min.js"></script>

Step two: add module angie.datePicker into your Angular app dependencies:

angular.module('example', [
    'angie.datePicker'          // Use date picker module
]);

Step three: configure default settings according to your needs:

angular.module('example', [
    'angie.datePicker'
]).run(['datePickerOptions', function (datePickerOptions) {

    // Configure date picker default settings

    datePickerOptions.spacing = 2;
    datePickerOptions.viewDateFormat = 'DD MMMM YYYY, HH:mm';
    datePickerOptions.modelDateFormat = 'YYYY-MM-DD HH:mm';
}]);

Step four: define date pickers settings and model values in your controller:

angular.module('example').controller('MainCtrl', ['$scope', function ($scope) {

    $scope.birthday = '19-02-1993';

    $scope.datePickerOptions = {
        birthday: {
            time: false,
            viewDateFormat: 'DD MMMM YYYY',
            modelDateFormat: 'DD-MM-YYYY'
        },
        meeting: {
            min: moment().startOf('day')
        }
    };

    $scope.$watch('birthday', function (date) {
        // Will print date in model format
        console.log(date);
    });
}]);

Step five: use directive in your markup:

<body ng-controller="MainCtrl">

<form name="BirthdayForm">
    <label for="birthday-input">Birthday:</label>
    <div>
    <!-- Popup -->
    <input name="birthday"
           id="birthday-input"
           ng-model="birthday"
           date-picker="datePickerOptions.birthday">
    </div>
</form>

<form name="MeetingForm">
    <label>Next meeting at: {{ meeting }}</label>
    <!-- Inline date picker -->
    <date-picker ng-model="meeting" options="datePickerOptions.meeting"></date-picker>
</form>

</body>

Contribute

Please, send pull requests if you want to contribute and make date picker more featureful.

License

MIT

0.0.18

10 years ago

0.0.17

10 years ago

0.0.16

10 years ago

0.0.15

10 years ago

0.0.14

10 years ago

0.0.13

10 years ago

0.0.12

10 years ago

0.0.11

10 years ago

0.0.10

10 years ago

0.0.9

10 years ago

0.0.8

10 years ago

0.0.1

10 years ago