Skip to content

Commit

Permalink
fix(ui5-side-navigation): replace items and fixedItems union type wit…
Browse files Browse the repository at this point in the history
…h SideNavigationItemBase (#8740)

Related to: #8698
  • Loading branch information
dimovpetar committed Apr 12, 2024
1 parent e501ac8 commit b589486
Showing 1 changed file with 11 additions and 11 deletions.
22 changes: 11 additions & 11 deletions packages/fiori/src/SideNavigation.ts
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ class SideNavigation extends UI5Element {
* @public
*/
@slot({ type: HTMLElement, invalidateOnChildChange: true, "default": true })
items!: Array<SideNavigationItem | SideNavigationGroup>;
items!: Array<SideNavigationItemBase>;

/**
* Defines the fixed items at the bottom of the `ui5-side-navigation`. Use the `ui5-side-navigation-item` component
Expand All @@ -161,7 +161,7 @@ class SideNavigation extends UI5Element {
* @public
*/
@slot({ type: HTMLElement, invalidateOnChildChange: true })
fixedItems!: Array<SideNavigationItem | SideNavigationGroup>;
fixedItems!: Array<SideNavigationItemBase>;

/**
* Defines the header of the `ui5-side-navigation`.
Expand Down Expand Up @@ -221,7 +221,7 @@ class SideNavigation extends UI5Element {
onBeforeRendering() {
super.onBeforeRendering();

this._getAllItems(this.items).concat(this._getAllItems(this.fixedItems)).forEach(item => {
this._getAllItems(this.items as Array<SideNavigationItem | SideNavigationGroup>).concat(this._getAllItems(this.fixedItems as Array<SideNavigationItem | SideNavigationGroup>)).forEach(item => {
item.sideNavCollapsed = this.collapsed;
item.inPopover = this.inPopover;
item.sideNavigation = this;
Expand All @@ -233,7 +233,7 @@ class SideNavigation extends UI5Element {
// item navigation index should be managed, because items are
// dynamically recreated and tabIndexes are not updated
const tree = this.getPickerTree();
const selectedItem = tree._findSelectedItem(tree.items);
const selectedItem = tree._findSelectedItem(tree.items as Array<SideNavigationItem | SideNavigationGroup>);
if (selectedItem) {
selectedItem.focus();
} else {
Expand Down Expand Up @@ -381,11 +381,11 @@ class SideNavigation extends UI5Element {
}

getEnabledFixedItems() : Array<ITabbable> {
return this.getEnabledItems(this.fixedItems);
return this.getEnabledItems(this.fixedItems as Array<SideNavigationItem | SideNavigationGroup>);
}

getEnabledFlexibleItems() : Array<ITabbable> {
const items = this.getEnabledItems(this.items);
const items = this.getEnabledItems(this.items as Array<SideNavigationItem | SideNavigationGroup>);

if (this._overflowItem) {
items.push(this._overflowItem);
Expand Down Expand Up @@ -420,12 +420,12 @@ class SideNavigation extends UI5Element {

onAfterRendering() {
if (!this.getDomRef()?.matches(":focus-within")) {
let selectedItem = this._findSelectedItem(this.items);
let selectedItem = this._findSelectedItem(this.items as Array<SideNavigationItem | SideNavigationGroup>);
if (selectedItem) {
this._flexibleItemNavigation.setCurrentItem(selectedItem);
}

selectedItem = this._findSelectedItem(this.fixedItems);
selectedItem = this._findSelectedItem(this.fixedItems as Array<SideNavigationItem | SideNavigationGroup>);
if (selectedItem) {
this._fixedItemNavigation.setCurrentItem(selectedItem);
}
Expand Down Expand Up @@ -544,7 +544,7 @@ class SideNavigation extends UI5Element {
}

get overflowItems() : Array<HTMLElement> {
return this.items.reduce((result, item) => {
return (this.items as Array<SideNavigationItem | SideNavigationGroup>).reduce((result, item) => {
return result.concat(item.overflowItems);
}, new Array<HTMLElement>());
}
Expand Down Expand Up @@ -604,8 +604,8 @@ class SideNavigation extends UI5Element {
return;
}

let items = this._getSelectableItems(this.items);
items = items.concat(this._getSelectableItems(this.fixedItems));
let items = this._getSelectableItems(this.items as Array<SideNavigationItem | SideNavigationGroup>);
items = items.concat(this._getSelectableItems(this.fixedItems as Array<SideNavigationItem | SideNavigationGroup>));

items.forEach(current => {
current.selected = false;
Expand Down

0 comments on commit b589486

Please sign in to comment.