File tree Expand file tree Collapse file tree 6 files changed +72
-60
lines changed Expand file tree Collapse file tree 6 files changed +72
-60
lines changed Original file line number Diff line number Diff line change 1
- # http://editorconfig.org
1
+ # http://editorconfig.org
2
2
root = true
3
3
4
4
[* ]
5
- indent_style = space
5
+ indent_style = tab
6
6
indent_size = 2
7
7
end_of_line = crlf
8
8
charset = utf-8
Original file line number Diff line number Diff line change 1
- {
1
+ {
2
2
"extends": "airbnb",
3
3
"plugins": ["angular"],
4
4
"env": {
18
18
"linebreak-style": "off",
19
19
"no-tabs": "off",
20
20
"no-mixed-spaces-and-tabs": "error",
21
- "indent": ["error", "tab"]
21
+ "indent": ["error", "tab", { "SwitchCase": 1 } ]
22
22
}
23
23
}
Original file line number Diff line number Diff line change 1
- < button class ="dropdown-toggle btn btn-default "
1
+ < button class ="dropdown-toggle btn btn-default "
2
2
ng-click ="$ctrl.toggleDropdown() "
3
3
ng-keydown ="$ctrl.dropdownToggleKeyDown($event) ">
4
- < span ng-if ="$ctrl.selectedOptions.length === 0 ">
5
- Select {{$ctrl.texts.optionNames}}
6
- </ span >
7
- < span ng-if ="$ctrl.selectedOptions.length > 0 ">
8
- {{$ctrl.selectedOptions.length}} {{$ctrl.texts.optionNames}} selected
4
+ < span class ="selection-text ">
5
+ < span ng-if ="$ctrl.selectedOptions.length === 0 ">
6
+ Select {{$ctrl.texts.optionNames}}
7
+ </ span >
8
+ < span ng-if ="$ctrl.selectedOptions.length > 0 ">
9
+ {{$ctrl.selectedOptions.length}} {{$ctrl.texts.optionNames}} selected
10
+ </ span >
9
11
</ span >
12
+ < span ng-class ="$ctrl.settings.dropdownToggleIconClass "> </ span >
10
13
</ button >
Original file line number Diff line number Diff line change 1
- export default class DropDownTreeController {
1
+ export default class DropDownTreeController {
2
2
constructor (
3
3
$log ,
4
4
$document ,
@@ -53,6 +53,9 @@ export default class DropDownTreeController {
53
53
'glyphicon' ,
54
54
'glyphicon-file' ,
55
55
] ,
56
+ dropdownToggleIconClass : [
57
+ 'caret' ,
58
+ ] ,
56
59
appendToElement : this . $element . children ( ) ,
57
60
} ;
58
61
@@ -159,47 +162,47 @@ export default class DropDownTreeController {
159
162
160
163
dropdownToggleKeyDown ( event ) {
161
164
switch ( event . key ) {
162
- case 'ArrowDown' :
163
- if ( this . open ) {
164
- this . focusFirst ( ) ;
165
- event . preventDefault ( ) ;
166
- }
167
- break ;
168
- default :
169
- this . catchKeydown ( event ) ;
165
+ case 'ArrowDown' :
166
+ if ( this . open ) {
167
+ this . focusFirst ( ) ;
168
+ event . preventDefault ( ) ;
169
+ }
170
+ break ;
171
+ default :
172
+ this . catchKeydown ( event ) ;
170
173
}
171
174
}
172
175
173
176
searchKeydown ( event ) {
174
177
switch ( event . key ) {
175
- case 'ArrowDown' :
176
- this . focusNext ( ) ;
177
- event . preventDefault ( ) ;
178
- break ;
179
- case 'ArrowUp' :
180
- this . focusSelf ( ) ;
181
- event . preventDefault ( ) ;
182
- break ;
183
- case 'Enter' :
184
- this . selectAllVisible ( ) ;
185
- event . preventDefault ( ) ;
186
- break ;
187
- default :
188
- this . catchKeydown ( event ) ;
178
+ case 'ArrowDown' :
179
+ this . focusNext ( ) ;
180
+ event . preventDefault ( ) ;
181
+ break ;
182
+ case 'ArrowUp' :
183
+ this . focusSelf ( ) ;
184
+ event . preventDefault ( ) ;
185
+ break ;
186
+ case 'Enter' :
187
+ this . selectAllVisible ( ) ;
188
+ event . preventDefault ( ) ;
189
+ break ;
190
+ default :
191
+ this . catchKeydown ( event ) ;
189
192
}
190
193
}
191
194
192
195
catchKeydown ( event ) {
193
196
switch ( event . key ) {
194
- case 'Escape' :
195
- if ( this . open ) {
196
- this . toggleDropdown ( ) ;
197
- this . focusSelf ( ) ;
198
- event . preventDefault ( ) ;
199
- }
200
- break ;
201
- default :
202
- break ;
197
+ case 'Escape' :
198
+ if ( this . open ) {
199
+ this . toggleDropdown ( ) ;
200
+ this . focusSelf ( ) ;
201
+ event . preventDefault ( ) ;
202
+ }
203
+ break ;
204
+ default :
205
+ break ;
203
206
}
204
207
}
205
208
Original file line number Diff line number Diff line change 1
- export default class OptionRow {
1
+ export default class OptionRow {
2
2
constructor (
3
3
dropdownTreeService ,
4
4
) {
@@ -40,23 +40,23 @@ export default class OptionRow {
40
40
41
41
keyDown ( event ) {
42
42
switch ( event . key ) {
43
- case 'Enter' :
44
- if ( ! this . isFolder ( ) || this . settings . folderSelectable ) {
45
- this . innerClicked ( this . option ) ;
43
+ case 'Enter' :
44
+ if ( ! this . isFolder ( ) || this . settings . folderSelectable ) {
45
+ this . innerClicked ( this . option ) ;
46
+ event . preventDefault ( ) ;
47
+ }
48
+ break ;
49
+ case 'ArrowDown' :
50
+ this . focusNext ( ) ;
46
51
event . preventDefault ( ) ;
47
- }
48
- break ;
49
- case 'ArrowDown' :
50
- this . focusNext ( ) ;
51
- event . preventDefault ( ) ;
52
- break ;
53
- case 'ArrowUp' :
54
- this . focusPrevious ( ) ;
55
- event . preventDefault ( ) ;
56
- break ;
57
- default :
58
- this . catchKeydown ( { event } ) ;
59
- break ;
52
+ break ;
53
+ case 'ArrowUp' :
54
+ this . focusPrevious ( ) ;
55
+ event . preventDefault ( ) ;
56
+ break ;
57
+ default :
58
+ this . catchKeydown ( { event } ) ;
59
+ break ;
60
60
}
61
61
}
62
62
}
Original file line number Diff line number Diff line change 1
- < header >
1
+ < header >
2
2
< div class ="container ">
3
3
< a href ="https://github.com/pkempenaers/angularjs-dropdown-tree " class ="btn btn-info pull-right gh-button-link ">
4
4
< strong >
@@ -214,6 +214,12 @@ <h3>Settings</h3>
214
214
< td > string or array of strings</ td >
215
215
< td > Class of the span before the name of an option when the option is not a folder</ td >
216
216
</ tr >
217
+ < tr >
218
+ < td > dropdownToggleIconClass</ td >
219
+ < td > ['caret']</ td >
220
+ < td > string or array of strings</ td >
221
+ < td > Class of caret icon in the dropdown-toggle</ td >
222
+ </ tr >
217
223
< tr >
218
224
< td > closeOnBlur</ td >
219
225
< td > true</ td >
You can’t perform that action at this time.
0 commit comments