@@ -14,7 +14,8 @@ angular.module('ui.bootstrap.datepicker', ['ui.bootstrap.dateparser', 'ui.bootst
14
14
startingDay : 0 ,
15
15
yearRange : 20 ,
16
16
minDate : null ,
17
- maxDate : null
17
+ maxDate : null ,
18
+ shortcutPropagation : false
18
19
} )
19
20
20
21
. controller ( 'DatepickerController' , [ '$scope' , '$attrs' , '$parse' , '$interpolate' , '$timeout' , '$log' , 'dateFilter' , 'datepickerConfig' , function ( $scope , $attrs , $parse , $interpolate , $timeout , $log , dateFilter , datepickerConfig ) {
@@ -26,7 +27,7 @@ angular.module('ui.bootstrap.datepicker', ['ui.bootstrap.dateparser', 'ui.bootst
26
27
27
28
// Configuration attributes
28
29
angular . forEach ( [ 'formatDay' , 'formatMonth' , 'formatYear' , 'formatDayHeader' , 'formatDayTitle' , 'formatMonthTitle' ,
29
- 'minMode' , 'maxMode' , 'showWeeks' , 'startingDay' , 'yearRange' ] , function ( key , index ) {
30
+ 'minMode' , 'maxMode' , 'showWeeks' , 'startingDay' , 'yearRange' , 'shortcutPropagation' ] , function ( key , index ) {
30
31
self [ key ] = angular . isDefined ( $attrs [ key ] ) ? ( index < 8 ? $interpolate ( $attrs [ key ] ) ( $scope . $parent ) : $scope . $parent . $eval ( $attrs [ key ] ) ) : datepickerConfig [ key ] ;
31
32
} ) ;
32
33
@@ -175,7 +176,9 @@ angular.module('ui.bootstrap.datepicker', ['ui.bootstrap.dateparser', 'ui.bootst
175
176
}
176
177
177
178
evt . preventDefault ( ) ;
178
- evt . stopPropagation ( ) ;
179
+ if ( ! self . shortcutPropagation ) {
180
+ evt . stopPropagation ( ) ;
181
+ }
179
182
180
183
if ( key === 'enter' || key === 'space' ) {
181
184
if ( self . isDisabled ( self . activeDate ) ) {
@@ -201,7 +204,8 @@ angular.module('ui.bootstrap.datepicker', ['ui.bootstrap.dateparser', 'ui.bootst
201
204
scope : {
202
205
datepickerMode : '=?' ,
203
206
dateDisabled : '&' ,
204
- customClass : '&'
207
+ customClass : '&' ,
208
+ shortcutPropagation : '&?'
205
209
} ,
206
210
require : [ 'datepicker' , '?^ngModel' ] ,
207
211
controller : 'DatepickerController' ,
0 commit comments