Skip to content

Commit 02f4361

Browse files
committed
fix: add emit for clear button in combo box
1 parent 968ed34 commit 02f4361

File tree

2 files changed

+23
-10
lines changed

2 files changed

+23
-10
lines changed

src/combobox/combobox.component.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -397,10 +397,12 @@ export class ComboBox implements OnChanges, AfterViewInit, AfterContentInit, OnD
397397
selected: boolean
398398
}
399399
}>();
400-
/** emits an empty event when the menu is closed */
400+
/** Emits an empty event when the menu is closed */
401401
@Output() close = new EventEmitter<void>();
402-
/** emits the search string from the input */
402+
/** Emits the search string from the input */
403403
@Output() search = new EventEmitter<string>();
404+
/** Emits an event when the clear button is clicked. */
405+
@Output() clear = new EventEmitter();
404406
/** ContentChild reference to the instantiated dropdown list */
405407
// @ts-ignore
406408
@ContentChild(AbstractDropdownView, { static: true }) view: AbstractDropdownView;
@@ -676,6 +678,7 @@ export class ComboBox implements OnChanges, AfterViewInit, AfterContentInit, OnD
676678
const selected = this.view.getSelected();
677679
this.propagateChangeCallback(selected);
678680
this.selected.emit(selected as any);
681+
this.clear.emit();
679682
}
680683

681684
/**

src/combobox/combobox.stories.ts

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,8 @@ const getOptions = (override = {}) => {
4040
submit: action("submit"),
4141
size: select("size", ["sm", "md", "xl"], "md"),
4242
theme: select("theme", ["dark", "light"], "dark"),
43-
search: action("search")
43+
search: action("search"),
44+
clear: action("clear fired!")
4445
};
4546

4647
return Object.assign({}, options, override);
@@ -74,7 +75,9 @@ const modalText =
7475
<ibm-combo-box
7576
[(items)]="items"
7677
type="multi"
77-
(selected)="updateSelected($event)">
78+
(selected)="updateSelected($event)"
79+
(clear)="clear()"
80+
>
7881
<ibm-dropdown-list></ibm-dropdown-list>
7982
</ibm-combo-box>
8083
`
@@ -293,7 +296,8 @@ storiesOf("Components|Combobox", module)
293296
[theme]="theme"
294297
(selected)="selected($event)"
295298
(submit)="submit($event)"
296-
(search)="search($event)">
299+
(search)="search($event)"
300+
(clear)="clear()">
297301
<ibm-dropdown-list></ibm-dropdown-list>
298302
</ibm-combo-box>
299303
`,
@@ -324,6 +328,7 @@ storiesOf("Components|Combobox", module)
324328
[theme]="theme"
325329
(selected)="selected($event)"
326330
(submit)="submit($event)"
331+
(clear)="clear()"
327332
[maxLength]="maxLength">
328333
<ibm-dropdown-list></ibm-dropdown-list>
329334
</ibm-combo-box>
@@ -347,7 +352,8 @@ storiesOf("Components|Combobox", module)
347352
[items]="items"
348353
[theme]="theme"
349354
(selected)="onSelected()"
350-
(search)="onSearch($event)">
355+
(search)="onSearch($event)"
356+
(clear)="clear()">
351357
<ibm-dropdown-list></ibm-dropdown-list>
352358
</ibm-combo-box>
353359
</div>
@@ -382,7 +388,8 @@ storiesOf("Components|Combobox", module)
382388
[items]="items"
383389
[theme]="theme"
384390
(selected)="onSelected()"
385-
(search)="onSearch($event)">
391+
(search)="onSearch($event)"
392+
(clear)="clear()">
386393
<ibm-dropdown-list></ibm-dropdown-list>
387394
</ibm-combo-box>
388395
@@ -425,7 +432,8 @@ storiesOf("Components|Combobox", module)
425432
[selectionFeedback]="selectionFeedback"
426433
type="multi"
427434
(selected)="selected($event)"
428-
(submit)="submit($event)">
435+
(submit)="submit($event)"
436+
(clear)="clear()">
429437
<ibm-dropdown-list></ibm-dropdown-list>
430438
</ibm-combo-box>
431439
</div>
@@ -472,7 +480,8 @@ storiesOf("Components|Combobox", module)
472480
[size]="size"
473481
type="multi"
474482
(selected)="selected($event)"
475-
(submit)="submit($event)">
483+
(submit)="submit($event)"
484+
(clear)="clear()">
476485
<ibm-dropdown-list></ibm-dropdown-list>
477486
</ibm-combo-box>
478487
</div>
@@ -507,7 +516,8 @@ storiesOf("Components|Combobox", module)
507516
[theme]="theme"
508517
[(ngModel)]="model"
509518
(selected)="selected($event)"
510-
(submit)="submit($event)">
519+
(submit)="submit($event)"
520+
(clear)="clear()">
511521
<ibm-dropdown-list></ibm-dropdown-list>
512522
</ibm-combo-box>
513523

0 commit comments

Comments
 (0)