Compare commits
22 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 7f664f9f45 | |||
| 955848c3b1 | |||
| 7a1d54c8c3 | |||
| 0ed1a59aef | |||
| f2722b59a5 | |||
| 57ed7e4f7f | |||
| 90848144e8 | |||
| a4d7076c8e | |||
| c824731ae8 | |||
| 1653afa210 | |||
| 7e2f2c1bad | |||
| 61f365abfd | |||
| ec2d9ad605 | |||
| 08b50ccb1c | |||
| 44ab0a8106 | |||
| 1962485504 | |||
| 8a4f625ef6 | |||
| 7be665399f | |||
| 2edb5d38cb | |||
| 4e06553f7c | |||
| 25ff206767 | |||
| 997813f0eb |
+92
-47
@@ -1,5 +1,37 @@
|
||||
<a name="2.3.2"></a>
|
||||
## [2.3.2](https://github.com/angular-ui/bootstrap/compare/2.3.1...v2.3.2) (2016-12-27)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **dropdown:** re-add close([955848c](https://github.com/angular-ui/bootstrap/commit/955848c)), closes [#6382](https://github.com/angular-ui/bootstrap/issues/6382) [#6321](https://github.com/angular-ui/bootstrap/issues/6321) [#6357](https://github.com/angular-ui/bootstrap/issues/6357) [#6364](https://github.com/angular-ui/bootstrap/issues/6364)
|
||||
|
||||
|
||||
|
||||
<a name="2.3.1"></a>
|
||||
## [2.3.1](https://github.com/angular-ui/bootstrap/compare/2.3.0...v2.3.1) (2016-12-10)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **dateparser:** add new date format for angular 1.5+ only([f2722b5](https://github.com/angular-ui/bootstrap/commit/f2722b5)), closes [#6349](https://github.com/angular-ui/bootstrap/issues/6349)
|
||||
|
||||
* **datepickerPopup:** change to toTimezone only([1962485](https://github.com/angular-ui/bootstrap/commit/1962485)), fixes [#6235](https://github.com/angular-ui/bootstrap/issues/6235)
|
||||
|
||||
* **modal:** revert focus behavior on open([8a4f625](https://github.com/angular-ui/bootstrap/commit/8a4f625)), closes [#6295](https://github.com/angular-ui/bootstrap/issues/6295)
|
||||
|
||||
<a name="2.3.0"></a>
|
||||
# [2.3.0](https://github.com/angular-ui/bootstrap/compare/2.2.0...2.3.0) (2016-11-26)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **dateparser:** add LLLL support([25ff206](https://github.com/angular-ui/bootstrap/commit/25ff206)), closes [#6281](https://github.com/angular-ui/bootstrap/issues/6281)
|
||||
|
||||
|
||||
|
||||
<a name="2.2.0"></a>
|
||||
# [2.2.0](https://github.com/angular-ui/bootstrap/compare/2.1.4...v2.2.0) (2016-10-10)
|
||||
# [2.2.0](https://github.com/angular-ui/bootstrap/compare/2.1.4...2.2.0) (2016-10-10)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
@@ -16,7 +48,7 @@
|
||||
|
||||
|
||||
<a name="2.1.4"></a>
|
||||
## [2.1.4](https://github.com/angular-ui/bootstrap/compare/2.1.3...v2.1.4) (2016-09-24)
|
||||
## [2.1.4](https://github.com/angular-ui/bootstrap/compare/2.1.3...2.1.4) (2016-09-24)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
@@ -27,7 +59,7 @@
|
||||
|
||||
|
||||
<a name="2.1.3"></a>
|
||||
## [2.1.3](https://github.com/angular-ui/bootstrap/compare/2.1.2...v2.1.3) (2016-08-25)
|
||||
## [2.1.3](https://github.com/angular-ui/bootstrap/compare/2.1.2...2.1.3) (2016-08-25)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
@@ -37,7 +69,7 @@
|
||||
|
||||
|
||||
<a name="2.1.2"></a>
|
||||
## [2.1.2](https://github.com/angular-ui/bootstrap/compare/2.1.1...v2.1.2) (2016-08-22)
|
||||
## [2.1.2](https://github.com/angular-ui/bootstrap/compare/2.1.1...2.1.2) (2016-08-22)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
@@ -49,7 +81,7 @@
|
||||
|
||||
|
||||
<a name="2.1.1"></a>
|
||||
## [2.1.1](https://github.com/angular-ui/bootstrap/compare/2.1.0...v2.1.1) (2016-08-21)
|
||||
## [2.1.1](https://github.com/angular-ui/bootstrap/compare/2.1.0...2.1.1) (2016-08-21)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
@@ -60,7 +92,7 @@
|
||||
|
||||
|
||||
<a name="2.1.0"></a>
|
||||
# [2.1.0](https://github.com/angular-ui/bootstrap/compare/2.0.2...v2.1.0) (2016-08-19)
|
||||
# [2.1.0](https://github.com/angular-ui/bootstrap/compare/2.0.2...2.1.0) (2016-08-19)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
@@ -78,7 +110,7 @@
|
||||
|
||||
|
||||
<a name="2.0.2"></a>
|
||||
## [2.0.2](https://github.com/angular-ui/bootstrap/compare/2.0.1...v2.0.2) (2016-08-15)
|
||||
## [2.0.2](https://github.com/angular-ui/bootstrap/compare/2.0.1...2.0.2) (2016-08-15)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
@@ -89,7 +121,7 @@
|
||||
|
||||
|
||||
<a name="2.0.1"></a>
|
||||
## [2.0.1](https://github.com/angular-ui/bootstrap/compare/2.0.0...v2.0.1) (2016-08-02)
|
||||
## [2.0.1](https://github.com/angular-ui/bootstrap/compare/2.0.0...2.0.1) (2016-08-02)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
@@ -99,7 +131,7 @@
|
||||
|
||||
|
||||
<a name="2.0.0"></a>
|
||||
# [2.0.0](https://github.com/angular-ui/bootstrap/compare/1.3.3...v2.0.0) (2016-07-20)
|
||||
# [2.0.0](https://github.com/angular-ui/bootstrap/compare/1.3.3...2.0.0) (2016-07-20)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
@@ -179,7 +211,7 @@ This could affect selectors if they are being used.
|
||||
|
||||
|
||||
<a name="1.3.3"></a>
|
||||
## [1.3.3](https://github.com/angular-ui/bootstrap/compare/1.3.2...v1.3.3) (2016-05-23)
|
||||
## [1.3.3](https://github.com/angular-ui/bootstrap/compare/1.3.2...1.3.3) (2016-05-23)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
@@ -205,7 +237,7 @@ This could affect selectors if they are being used.
|
||||
|
||||
|
||||
<a name="1.3.2"></a>
|
||||
## [1.3.2](https://github.com/angular-ui/bootstrap/compare/1.3.1...v1.3.2) (2016-04-14)
|
||||
## [1.3.2](https://github.com/angular-ui/bootstrap/compare/1.3.1...1.3.2) (2016-04-14)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
@@ -231,7 +263,7 @@ This could affect selectors if they are being used.
|
||||
|
||||
|
||||
<a name="1.3.1"></a>
|
||||
## [1.3.1](https://github.com/angular-ui/bootstrap/compare/1.3.0...v1.3.1) (2016-04-05)
|
||||
## [1.3.1](https://github.com/angular-ui/bootstrap/compare/1.3.0...1.3.1) (2016-04-05)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
@@ -242,7 +274,7 @@ This could affect selectors if they are being used.
|
||||
|
||||
|
||||
<a name="1.3.0"></a>
|
||||
# [1.3.0](https://github.com/angular-ui/bootstrap/compare/1.2.5...v1.3.0) (2016-04-05)
|
||||
# [1.3.0](https://github.com/angular-ui/bootstrap/compare/1.2.5...1.3.0) (2016-04-05)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
@@ -285,7 +317,7 @@ attribute pass-throughs in the popup
|
||||
|
||||
|
||||
<a name="1.2.5"></a>
|
||||
## [1.2.5](https://github.com/angular-ui/bootstrap/compare/1.2.4...v1.2.5) (2016-03-20)
|
||||
## [1.2.5](https://github.com/angular-ui/bootstrap/compare/1.2.4...1.2.5) (2016-03-20)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
@@ -308,13 +340,13 @@ attribute pass-throughs in the popup
|
||||
|
||||
|
||||
<a name="1.2.4"></a>
|
||||
## [1.2.4](https://github.com/angular-ui/bootstrap/compare/1.2.3...v1.2.4) (2016-03-06)
|
||||
## [1.2.4](https://github.com/angular-ui/bootstrap/compare/1.2.3...1.2.4) (2016-03-06)
|
||||
|
||||
|
||||
|
||||
|
||||
<a name="1.2.3"></a>
|
||||
## [1.2.3](https://github.com/angular-ui/bootstrap/compare/1.2.2...v1.2.3) (2016-03-06)
|
||||
## [1.2.3](https://github.com/angular-ui/bootstrap/compare/1.2.2...1.2.3) (2016-03-06)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
@@ -333,7 +365,7 @@ attribute pass-throughs in the popup
|
||||
|
||||
|
||||
<a name="1.2.2"></a>
|
||||
## [1.2.2](https://github.com/angular-ui/bootstrap/compare/1.2.1...v1.2.2) (2016-03-03)
|
||||
## [1.2.2](https://github.com/angular-ui/bootstrap/compare/1.2.1...1.2.2) (2016-03-03)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
@@ -350,7 +382,7 @@ attribute pass-throughs in the popup
|
||||
|
||||
|
||||
<a name="1.2.1"></a>
|
||||
## [1.2.1](https://github.com/angular-ui/bootstrap/compare/1.2.0...v1.2.1) (2016-02-27)
|
||||
## [1.2.1](https://github.com/angular-ui/bootstrap/compare/1.2.0...1.2.1) (2016-02-27)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
@@ -360,7 +392,7 @@ attribute pass-throughs in the popup
|
||||
|
||||
|
||||
<a name="1.2.0"></a>
|
||||
# [1.2.0](https://github.com/angular-ui/bootstrap/compare/1.1.2...v1.2.0) (2016-02-26)
|
||||
# [1.2.0](https://github.com/angular-ui/bootstrap/compare/1.1.2...1.2.0) (2016-02-26)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
@@ -420,7 +452,7 @@ template
|
||||
|
||||
|
||||
<a name="1.1.2"></a>
|
||||
## [1.1.2](https://github.com/angular-ui/bootstrap/compare/1.1.1...v1.1.2) (2016-02-01)
|
||||
## [1.1.2](https://github.com/angular-ui/bootstrap/compare/1.1.1...1.1.2) (2016-02-01)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
@@ -438,7 +470,7 @@ template
|
||||
|
||||
|
||||
<a name="1.1.1"></a>
|
||||
## [1.1.1](https://github.com/angular-ui/bootstrap/compare/v1.1.0...v1.1.1) (2016-01-25)
|
||||
## [1.1.1](https://github.com/angular-ui/bootstrap/compare/1.1.0...1.1.1) (2016-01-25)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
@@ -488,7 +520,7 @@ template in one's app and provide the necessary CSS
|
||||
|
||||
|
||||
<a name="1.0.3"></a>
|
||||
# [1.0.3](https://github.com/angular-ui/bootstrap/compare/v1.0.2...v1.0.3) (2016-01-12)
|
||||
# [1.0.3](https://github.com/angular-ui/bootstrap/compare/1.0.2...1.0.3) (2016-01-12)
|
||||
|
||||
|
||||
## Bug Fixes
|
||||
@@ -498,7 +530,7 @@ template in one's app and provide the necessary CSS
|
||||
|
||||
|
||||
<a name="1.0.2"></a>
|
||||
# [1.0.2](https://github.com/angular-ui/bootstrap/compare/v1.0.1...v1.0.2) (2016-01-12)
|
||||
# [1.0.2](https://github.com/angular-ui/bootstrap/compare/1.0.1...1.0.2) (2016-01-12)
|
||||
|
||||
|
||||
## Bug Fixes
|
||||
@@ -508,7 +540,7 @@ template in one's app and provide the necessary CSS
|
||||
|
||||
|
||||
<a name="1.0.1"></a>
|
||||
# [1.0.1](https://github.com/angular-ui/bootstrap/compare/1.0.0...v1.0.1) (2016-01-12)
|
||||
# [1.0.1](https://github.com/angular-ui/bootstrap/compare/1.0.0...1.0.1) (2016-01-12)
|
||||
|
||||
|
||||
## Bug Fixes
|
||||
@@ -529,7 +561,7 @@ template in one's app and provide the necessary CSS
|
||||
|
||||
|
||||
<a name="1.0.0"></a>
|
||||
# [1.0.0](https://github.com/angular-ui/bootstrap/compare/0.14.3...v1.0.0) (2016-01-08)
|
||||
# [1.0.0](https://github.com/angular-ui/bootstrap/compare/0.14.3...1.0.0) (2016-01-08)
|
||||
|
||||
|
||||
## Bug Fixes
|
||||
@@ -674,7 +706,7 @@ $scope.typeaheadContainer = angular.element(document.querySelector('#typeaheadCo
|
||||
|
||||
|
||||
<a name="0.14.3"></a>
|
||||
# [0.14.3](https://github.com/angular-ui/bootstrap/compare/0.14.2...v0.14.3) (2015-10-23)
|
||||
# [0.14.3](https://github.com/angular-ui/bootstrap/compare/0.14.2...0.14.3) (2015-10-23)
|
||||
|
||||
|
||||
## Bug Fixes
|
||||
@@ -699,7 +731,7 @@ $scope.typeaheadContainer = angular.element(document.querySelector('#typeaheadCo
|
||||
|
||||
|
||||
<a name="0.14.2"></a>
|
||||
# [0.14.2](https://github.com/angular-ui/bootstrap/compare/0.14.1...v0.14.2) (2015-10-14)
|
||||
# [0.14.2](https://github.com/angular-ui/bootstrap/compare/0.14.1...0.14.2) (2015-10-14)
|
||||
|
||||
|
||||
## Bug Fixes
|
||||
@@ -711,7 +743,7 @@ $scope.typeaheadContainer = angular.element(document.querySelector('#typeaheadCo
|
||||
|
||||
|
||||
<a name="0.14.1"></a>
|
||||
# [0.14.1](https://github.com/angular-ui/bootstrap/compare/0.14.0...v0.14.1) (2015-10-11)
|
||||
# [0.14.1](https://github.com/angular-ui/bootstrap/compare/0.14.0...0.14.1) (2015-10-11)
|
||||
|
||||
|
||||
## Bug Fixes
|
||||
@@ -894,7 +926,7 @@ $scope.typeaheadContainer = angular.element(document.querySelector('#typeaheadCo
|
||||
|
||||
|
||||
<a name"0.13.3"></a>
|
||||
# 0.13.3 (2015-08-09)
|
||||
# [0.13.3](https://github.com/angular-ui/bootstrap/compare/0.13.2...0.13.3) (2015-08-09)
|
||||
|
||||
|
||||
## Bug Fixes
|
||||
@@ -981,7 +1013,7 @@ Closes #4080
|
||||
|
||||
|
||||
<a name"0.13.2"></a>
|
||||
# 0.13.2 (2015-08-02)
|
||||
# [0.13.2](https://github.com/angular-ui/bootstrap/compare/0.13.1...0.13.2) (2015-08-02)
|
||||
|
||||
|
||||
## Bug Fixes
|
||||
@@ -1027,7 +1059,7 @@ Closes #4080
|
||||
|
||||
|
||||
<a name"0.13.1"></a>
|
||||
# 0.13.1 (2015-07-23)
|
||||
# [0.13.1](https://github.com/angular-ui/bootstrap/compare/0.13.0...0.13.1) (2015-07-23)
|
||||
|
||||
|
||||
## Bug Fixes
|
||||
@@ -1088,7 +1120,7 @@ Closes #4080
|
||||
|
||||
|
||||
<a name="0.13.0"></a>
|
||||
# 0.13.0 (2015-05-02)
|
||||
# [0.13.0](https://github.com/angular-ui/bootstrap/compare/0.12.1...0.13.0) (2015-05-02)
|
||||
|
||||
|
||||
## Bug Fixes
|
||||
@@ -1187,7 +1219,8 @@ Closes #4080
|
||||
* **transition:** deprecate transition module ([8a552443](https://github.com/angular-ui/bootstrap/commit/8a552443741d1e5b4b29d9da9c7e9990fa37886c), closes [#3497](https://github.com/angular-ui/bootstrap/issues/3497))
|
||||
|
||||
|
||||
# 0.12.1 (2015-02-20)
|
||||
<a name="0.12.1"></a>
|
||||
# [0.12.1](https://github.com/angular-ui/bootstrap/compare/0.12.0...0.12.1) (2015-02-20)
|
||||
|
||||
## Bug Fixes
|
||||
|
||||
@@ -1195,7 +1228,7 @@ Closes #4080
|
||||
- incorrect position when text wraps ([5726e3ef](http://github.com/angular-ui/bootstrap/commit/5726e3ef))
|
||||
|
||||
<a name="0.12.0"></a>
|
||||
# 0.12.0 (2014-11-16)
|
||||
# [0.12.0](https://github.com/angular-ui/bootstrap/compare/0.11.2...0.12.0) (2014-11-16)
|
||||
|
||||
|
||||
## Bug Fixes
|
||||
@@ -1248,11 +1281,13 @@ once* and can no longer be changed after initialization.
|
||||
```
|
||||
|
||||
|
||||
# 0.11.2 (2014-09-26)
|
||||
<a name="0.11.2"></a>
|
||||
# [0.11.2](https://github.com/angular-ui/bootstrap/compare/0.11.1...0.11.2) (2014-09-26)
|
||||
|
||||
Revert breaking change in **dropdown** ([1a998c4](http://github.com/angular-ui/bootstrap/commit/1a998c4))
|
||||
|
||||
# 0.11.1 (2014-09-26)
|
||||
<a name="0.11.1"></a>
|
||||
# [0.11.1](https://github.com/angular-ui/bootstrap/compare/0.11.0...0.11.1) (2014-09-26)
|
||||
|
||||
## Features
|
||||
|
||||
@@ -1286,7 +1321,8 @@ Revert breaking change in **dropdown** ([1a998c4](http://github.com/angular-ui/b
|
||||
- allow multiple line expression ([c7db0df4](http://github.com/angular-ui/bootstrap/commit/c7db0df4))
|
||||
- replace ng-if with ng-show in matches popup ([a0be450d](http://github.com/angular-ui/bootstrap/commit/a0be450d))
|
||||
|
||||
# 0.11.0 (2014-05-01)
|
||||
<a name="0.11.0"></a>
|
||||
# [0.11.0](https://github.com/angular-ui/bootstrap/compare/0.10.0...0.11.0) (2014-05-01)
|
||||
|
||||
## Features
|
||||
|
||||
@@ -1464,7 +1500,8 @@ Revert breaking change in **dropdown** ([1a998c4](http://github.com/angular-ui/b
|
||||
<tabset type="{{navtype}}" ...></tabset>
|
||||
```
|
||||
|
||||
# 0.10.0 (2014-01-13)
|
||||
<a name="0.10.0"></a>
|
||||
# [0.10.0](https://github.com/angular-ui/bootstrap/compare/0.9.0...0.10.0) (2014-01-13)
|
||||
|
||||
_This release adds AngularJS 1.2 support_
|
||||
|
||||
@@ -1485,7 +1522,8 @@ _This release adds AngularJS 1.2 support_
|
||||
- **tooltip:**
|
||||
- performance and scope fixes ([c0df3201](http://github.com/angular-ui/bootstrap/commit/c0df3201))
|
||||
|
||||
# 0.9.0 (2013-12-28)
|
||||
<a name="0.9.0"></a>
|
||||
# [0.9.0](https://github.com/angular-ui/bootstrap/compare/0.8.0...0.9.0) (2013-12-28)
|
||||
|
||||
_This release adds Bootstrap3 support_
|
||||
|
||||
@@ -1528,7 +1566,8 @@ _This release adds Bootstrap3 support_
|
||||
- **tooltip:**
|
||||
- re-position tooltip after draw ([a99b3608](http://github.com/angular-ui/bootstrap/commit/a99b3608))
|
||||
|
||||
# 0.8.0 (2013-12-28)
|
||||
<a name="0.8.0"></a>
|
||||
# [0.8.0](https://github.com/angular-ui/bootstrap/compare/0.7.0...0.8.0) (2013-12-28)
|
||||
|
||||
## Features
|
||||
|
||||
@@ -1595,7 +1634,8 @@ _This release adds Bootstrap3 support_
|
||||
<progress><bar ng-repeat="obj in objs" value="obj.var" type="{{obj.type}}"></bar></progress>
|
||||
```
|
||||
|
||||
# 0.7.0 (2013-11-22)
|
||||
<a name="0.7.0"></a>
|
||||
# [0.7.0](https://github.com/angular-ui/bootstrap/compare/0.6.0...0.7.0) (2013-11-22)
|
||||
|
||||
## Features
|
||||
|
||||
@@ -1643,7 +1683,8 @@ _This release adds Bootstrap3 support_
|
||||
- evaluate matches source against a correct scope ([fd21214d](http://github.com/angular-ui/bootstrap/commit/fd21214d))
|
||||
- support IE8 ([0e9f9980](http://github.com/angular-ui/bootstrap/commit/0e9f9980))
|
||||
|
||||
# 0.6.0 (2013-09-08)
|
||||
<a name="0.6.0"></a>
|
||||
# [0.6.0](https://github.com/angular-ui/bootstrap/compare/0.6.0...0.7.0) (2013-09-08)
|
||||
|
||||
## Features
|
||||
|
||||
@@ -1722,7 +1763,8 @@ Check the documentation for the `$modal` service to migrate from `$dialog`
|
||||
|
||||
The placment='mouse' is gone with no equivalent
|
||||
|
||||
# 0.5.0 (2013-08-04)
|
||||
<a name="0.5.0"></a>
|
||||
# [0.5.0](https://github.com/angular-ui/bootstrap/compare/0.4.0...0.5.0) (2013-08-04)
|
||||
|
||||
## Features
|
||||
|
||||
@@ -1805,7 +1847,8 @@ The placment='mouse' is gone with no equivalent
|
||||
<pagination first-text="{{var1}}" ...></pagination>
|
||||
```
|
||||
|
||||
# 0.4.0 (2013-06-24)
|
||||
<a name="0.4.0"></a>
|
||||
# [0.4.0](https://github.com/angular-ui/bootstrap/compare/0.3.0...0.4.0) (2013-06-24)
|
||||
|
||||
## Features
|
||||
|
||||
@@ -1923,8 +1966,8 @@ The placment='mouse' is gone with no equivalent
|
||||
</tabset>
|
||||
```
|
||||
|
||||
|
||||
# 0.3.0 (2013-04-30)
|
||||
<a name="0.3.0"></a>
|
||||
# [0.3.0](https://github.com/angular-ui/bootstrap/compare/0.2.0...0.3.0) (2013-04-30)
|
||||
|
||||
## Features
|
||||
|
||||
@@ -1965,7 +2008,8 @@ The placment='mouse' is gone with no equivalent
|
||||
- correctly higlight matches if query contains regexp-special chars ([467afcd6](https://github.com/angular-ui/bootstrap/commit/467afcd6))
|
||||
- fix matches pop-up positioning issues ([74beecdb](https://github.com/angular-ui/bootstrap/commit/74beecdb))
|
||||
|
||||
# 0.2.0 (2013-03-03)
|
||||
<a name="0.2.0"></a>
|
||||
# [0.2.0](https://github.com/angular-ui/bootstrap/compare/0.1.0...0.2.0) (2013-03-03)
|
||||
|
||||
## Features
|
||||
|
||||
@@ -1999,6 +2043,7 @@ The placment='mouse' is gone with no equivalent
|
||||
- **typeahead:**
|
||||
- update inputs value on mapping where label is not derived from the model ([a5f64de](https://github.com/angular-ui/bootstrap/commit/a5f64de))
|
||||
|
||||
<a name="0.1.0"></a>
|
||||
# 0.1.0 (2013-02-02)
|
||||
|
||||
_Very first, initial release_.
|
||||
|
||||
@@ -131,7 +131,7 @@ The other modules, such as `accordion` in the example below, do not have CSS res
|
||||
import accordion from 'angular-ui-bootstrap/src/accordion';
|
||||
import typeahead from 'angular-ui-bootstrap/src/typeahead/index-nocss.js';
|
||||
|
||||
angular.module('myModule', [accordion, datepicker]);
|
||||
angular.module('myModule', [accordion, typeahead]);
|
||||
```
|
||||
|
||||
# Versioning
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"author": "https://github.com/angular-ui/bootstrap/graphs/contributors",
|
||||
"name": "angular-ui-bootstrap",
|
||||
"version": "2.2.0",
|
||||
"version": "2.3.2",
|
||||
"homepage": "http://angular-ui.github.io/bootstrap/",
|
||||
"dependencies": {},
|
||||
"directories": {
|
||||
|
||||
@@ -230,6 +230,15 @@ angular.module('ui.bootstrap.dateparser', [])
|
||||
formatter: function(date) { return dateFilter(date, 'G'); }
|
||||
}
|
||||
];
|
||||
|
||||
if (angular.version.major >= 1 && angular.version.minor > 4) {
|
||||
formatCodeToRegex.push({
|
||||
key: 'LLLL',
|
||||
regex: $locale.DATETIME_FORMATS.STANDALONEMONTH.join('|'),
|
||||
apply: function(value) { this.month = $locale.DATETIME_FORMATS.STANDALONEMONTH.indexOf(value); },
|
||||
formatter: function(date) { return dateFilter(date, 'LLLL'); }
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
this.init();
|
||||
|
||||
@@ -58,6 +58,9 @@ Certain format codes support i18n. Check this [guide](https://docs.angularjs.org
|
||||
_(Example: `3` or `03`)_ -
|
||||
Parses a numeric month, but allowing an optional leading zero
|
||||
|
||||
* `LLLL`
|
||||
_(Example: `February`, i18n support)_ - Stand-alone month in year (January-December). Requires Angular version 1.5.1 or higher.
|
||||
|
||||
* `dd`
|
||||
_(Example: `05`, Leading 0)_ -
|
||||
Parses a numeric day.
|
||||
|
||||
@@ -84,6 +84,16 @@ describe('date parser', function() {
|
||||
expectFilter(new Date(2011, 4, 2, 0), 'dd-M!-yy', '02-05-11');
|
||||
expectFilter(oldDate, 'yyyy/M!/dd', '0001/03/06');
|
||||
});
|
||||
|
||||
it('should work correctly for `LLLL`', function() {
|
||||
expectFilter(new Date(2013, 7, 24, 0), 'LLLL/dd/yyyy', 'August/24/2013');
|
||||
expectFilter(new Date(2004, 10, 7, 0), 'dd.LLLL.yy', '07.November.04');
|
||||
expectFilter(new Date(2011, 4, 18, 0), 'dd-LLLL-yy', '18-May-11');
|
||||
expectFilter(new Date(1980, 1, 5, 0), 'LLLL/dd/yyyy', 'February/05/1980');
|
||||
expectFilter(new Date(1955, 2, 5, 0), 'yyyy/LLLL/dd', '1955/March/05');
|
||||
expectFilter(new Date(2011, 5, 2, 0), 'dd-LLLL-yy', '02-June-11');
|
||||
expectFilter(oldDate, 'yyyy/LLLL/dd', '0001/March/06');
|
||||
});
|
||||
|
||||
it('should work correctly for `d`', function() {
|
||||
expectFilter(new Date(2013, 10, 17, 0), 'd.MMMM.yy', '17.November.13');
|
||||
|
||||
@@ -333,7 +333,7 @@ function($scope, $element, $attrs, $compile, $log, $parse, $window, $document, $
|
||||
if (angular.isString(viewValue)) {
|
||||
var date = parseDateString(viewValue);
|
||||
if (!isNaN(date)) {
|
||||
return dateParser.fromTimezone(date, ngModelOptions.timezone);
|
||||
return dateParser.toTimezone(date, ngModelOptions.timezone);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -397,7 +397,7 @@ describe('datepicker popup', function() {
|
||||
it('stops the ESC key from propagating if the dropdown is open, but not when closed', function() {
|
||||
var documentKey = -1;
|
||||
var getKey = function(evt) { documentKey = evt.which; };
|
||||
$document.bind('keydown', getKey);
|
||||
$document.on('keydown', getKey);
|
||||
|
||||
triggerKeyDown(inputEl, 'esc');
|
||||
expect(documentKey).toBe(-1);
|
||||
@@ -405,7 +405,7 @@ describe('datepicker popup', function() {
|
||||
triggerKeyDown(inputEl, 'esc');
|
||||
expect(documentKey).toBe(27);
|
||||
|
||||
$document.unbind('keydown', getKey);
|
||||
$document.off('keydown', getKey);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
+75
-10
@@ -1,14 +1,33 @@
|
||||
angular.module('ui.bootstrap.dropdown', ['ui.bootstrap.position'])
|
||||
angular.module('ui.bootstrap.dropdown', ['ui.bootstrap.multiMap', 'ui.bootstrap.position'])
|
||||
|
||||
.constant('uibDropdownConfig', {
|
||||
appendToOpenClass: 'uib-dropdown-open',
|
||||
openClass: 'open'
|
||||
})
|
||||
|
||||
.service('uibDropdownService', ['$document', '$rootScope', function($document, $rootScope) {
|
||||
.service('uibDropdownService', ['$document', '$rootScope', '$$multiMap', function($document, $rootScope, $$multiMap) {
|
||||
var openScope = null;
|
||||
var openedContainers = $$multiMap.createNew();
|
||||
|
||||
this.open = function(dropdownScope, element) {
|
||||
this.isOnlyOpen = function(dropdownScope, appendTo) {
|
||||
var openedDropdowns = openedContainers.get(appendTo);
|
||||
if (openedDropdowns) {
|
||||
var openDropdown = openedDropdowns.reduce(function(toClose, dropdown) {
|
||||
if (dropdown.scope === dropdownScope) {
|
||||
return dropdown;
|
||||
}
|
||||
|
||||
return toClose;
|
||||
}, {});
|
||||
if (openDropdown) {
|
||||
return openedDropdowns.length === 1;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
};
|
||||
|
||||
this.open = function(dropdownScope, element, appendTo) {
|
||||
if (!openScope) {
|
||||
$document.on('click', closeDropdown);
|
||||
}
|
||||
@@ -18,14 +37,52 @@ angular.module('ui.bootstrap.dropdown', ['ui.bootstrap.position'])
|
||||
}
|
||||
|
||||
openScope = dropdownScope;
|
||||
|
||||
if (!appendTo) {
|
||||
return;
|
||||
}
|
||||
|
||||
var openedDropdowns = openedContainers.get(appendTo);
|
||||
if (openedDropdowns) {
|
||||
var openedScopes = openedDropdowns.map(function(dropdown) {
|
||||
return dropdown.scope;
|
||||
});
|
||||
if (openedScopes.indexOf(dropdownScope) === -1) {
|
||||
openedContainers.put(appendTo, {
|
||||
scope: dropdownScope
|
||||
});
|
||||
}
|
||||
} else {
|
||||
openedContainers.put(appendTo, {
|
||||
scope: dropdownScope
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
this.close = function(dropdownScope, element) {
|
||||
this.close = function(dropdownScope, element, appendTo) {
|
||||
if (openScope === dropdownScope) {
|
||||
$document.off('click', closeDropdown);
|
||||
$document.off('keydown', this.keybindFilter);
|
||||
openScope = null;
|
||||
}
|
||||
|
||||
if (!appendTo) {
|
||||
return;
|
||||
}
|
||||
|
||||
var openedDropdowns = openedContainers.get(appendTo);
|
||||
if (openedDropdowns) {
|
||||
var dropdownToClose = openedDropdowns.reduce(function(toClose, dropdown) {
|
||||
if (dropdown.scope === dropdownScope) {
|
||||
return dropdown;
|
||||
}
|
||||
|
||||
return toClose;
|
||||
}, {});
|
||||
if (dropdownToClose) {
|
||||
openedContainers.remove(appendTo, dropdownToClose);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
var closeDropdown = function(evt) {
|
||||
@@ -244,10 +301,18 @@ angular.module('ui.bootstrap.dropdown', ['ui.bootstrap.position'])
|
||||
}
|
||||
|
||||
var openContainer = appendTo ? appendTo : $element;
|
||||
var hasOpenClass = openContainer.hasClass(appendTo ? appendToOpenClass : openClass);
|
||||
var dropdownOpenClass = appendTo ? appendToOpenClass : openClass;
|
||||
var hasOpenClass = openContainer.hasClass(dropdownOpenClass);
|
||||
var isOnlyOpen = uibDropdownService.isOnlyOpen($scope, appendTo);
|
||||
|
||||
if (hasOpenClass === !isOpen) {
|
||||
$animate[isOpen ? 'addClass' : 'removeClass'](openContainer, appendTo ? appendToOpenClass : openClass).then(function() {
|
||||
var toggleClass;
|
||||
if (appendTo) {
|
||||
toggleClass = !isOnlyOpen ? 'addClass' : 'removeClass';
|
||||
} else {
|
||||
toggleClass = isOpen ? 'addClass' : 'removeClass';
|
||||
}
|
||||
$animate[toggleClass](openContainer, dropdownOpenClass).then(function() {
|
||||
if (angular.isDefined(isOpen) && isOpen !== wasOpen) {
|
||||
toggleInvoker($scope, { open: !!isOpen });
|
||||
}
|
||||
@@ -270,9 +335,9 @@ angular.module('ui.bootstrap.dropdown', ['ui.bootstrap.position'])
|
||||
}
|
||||
|
||||
scope.focusToggleElement();
|
||||
uibDropdownService.open(scope, $element);
|
||||
uibDropdownService.open(scope, $element, appendTo);
|
||||
} else {
|
||||
uibDropdownService.close(scope, $element);
|
||||
uibDropdownService.close(scope, $element, appendTo);
|
||||
if (self.dropdownMenuTemplateUrl) {
|
||||
if (templateScope) {
|
||||
templateScope.$destroy();
|
||||
@@ -345,7 +410,7 @@ angular.module('ui.bootstrap.dropdown', ['ui.bootstrap.position'])
|
||||
}
|
||||
};
|
||||
|
||||
element.bind('click', toggleDropdown);
|
||||
element.on('click', toggleDropdown);
|
||||
|
||||
// WAI-ARIA
|
||||
element.attr({ 'aria-haspopup': true, 'aria-expanded': false });
|
||||
@@ -354,7 +419,7 @@ angular.module('ui.bootstrap.dropdown', ['ui.bootstrap.position'])
|
||||
});
|
||||
|
||||
scope.$on('$destroy', function() {
|
||||
element.unbind('click', toggleDropdown);
|
||||
element.off('click', toggleDropdown);
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
require('../multiMap');
|
||||
require('../position/index-nocss.js');
|
||||
require('./dropdown');
|
||||
|
||||
|
||||
@@ -99,11 +99,11 @@ describe('uib-dropdown', function() {
|
||||
expect(elm1).not.toHaveClass(dropdownConfig.openClass);
|
||||
expect(elm2).not.toHaveClass(dropdownConfig.openClass);
|
||||
|
||||
clickDropdownToggle( elm1 );
|
||||
clickDropdownToggle(elm1);
|
||||
expect(elm1).toHaveClass(dropdownConfig.openClass);
|
||||
expect(elm2).not.toHaveClass(dropdownConfig.openClass);
|
||||
|
||||
clickDropdownToggle( elm2 );
|
||||
clickDropdownToggle(elm2);
|
||||
expect(elm1).not.toHaveClass(dropdownConfig.openClass);
|
||||
expect(elm2).toHaveClass(dropdownConfig.openClass);
|
||||
});
|
||||
@@ -303,6 +303,37 @@ describe('uib-dropdown', function() {
|
||||
});
|
||||
});
|
||||
|
||||
describe('using dropdown-append-to with two dropdowns', function() {
|
||||
function dropdown() {
|
||||
return $compile('<div><div class="dropdown1" uib-dropdown dropdown-append-to="appendTo" on-toggle="log(1, open)"><a href uib-dropdown-toggle></a><ul class="dropdown-menu" uib-dropdown-menu id="dropdown-menu"><li><a href>Hello On Container</a></li></ul></div><div class="dropdown2" uib-dropdown dropdown-append-to="appendTo" on-toggle="log(2, open)"><a href uib-dropdown-toggle></a><ul class="dropdown-menu" uib-dropdown-menu id="dropdown-menu"><li><a href>Hello On Container</a></li></ul></div></div>')($rootScope);
|
||||
}
|
||||
|
||||
beforeEach(function() {
|
||||
$document.find('body').append(angular.element('<div id="dropdown-container"></div>'));
|
||||
|
||||
$rootScope.appendTo = $document.find('#dropdown-container');
|
||||
$rootScope.log = jasmine.createSpy('log');
|
||||
|
||||
element = dropdown();
|
||||
$document.find('body').append(element);
|
||||
});
|
||||
|
||||
afterEach(function() {
|
||||
// Cleanup the extra elements we appended
|
||||
$document.find('#dropdown-container').remove();
|
||||
});
|
||||
|
||||
it('should keep the class when toggling from one dropdown to another with the same container', function() {
|
||||
var container = $document.find('#dropdown-container');
|
||||
|
||||
expect(container).not.toHaveClass('uib-dropdown-open');
|
||||
element.find('.dropdown1 [uib-dropdown-toggle]').click();
|
||||
expect(container).toHaveClass('uib-dropdown-open');
|
||||
element.find('.dropdown2 [uib-dropdown-toggle]').click();
|
||||
expect(container).toHaveClass('uib-dropdown-open');
|
||||
});
|
||||
});
|
||||
|
||||
describe('using is-open', function() {
|
||||
describe('with uib-dropdown-toggle', function() {
|
||||
beforeEach(function() {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
require('../multiMap');
|
||||
require('../position/index-nocss.js');
|
||||
require('../stackedMap');
|
||||
require('../../template/modal/window.html.js');
|
||||
|
||||
+3
-59
@@ -1,59 +1,4 @@
|
||||
angular.module('ui.bootstrap.modal', ['ui.bootstrap.stackedMap', 'ui.bootstrap.position'])
|
||||
/**
|
||||
* A helper, internal data structure that stores all references attached to key
|
||||
*/
|
||||
.factory('$$multiMap', function() {
|
||||
return {
|
||||
createNew: function() {
|
||||
var map = {};
|
||||
|
||||
return {
|
||||
entries: function() {
|
||||
return Object.keys(map).map(function(key) {
|
||||
return {
|
||||
key: key,
|
||||
value: map[key]
|
||||
};
|
||||
});
|
||||
},
|
||||
get: function(key) {
|
||||
return map[key];
|
||||
},
|
||||
hasKey: function(key) {
|
||||
return !!map[key];
|
||||
},
|
||||
keys: function() {
|
||||
return Object.keys(map);
|
||||
},
|
||||
put: function(key, value) {
|
||||
if (!map[key]) {
|
||||
map[key] = [];
|
||||
}
|
||||
|
||||
map[key].push(value);
|
||||
},
|
||||
remove: function(key, value) {
|
||||
var values = map[key];
|
||||
|
||||
if (!values) {
|
||||
return;
|
||||
}
|
||||
|
||||
var idx = values.indexOf(value);
|
||||
|
||||
if (idx !== -1) {
|
||||
values.splice(idx, 1);
|
||||
}
|
||||
|
||||
if (!values.length) {
|
||||
delete map[key];
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
};
|
||||
})
|
||||
|
||||
angular.module('ui.bootstrap.modal', ['ui.bootstrap.multiMap', 'ui.bootstrap.stackedMap', 'ui.bootstrap.position'])
|
||||
/**
|
||||
* Pluggable resolve mechanism for the modal resolve resolution
|
||||
* Supports UI Router's $resolve service
|
||||
@@ -569,7 +514,7 @@ angular.module('ui.bootstrap.modal', ['ui.bootstrap.stackedMap', 'ui.bootstrap.p
|
||||
ariaHiddenCount = parseInt(sibling.getAttribute(ARIA_HIDDEN_ATTRIBUTE_NAME), 10);
|
||||
|
||||
if (!ariaHiddenCount) {
|
||||
ariaHiddenCount = elemIsAlreadyHidden ? 1 : 0;
|
||||
ariaHiddenCount = elemIsAlreadyHidden ? 1 : 0;
|
||||
}
|
||||
|
||||
sibling.setAttribute(ARIA_HIDDEN_ATTRIBUTE_NAME, ariaHiddenCount + 1);
|
||||
@@ -607,7 +552,7 @@ angular.module('ui.bootstrap.modal', ['ui.bootstrap.stackedMap', 'ui.bootstrap.p
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
$modalStack.close = function(modalInstance, result) {
|
||||
var modalWindow = openedWindows.get(modalInstance);
|
||||
unhideBackgroundElements();
|
||||
@@ -646,7 +591,6 @@ angular.module('ui.bootstrap.modal', ['ui.bootstrap.stackedMap', 'ui.bootstrap.p
|
||||
|
||||
$modalStack.modalRendered = function(modalInstance) {
|
||||
var modalWindow = openedWindows.get(modalInstance);
|
||||
$modalStack.focusFirstFocusableElement($modalStack.loadFocusElementList(modalWindow));
|
||||
if (modalWindow) {
|
||||
modalWindow.value.renderDeferred.resolve();
|
||||
}
|
||||
|
||||
@@ -526,7 +526,7 @@ describe('$uibModal', function() {
|
||||
|
||||
var modal = open({template: '<div>Content<button>inside modal</button></div>'});
|
||||
$rootScope.$digest();
|
||||
expect(document.activeElement.tagName).toBe('BUTTON');
|
||||
expect(document.activeElement.className.split(' ')).toContain('modal');
|
||||
expect($document).toHaveModalsOpen(1);
|
||||
|
||||
triggerKeyDown($document, 27);
|
||||
@@ -698,7 +698,7 @@ describe('$uibModal', function() {
|
||||
$rootScope.$digest();
|
||||
$animate.flush();
|
||||
|
||||
expect(document.activeElement.tagName).toBe('INPUT');
|
||||
expect(document.activeElement.className.split(' ')).toContain('modal');
|
||||
|
||||
close(modal, 'closed ok');
|
||||
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
require('./multiMap.js');
|
||||
@@ -0,0 +1,55 @@
|
||||
angular.module('ui.bootstrap.multiMap', [])
|
||||
/**
|
||||
* A helper, internal data structure that stores all references attached to key
|
||||
*/
|
||||
.factory('$$multiMap', function() {
|
||||
return {
|
||||
createNew: function() {
|
||||
var map = {};
|
||||
|
||||
return {
|
||||
entries: function() {
|
||||
return Object.keys(map).map(function(key) {
|
||||
return {
|
||||
key: key,
|
||||
value: map[key]
|
||||
};
|
||||
});
|
||||
},
|
||||
get: function(key) {
|
||||
return map[key];
|
||||
},
|
||||
hasKey: function(key) {
|
||||
return !!map[key];
|
||||
},
|
||||
keys: function() {
|
||||
return Object.keys(map);
|
||||
},
|
||||
put: function(key, value) {
|
||||
if (!map[key]) {
|
||||
map[key] = [];
|
||||
}
|
||||
|
||||
map[key].push(value);
|
||||
},
|
||||
remove: function(key, value) {
|
||||
var values = map[key];
|
||||
|
||||
if (!values) {
|
||||
return;
|
||||
}
|
||||
|
||||
var idx = values.indexOf(value);
|
||||
|
||||
if (idx !== -1) {
|
||||
values.splice(idx, 1);
|
||||
}
|
||||
|
||||
if (!values.length) {
|
||||
delete map[key];
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
};
|
||||
});
|
||||
@@ -1,7 +1,7 @@
|
||||
describe('multi map', function() {
|
||||
var multiMap;
|
||||
|
||||
beforeEach(module('ui.bootstrap.modal'));
|
||||
beforeEach(module('ui.bootstrap.multiMap'));
|
||||
beforeEach(inject(function($$multiMap) {
|
||||
multiMap = $$multiMap.createNew();
|
||||
}));
|
||||
@@ -220,21 +220,21 @@ angular.module('ui.bootstrap.timepicker', [])
|
||||
return e.detail || delta > 0;
|
||||
};
|
||||
|
||||
hoursInputEl.bind('mousewheel wheel', function(e) {
|
||||
hoursInputEl.on('mousewheel wheel', function(e) {
|
||||
if (!disabled) {
|
||||
$scope.$apply(isScrollingUp(e) ? $scope.incrementHours() : $scope.decrementHours());
|
||||
}
|
||||
e.preventDefault();
|
||||
});
|
||||
|
||||
minutesInputEl.bind('mousewheel wheel', function(e) {
|
||||
minutesInputEl.on('mousewheel wheel', function(e) {
|
||||
if (!disabled) {
|
||||
$scope.$apply(isScrollingUp(e) ? $scope.incrementMinutes() : $scope.decrementMinutes());
|
||||
}
|
||||
e.preventDefault();
|
||||
});
|
||||
|
||||
secondsInputEl.bind('mousewheel wheel', function(e) {
|
||||
secondsInputEl.on('mousewheel wheel', function(e) {
|
||||
if (!disabled) {
|
||||
$scope.$apply(isScrollingUp(e) ? $scope.incrementSeconds() : $scope.decrementSeconds());
|
||||
}
|
||||
@@ -244,7 +244,7 @@ angular.module('ui.bootstrap.timepicker', [])
|
||||
|
||||
// Respond on up/down arrowkeys
|
||||
this.setupArrowkeyEvents = function(hoursInputEl, minutesInputEl, secondsInputEl) {
|
||||
hoursInputEl.bind('keydown', function(e) {
|
||||
hoursInputEl.on('keydown', function(e) {
|
||||
if (!disabled) {
|
||||
if (e.which === 38) { // up
|
||||
e.preventDefault();
|
||||
@@ -258,7 +258,7 @@ angular.module('ui.bootstrap.timepicker', [])
|
||||
}
|
||||
});
|
||||
|
||||
minutesInputEl.bind('keydown', function(e) {
|
||||
minutesInputEl.on('keydown', function(e) {
|
||||
if (!disabled) {
|
||||
if (e.which === 38) { // up
|
||||
e.preventDefault();
|
||||
@@ -272,7 +272,7 @@ angular.module('ui.bootstrap.timepicker', [])
|
||||
}
|
||||
});
|
||||
|
||||
secondsInputEl.bind('keydown', function(e) {
|
||||
secondsInputEl.on('keydown', function(e) {
|
||||
if (!disabled) {
|
||||
if (e.which === 38) { // up
|
||||
e.preventDefault();
|
||||
@@ -339,7 +339,7 @@ angular.module('ui.bootstrap.timepicker', [])
|
||||
}
|
||||
};
|
||||
|
||||
hoursInputEl.bind('blur', function(e) {
|
||||
hoursInputEl.on('blur', function(e) {
|
||||
ngModelCtrl.$setTouched();
|
||||
if (modelIsEmpty()) {
|
||||
makeValid();
|
||||
@@ -371,7 +371,7 @@ angular.module('ui.bootstrap.timepicker', [])
|
||||
}
|
||||
};
|
||||
|
||||
minutesInputEl.bind('blur', function(e) {
|
||||
minutesInputEl.on('blur', function(e) {
|
||||
ngModelCtrl.$setTouched();
|
||||
if (modelIsEmpty()) {
|
||||
makeValid();
|
||||
@@ -397,7 +397,7 @@ angular.module('ui.bootstrap.timepicker', [])
|
||||
}
|
||||
};
|
||||
|
||||
secondsInputEl.bind('blur', function(e) {
|
||||
secondsInputEl.on('blur', function(e) {
|
||||
if (modelIsEmpty()) {
|
||||
makeValid();
|
||||
} else if (!$scope.invalidSeconds && $scope.seconds < 10) {
|
||||
|
||||
@@ -430,7 +430,7 @@ angular.module('ui.bootstrap.typeahead', ['ui.bootstrap.debounce', 'ui.bootstrap
|
||||
}
|
||||
});
|
||||
|
||||
element.bind('focus', function (evt) {
|
||||
element.on('focus', function (evt) {
|
||||
hasFocus = true;
|
||||
if (minLength === 0 && !modelCtrl.$viewValue) {
|
||||
$timeout(function() {
|
||||
@@ -439,7 +439,7 @@ angular.module('ui.bootstrap.typeahead', ['ui.bootstrap.debounce', 'ui.bootstrap
|
||||
}
|
||||
});
|
||||
|
||||
element.bind('blur', function(evt) {
|
||||
element.on('blur', function(evt) {
|
||||
if (isSelectOnBlur && scope.matches.length && scope.activeIdx !== -1 && !selected) {
|
||||
selected = true;
|
||||
scope.$apply(function() {
|
||||
|
||||
Reference in New Issue
Block a user