Skip to content

Commit 4e559d5

Browse files
author
pkempenaers
committed
Merge branch 'develop'
2 parents 001c362 + 4625f18 commit 4e559d5

File tree

6 files changed

+72
-60
lines changed

6 files changed

+72
-60
lines changed

.editorconfig

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
# http://editorconfig.org
1+
# http://editorconfig.org
22
root = true
33

44
[*]
5-
indent_style = space
5+
indent_style = tab
66
indent_size = 2
77
end_of_line = crlf
88
charset = utf-8

.eslintrc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
{
1+
{
22
"extends": "airbnb",
33
"plugins": ["angular"],
44
"env": {
@@ -18,6 +18,6 @@
1818
"linebreak-style": "off",
1919
"no-tabs": "off",
2020
"no-mixed-spaces-and-tabs": "error",
21-
"indent": ["error", "tab"]
21+
"indent": ["error", "tab", { "SwitchCase": 1 }]
2222
}
2323
}
Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
1-
<button class="dropdown-toggle btn btn-default"
1+
<button class="dropdown-toggle btn btn-default"
22
ng-click="$ctrl.toggleDropdown()"
33
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>
911
</span>
12+
<span ng-class="$ctrl.settings.dropdownToggleIconClass"></span>
1013
</button>

src/app/component/dropdownTree.controller.js

Lines changed: 35 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
export default class DropDownTreeController {
1+
export default class DropDownTreeController {
22
constructor(
33
$log,
44
$document,
@@ -53,6 +53,9 @@ export default class DropDownTreeController {
5353
'glyphicon',
5454
'glyphicon-file',
5555
],
56+
dropdownToggleIconClass: [
57+
'caret',
58+
],
5659
appendToElement: this.$element.children(),
5760
};
5861

@@ -159,47 +162,47 @@ export default class DropDownTreeController {
159162

160163
dropdownToggleKeyDown(event) {
161164
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);
170173
}
171174
}
172175

173176
searchKeydown(event) {
174177
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);
189192
}
190193
}
191194

192195
catchKeydown(event) {
193196
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;
203206
}
204207
}
205208

src/app/component/option-row/option-row.controller.js

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
export default class OptionRow {
1+
export default class OptionRow {
22
constructor(
33
dropdownTreeService,
44
) {
@@ -40,23 +40,23 @@ export default class OptionRow {
4040

4141
keyDown(event) {
4242
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();
4651
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;
6060
}
6161
}
6262
}

src/app/main/main.template.html

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<header>
1+
<header>
22
<div class="container">
33
<a href="https://github.com/pkempenaers/angularjs-dropdown-tree" class="btn btn-info pull-right gh-button-link">
44
<strong>
@@ -214,6 +214,12 @@ <h3>Settings</h3>
214214
<td>string or array of strings</td>
215215
<td>Class of the span before the name of an option when the option is not a folder</td>
216216
</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>
217223
<tr>
218224
<td>closeOnBlur</td>
219225
<td>true</td>

0 commit comments

Comments
 (0)