Plugin for forms-angular that adds datetime picker support.
bower install fng-bootstrap-datetime
Add the following lines to your index.html (or equivalent) file.
<link rel="stylesheet" href="fng-bootstrap-datetime/fng-bootstrap-datetime.css">
<script src="fng-bootstrap-datetime/fng-bootstrap-datetime.js"></script>
Add fng.uiBootstrapDatetime
to the list of servies your Angular module depends on.
In your Mongoose schemas you can set up fields like this:
interviewDate: {type: Date, form:{
directive: 'fng-ui-bootstrap-datetime-picker',
fngUiBootstrapDatetimePicker:{
'date-format': 'dd-MMM-yyyy',
'date-options':"{'show-weeks':true}"}
}
}
},
Options can be added to a fngUiBootstrapDatetimePicker object within the form object as illustrated by the examples above. A complete list of setting options can be found in the Settings section below. Any setting Date options (see uib-datepicker settings can be added as a JSON string as shown above.
For (my) convenience, the following defaults have been changed from the defaults shown below:
show-button-bar: false,
show-meridian: false,
date-format: 'dd/MM/yyyy'
showWeeks: false
###Known Limitations:
Styling in (unsupported) Bootstrap 2 applications (such as the forms-angular.org website at the time of writing) has a few issues, including inline help placing and the width of the first columnof the dropdown when weeks are not shown.
##Readme from github.com/zhaber/angular-js-bootstrap-datetimepicker (now Angular 4+ only)
The plugin is based on AngularUI Datepicker and Timepicker.
Demo: Plunker
Date is formatted using the date filter and is localized.
Run npm install angular-ui-bootstrap-datetimepicker
to install. Use the --save
option to add it to your package.json's dependencies.
If you're using browserify, you can simply require('angular-ui-bootstrap-datetimepicker')
to make it available in your angular project. Ensure that your angular module depends on ui.bootstrap.datetimepicker
. You must be using the ui.bootstrap
module as well - also availbe via npm.
Also include the stylesheet datetimepicker.css
in your html. Note that this is the same stylesheet that the package.json's style
declaration has.
Run bower install angular-ui-bootstrap-datetimepicker --save
to persist it to bower.json
Include the ui.bootstrap.datetimepicker
module in your app.js
file. You must be using the ui.bootstrap
module as well.
See https://www.nuget.org/packages/Angular-js-bootstrap-datetimepicker/
// Disable weekend selection
$scope.isDisabledDate = function(currentDate, mode) {
return mode === 'day' && (currentDate.getDay() === 0 || currentDate.getDay() === 6);
};
<datetimepicker ng-model="date"
date-format="dd-MMM-yyyy"
date-options="dateOptions"
date-disabled="isDisabledDate(date, mode)">
</datetimepicker>
-
clear-text
(Default: 'Clear') : The text to display for the clear button. -
close-text
(Default: 'Done') : The text to display for the close popup button. -
current-text
(Default: 'Today') : The text to display for the current day button. -
datepicker-append-to-body
(Default: false) : Append the datepicker popup element to body, rather than inserting after datepicker-popup. -
datepicker-popup-template-url
(Default: uib/template/datepickerPopup/popup.html) : Add the ability to override the template used on the component. -
datepicker-template-url
(Default: uib/template/datepicker/datepicker.html) : Add the ability to override the template used on the component (inner uib-datepicker). -
date-disabled (date, mode)
(Default: null) : An optional expression to disable visible options based on passing date and current mode (day|month|year). -
date-format
(Default: 'yyyy-MM-dd') : The format for displayed dates. -
date-ng-click
(Default: null) : A function called when a date input is clicked. -
date-opened
(Default: false) : Whether or not to show the datepicker. -
date-options
attribute. (Default: {}) : Options for datepicker in JSON format. E.g. minDate and maxDate, which define the minimum and maximum available date and time. -
day-format
(Default: 'dd') : Format of day in month. -
day-header-format
(Default: 'EEE') : Format of day in week header. -
day-title-format
(Default: 'MMMM yyyy') : Format of title when selecting day. -
disabled-date
(Defaults: false) : Whether the date input is disabled. -
hidden-date
(Defaults: false) : Whether a user can see the date input. -
hidden-time
(Defaults: false) : Whether a user can see the hours & minutes input. -
hour-step
(Defaults: 1) : Number of hours to increase or decrease when using a button. -
max-time
(Defaults: ['12:59 PM']) : Maximum time for time picker (Date). -
meridians
(Defaults: ['AM', 'PM']) : Meridian labels -
min-time
(Defaults: ['0:00 AM']) : Minumum time for time picker (Date). -
minute-step
(Defaults: 1) : Number of minutes to increase or decrease when using a button. -
month-format
(Default: 'MMMM') : Format of month in year. -
month-title-format
(Default: 'yyyy') : Format of title when selecting month. -
mousewheel
(Defaults: true) : Whether user can scroll inside the hours & minutes input to increase or decrease it's values. -
ng-model
: The date and time object. -
readonly-date
(Defaults: false) : Whether a user can type inside the date input. -
readonly-time
(Defaults: false) : Whether a user can type inside the hours & minutes input. -
required
(Defaults: false) : Whether a non-empty value is required. -
show-button-bar
(Defaults: true) : Whether or not to display a button bar underneath the uib-datepicker.. -
show-meridian
(Defaults: true) : Whether to display 12H or 24H mode. -
show-spinners
(Defaults: true) : Shows spinner arrows above and below the inputs. -
timepicker-template-url
(Defaults: uib/template/timepicker/timepicker.html) : Add the ability to override the template used on the component. -
year-format
(Default: 'yyyy') : Format of year in year range. -
year-range
(Default: 20) : Number of years displayed in year selection.