Skip to content

Commit

Permalink
Include code from zhaber's project
Browse files Browse the repository at this point in the history
  • Loading branch information
mchapman committed Jan 31, 2018
1 parent 471a64e commit 6e6472d
Show file tree
Hide file tree
Showing 6 changed files with 562 additions and 16 deletions.
3 changes: 2 additions & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
MIT License

Copyright (c) 2017 Mark Chapman
Copyright (c) 2012-2013 the AngularUI Team, https://github.com/organizations/angular-ui/teams/291112

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand All @@ -18,4 +19,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
THE SOFTWARE.
192 changes: 188 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# fng-bootstrap-datetime

Plugin for forms-angular that adds datetime picker (github.com/zhaber/angular-js-bootstrap-datetimepicker) support.
Plugin for forms-angular that adds datetime picker support.

## Usage

Expand All @@ -27,10 +27,10 @@ In your Mongoose schemas you can set up fields like this:
},

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 of [this page](https://github.com/zhaber/angular-js-bootstrap-datetimepicker). Any setting
A complete list of setting options can be found in the Settings section below. Any setting
Date options (see [uib-datepicker](https://angular-ui.github.io/bootstrap/#!#datepicker) settings can be added as a JSON string as shown above.

For (my) convenience, the following defaults have been changed from https://github.com/zhaber/angular-js-bootstrap-datetimepicker:
For (my) convenience, the following defaults have been changed from the defaults shown below:

show-button-bar: false,
show-meridian: false,
Expand All @@ -40,4 +40,188 @@ For (my) convenience, the following defaults have been changed from https://gith
###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.
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](https://github.com/angular-ui/bootstrap/tree/master/src/datepicker) and [Timepicker](https://github.com/angular-ui/bootstrap/tree/master/src/timepicker).

Demo: [Plunker](http://plnkr.co/edit/qRhNlfTWlt9wIexa3WbB?p=preview)

Date is formatted using the [date filter](http://docs.angularjs.org/api/ng.filter:date) and is localized.

## Install

### NPM
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.

### Bower

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.

### NuGet

See https://www.nuget.org/packages/Angular-js-bootstrap-datetimepicker/

## Usage Sample
~~~javascript
// Disable weekend selection
$scope.isDisabledDate = function(currentDate, mode) {
return mode === 'day' && (currentDate.getDay() === 0 || currentDate.getDay() === 6);
};
~~~
~~~html
<datetimepicker ng-model="date"
date-format="dd-MMM-yyyy"
date-options="dateOptions"
date-disabled="isDisabledDate(date, mode)">
</datetimepicker>
~~~

## Datetimepicker Settings

* `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` <i class="icon-eye-open"></i>
_(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` <i class="icon-eye-open"></i>
_(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` <i class="icon-eye-open"></i>
_(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.
10 changes: 4 additions & 6 deletions bower.json
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
{
"name": "fng-bootstrap-datetime",
"description": "datetime input plugin for forms-angular, using angular-ui-bootstrap-datetimepicker",
"description": "datetime input plugin for forms-angular",
"version":"0.11.0",
"main": [
"fng-bootstrap-datetime.js",
"fng-bootstrap-datetime.css"
],
"authors": [
"Mark Chapman"
"Mark Chapman",
"Vitalii Fedorenko"
],
"license": "MIT",
"keywords": [
Expand All @@ -20,8 +21,5 @@
"bower_components",
"test",
"tests"
],
"dependencies": {
"angular-ui-bootstrap-datetimepicker":"latest"
}
]
}
17 changes: 16 additions & 1 deletion fng-bootstrap-datetime.css
Original file line number Diff line number Diff line change
@@ -1,3 +1,18 @@
.datetimepicker-wrapper {
vertical-align: middle;
display: inline-block;
}

.datetimepicker-wrapper > input {
margin-bottom: 0 !important;
width: 130px;
}

.datetimepicker-wrapper [ng-model=hours],
.datetimepicker-wrapper [ng-model=minutes] {
width: 46px !important;
}

.dtwrap {
min-width: 230px;
}
}
Loading

0 comments on commit 6e6472d

Please sign in to comment.