Skip to content

Commit 5cbe131

Browse files
committed
feat(dropdown): drop prevent event propogation from dropdown toggle
1 parent 62fd267 commit 5cbe131

File tree

2 files changed

+8
-16
lines changed

2 files changed

+8
-16
lines changed

src/dropdown/bs-dropdown-toggle.directive.ts

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,6 @@ import { BsDropdownState } from './bs-dropdown.state';
1818
}
1919
})
2020
export class BsDropdownToggleDirective implements OnDestroy {
21-
/**
22-
* Set it to false to let click event propagate.
23-
*/
24-
@Input() suppressClick: boolean = true;
25-
2621
@HostBinding('attr.disabled') isDisabled: boolean = null;
2722

2823
// @HostBinding('class.active')
@@ -45,12 +40,8 @@ export class BsDropdownToggleDirective implements OnDestroy {
4540
);
4641
}
4742

48-
@HostListener('click', ['$event'])
49-
onClick(event: MouseEvent): void {
50-
if (this.suppressClick) {
51-
event.stopPropagation();
52-
}
53-
43+
@HostListener('click', [])
44+
onClick(): void {
5445
if (this.isDisabled) {
5546
return;
5647
}

src/dropdown/bs-dropdown.directive.ts

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,7 @@ export class BsDropdownDirective implements OnInit, OnDestroy {
5151
*/
5252
@Input()
5353
set autoClose(value: boolean) {
54-
if (typeof value === 'boolean') {
55-
this._state.autoClose = value;
56-
}
54+
this._state.autoClose = value;
5755
}
5856

5957
get autoClose(): boolean {
@@ -135,6 +133,9 @@ export class BsDropdownDirective implements OnInit, OnDestroy {
135133
private _cis: ComponentLoaderFactory,
136134
private _config: BsDropdownConfig,
137135
private _state: BsDropdownState) {
136+
// set initial dropdown state from config
137+
this._state.autoClose = this._config.autoClose;
138+
138139
// create dropdown component loader
139140
this._dropdown = this._cis
140141
.createLoader<BsDropdownContainerComponent>(
@@ -148,8 +149,6 @@ export class BsDropdownDirective implements OnInit, OnDestroy {
148149
this.onHidden = this._dropdown.onHidden;
149150
this.isOpenChange = this._state.isOpenChange;
150151

151-
// set initial dropdown state from config
152-
this._state.autoClose = this._config.autoClose;
153152
}
154153

155154
ngOnInit(): void {
@@ -163,6 +162,8 @@ export class BsDropdownDirective implements OnInit, OnDestroy {
163162

164163
// attach DOM listeners
165164
this._dropdown.listen({
165+
// because of dropdown inline mode
166+
outsideClick: false,
166167
triggers: this.triggers,
167168
show: () => this.show()
168169
});

0 commit comments

Comments
 (0)