Skip to content

Commit e1b6fce

Browse files
committed
feat(bottom-navigation/tabs): new selected/unselected events
1 parent d219714 commit e1b6fce

File tree

1 file changed

+15
-1
lines changed
  • src/core-tabs/tab-navigation-base

1 file changed

+15
-1
lines changed

src/core-tabs/tab-navigation-base/index.ts

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ export interface SelectedIndexChangedEventData extends EventData {
2727

2828
export class TabNavigationBase extends View implements TabNavigationBaseDefinition, AddChildFromBuilder, AddArrayFromBuilder {
2929
public static selectedIndexChangedEvent = 'selectedIndexChanged';
30+
public static selectedEvent = 'selected';
31+
public static unselectedEvent = 'unselected';
3032

3133
public unloadOnTabChange: boolean;
3234
public items: TabContentItem[];
@@ -121,7 +123,19 @@ export class TabNavigationBase extends View implements TabNavigationBaseDefiniti
121123
}
122124

123125
public onSelectedIndexChanged(oldIndex: number, newIndex: number): void {
124-
// to be overridden in platform specific files
126+
const items = this.items;
127+
if (items[oldIndex]) {
128+
items[oldIndex].content.notify({
129+
eventName: TabNavigationBase.unselectedEvent,
130+
object: this
131+
});
132+
}
133+
if (items[newIndex]) {
134+
items[newIndex].content.notify({
135+
eventName: TabNavigationBase.selectedEvent,
136+
object: this
137+
});
138+
}
125139
this.notify({
126140
eventName: TabNavigationBase.selectedIndexChangedEvent,
127141
object: this,

0 commit comments

Comments
 (0)