Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

senzil/angular-datetime-range

Repository files navigation

Datetime range and Time range input UI element

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

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

Converted into an angular directive for your convenience :)

This work was based over the angular-date-time directive but forked to use an moment-range.js as ng-model

Demo

Click here for a live demo.

Installation

#####1) Install '@senzil/angular-datetime-range'

npm install @senzil/angular-datetime-range
yarn add @senzil/angular-datetime-range
 
https://cdn.rawgit.com/senzil/angular-datetime-range/v1.0.0/dist/datetime-range.min.js
https://cdn.rawgit.com/senzil/angular-datetime-range/v1.0.0/dist/datetime-range.min.css

#####2) Prerequisites

You must set up these dependencies

  1. angular.js
  2. moment.js
  3. moment-range.js
  4. moment-timezone.js

######NPM or YARN if you use npm or yarn, the dependencies will download with the directive.

######In Browser In the browser you must add the scripts

<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.5/angular.min.js" charset="utf-8"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment-with-locales.min.js" charset="utf-8"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.13/moment-timezone-with-data.min.js" charset="utf-8"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-range/3.0.3/moment-range.js" charset="utf-8"></script>

#####3) Add 'senzil.datetime-range' module to your app config

angular.module('myApp', ['senzil.datetime-range'])
  1. Use directives in a view
<datetime-range ng-model="myDatetimeRange"></datetime-range>

Angular directive datetime range

<time-range ng-model="myTimeRange"></time-range>

Angular directive time range

Attributes

Property Usage Default Required
ng-model DateRange (moment-range.js) object to bind from controller none yes
limits-range DateRange (moment-range.js) object with bounds limits for the component moment.range(null, null) - all time no
timezone Timezone string name (only datetime-range) moment.tz.guess() no
includeSeconds Boolean - Show seconds in directive to set them false no
showClose Boolean - Show close button in directive false no
on-change Handler function that is fired on change of range object none no
on-change-start Handler function that is fired on change of range.start moment object none no
on-change-end Handler function that is fired on change of range.end moment object none no
on-close Handler function that is fired on close of edit popover none no

Dependencies

AltStyle によって変換されたページ (->オリジナル) /