1
- angular . module ( 'ui.bootstrap.dropdown' , [ 'ui.bootstrap.position' ] )
1
+ angular . module ( 'ui.bootstrap.dropdown' , [ ] )
2
2
3
3
. constant ( 'dropdownConfig' , {
4
4
openClass : 'open'
@@ -33,18 +33,11 @@ angular.module('ui.bootstrap.dropdown', ['ui.bootstrap.position'])
33
33
// unbound this event handler. So check openScope before proceeding.
34
34
if ( ! openScope ) { return ; }
35
35
36
- if ( evt && openScope . getAutoClose ( ) === 'disabled' ) { return ; }
37
-
38
36
var toggleElement = openScope . getToggleElement ( ) ;
39
37
if ( evt && toggleElement && toggleElement [ 0 ] . contains ( evt . target ) ) {
40
38
return ;
41
39
}
42
40
43
- var $element = openScope . getElement ( ) ;
44
- if ( evt && openScope . getAutoClose ( ) === 'outsideClick' && $element && $element [ 0 ] . contains ( evt . target ) ) {
45
- return ;
46
- }
47
-
48
41
openScope . isOpen = false ;
49
42
50
43
if ( ! $rootScope . $$phase ) {
@@ -60,14 +53,13 @@ angular.module('ui.bootstrap.dropdown', ['ui.bootstrap.position'])
60
53
} ;
61
54
} ] )
62
55
63
- . controller ( 'DropdownController' , [ '$scope' , '$attrs' , '$parse' , 'dropdownConfig' , 'dropdownService' , '$animate' , '$position' , '$document' , function ( $scope , $attrs , $parse , dropdownConfig , dropdownService , $animate , $position , $document ) {
56
+ . controller ( 'DropdownController' , [ '$scope' , '$attrs' , '$parse' , 'dropdownConfig' , 'dropdownService' , '$animate' , function ( $scope , $attrs , $parse , dropdownConfig , dropdownService , $animate ) {
64
57
var self = this ,
65
58
scope = $scope . $new ( ) , // create a child scope so we are not polluting original one
66
59
openClass = dropdownConfig . openClass ,
67
60
getIsOpen ,
68
61
setIsOpen = angular . noop ,
69
- toggleInvoker = $attrs . onToggle ? $parse ( $attrs . onToggle ) : angular . noop ,
70
- appendToBody = false ;
62
+ toggleInvoker = $attrs . onToggle ? $parse ( $attrs . onToggle ) : angular . noop ;
71
63
72
64
this . init = function ( element ) {
73
65
self . $element = element ;
@@ -80,15 +72,6 @@ angular.module('ui.bootstrap.dropdown', ['ui.bootstrap.position'])
80
72
scope . isOpen = ! ! value ;
81
73
} ) ;
82
74
}
83
-
84
- appendToBody = angular . isDefined ( $attrs . dropdownAppendToBody ) ;
85
-
86
- if ( appendToBody && self . dropdownMenu ) {
87
- $document . find ( 'body' ) . append ( self . dropdownMenu ) ;
88
- element . on ( '$destroy' , function handleDestroyEvent ( ) {
89
- self . dropdownMenu . remove ( ) ;
90
- } ) ;
91
- }
92
75
} ;
93
76
94
77
this . toggle = function ( open ) {
@@ -104,30 +87,13 @@ angular.module('ui.bootstrap.dropdown', ['ui.bootstrap.position'])
104
87
return self . toggleElement ;
105
88
} ;
106
89
107
- scope . getAutoClose = function ( ) {
108
- return $attrs . autoClose || 'always' ; //or 'outsideClick' or 'disabled'
109
- } ;
110
-
111
- scope . getElement = function ( ) {
112
- return self . $element ;
113
- } ;
114
-
115
90
scope . focusToggleElement = function ( ) {
116
91
if ( self . toggleElement ) {
117
92
self . toggleElement [ 0 ] . focus ( ) ;
118
93
}
119
94
} ;
120
95
121
96
scope . $watch ( 'isOpen' , function ( isOpen , wasOpen ) {
122
- if ( appendToBody && self . dropdownMenu ) {
123
- var pos = $position . positionElements ( self . $element , self . dropdownMenu , 'bottom-left' , true ) ;
124
- self . dropdownMenu . css ( {
125
- top : pos . top + 'px' ,
126
- left : pos . left + 'px' ,
127
- display : isOpen ? 'block' : 'none'
128
- } ) ;
129
- }
130
-
131
97
$animate [ isOpen ? 'addClass' : 'removeClass' ] ( self . $element , openClass ) ;
132
98
133
99
if ( isOpen ) {
@@ -161,19 +127,6 @@ angular.module('ui.bootstrap.dropdown', ['ui.bootstrap.position'])
161
127
} ;
162
128
} )
163
129
164
- . directive ( 'dropdownMenu' , function ( ) {
165
- return {
166
- restrict : 'AC' ,
167
- require : '?^dropdown' ,
168
- link : function ( scope , element , attrs , dropdownCtrl ) {
169
- if ( ! dropdownCtrl ) {
170
- return ;
171
- }
172
- dropdownCtrl . dropdownMenu = element ;
173
- }
174
- } ;
175
- } )
176
-
177
130
. directive ( 'dropdownToggle' , function ( ) {
178
131
return {
179
132
require : '?^dropdown' ,
0 commit comments