0.4.0 • Published 6 years ago

angular-datetime-range v0.4.0

Weekly downloads
28
License
MIT
Repository
github
Last release
6 years ago

Datetime range input UI element

This directive is designed to provide easy and intuitive input of moment.js datetime objects.

Typically this can be used to represent a start and an end datetime object.
Desgined to be as simple as possible to afford intuitive interactions, including scrolling.

Converted into an angular directive for your convenience :)

Demo

Click here for a live demo.

Date range

Time range

Datetime range (collapsed state)

Datetime range (expanded state)

Install

1) Install 'angular-datetime-range' with bower

bower install angular-datetime-range

Or with npm:

npm install angular-datetime-range

2) Add 'g1b.datetime-range' module to your app config

angular.module('myApp', [
  'g1b.datetime-range',
  ......
])

3) Use 'datetime-range' directive in a view

<datetime-range start="start" end="end"></datetime-range>

Attributes

PropertyUsageDefaultRequired
startStart moment.js datetime object or a datetime stringnoneyes
endEnd moment.js datetime object or a datetime stringnoneyes
presetsArray of preset ranges, click here for more infononeno
min-datemoment.js datetime object min datetimenoneno
max-datemoment.js datetime object max datetimenoneno
on-changeHandler function that is fired on change of start and/or end datetime objectsnoneno
on-change-startHandler function that is fired on change of start datetime objectnoneno
on-change-endHandler function that is fired on change of end datetime objectnoneno
on-closeHandler function that is fired on close of the edit popovernoneno
close-textClose text shown in the button used to close edit popoverCloseno

Presets

You can provide any number of preset ranges for quick selection in edit view.

Consider the following example with ranges of current week, month and year.

$scope.presets = [
  {
    'name': 'This Week',
    'start': moment().startOf('week').startOf('day'),
    'end': moment().endOf('week').endOf('day'),
  }, {
    'name': 'This Month',
    'start': moment().startOf('month').startOf('day'),
    'end': moment().endOf('month').endOf('day'),
  }, {
    'name': 'This Year',
    'start': moment().startOf('year').startOf('day'),
    'end': moment().endOf('year').endOf('day'),
  }
];

Other input directives

If you are looking for other datetime input elements, check out angular-datetime-inputs

Dependencies

0.4.0

6 years ago

0.3.2

6 years ago

0.3.1

6 years ago

0.3.0

6 years ago

0.2.15

6 years ago

0.2.14

7 years ago

0.2.13

7 years ago

0.2.12

7 years ago

0.2.11

7 years ago

0.2.10

7 years ago

0.2.9

7 years ago

0.2.8

7 years ago

0.2.7

7 years ago

0.2.6

7 years ago

0.2.5

7 years ago

0.2.4

7 years ago

0.2.3

7 years ago