Skip to content

Commit cced976

Browse files
chore: reorganize _changeSlideIndex method parameters
1 parent 32ff007 commit cced976

1 file changed

Lines changed: 14 additions & 8 deletions

File tree

packages/main/src/Carousel.ts

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,11 @@ type CarouselNavigateEventDetail = {
5252
selectedIndex: number;
5353
}
5454

55+
type ChangeSlideOptions = {
56+
fireEvent?: boolean;
57+
moveFocus?: boolean;
58+
}
59+
5560
type ItemsInfo = {
5661
id: string,
5762
item: HTMLElement & { _individualSlot?: string },
@@ -343,7 +348,7 @@ class Carousel extends UI5Element {
343348

344349
this._currentSlideIndex = clamp(this._currentSlideIndex, 0, Math.max(0, this.items.length - this.effectiveItemsPerPage));
345350
this._focusedItemIndex = clamp(this._focusedItemIndex, this._currentSlideIndex, this.items.length - 1);
346-
this._changeSlideIndex(this._currentSlideIndex, false);
351+
this._changeSlideIndex(this._currentSlideIndex, { fireEvent: false });
347352
});
348353

349354
this._scrollEnablement = new ScrollEnablement(this);
@@ -552,28 +557,28 @@ class Carousel extends UI5Element {
552557

553558
async _handleHome(e: KeyboardEvent) {
554559
e.preventDefault();
555-
this._changeSlideIndex(0, true, true);
560+
this._changeSlideIndex(0, { moveFocus: true });
556561
await renderFinished();
557562
this.focusItem();
558563
}
559564

560565
async _handleEnd(e: KeyboardEvent) {
561566
e.preventDefault();
562-
this._changeSlideIndex(this.items.length - 1, true, true);
567+
this._changeSlideIndex(this.items.length - 1, { moveFocus: true });
563568
await renderFinished();
564569
this.focusItem();
565570
}
566571

567572
async _handlePageUp(e: KeyboardEvent) {
568573
e.preventDefault();
569-
this._changeSlideIndex(this._currentSlideIndex + this._pageStep, true, true);
574+
this._changeSlideIndex(this._currentSlideIndex + this._pageStep, { moveFocus: true });
570575
await renderFinished();
571576
this.focusItem();
572577
}
573578

574579
async _handlePageDown(e: KeyboardEvent) {
575580
e.preventDefault();
576-
this._changeSlideIndex(this._currentSlideIndex - this._pageStep, true, true);
581+
this._changeSlideIndex(this._currentSlideIndex - this._pageStep, { moveFocus: true });
577582
await renderFinished();
578583
this.focusItem();
579584
}
@@ -659,13 +664,14 @@ class Carousel extends UI5Element {
659664
* @public
660665
*/
661666
navigateTo(itemIndex: number): void {
662-
this._changeSlideIndex(itemIndex, false);
667+
this._changeSlideIndex(itemIndex, { fireEvent: false });
663668
}
664669

665-
_changeSlideIndex(itemIndex: number, fireEvent = true, moveFocusToNewIndex = false): void {
670+
_changeSlideIndex(itemIndex: number, options: ChangeSlideOptions = {}): void {
671+
const { fireEvent = true, moveFocus = false } = options;
666672
const newSlideIndex = clamp(itemIndex, 0, this.items.length - this.effectiveItemsPerPage);
667673

668-
if (moveFocusToNewIndex || (this._focusedItemIndex < newSlideIndex || this._focusedItemIndex > newSlideIndex + this.effectiveItemsPerPage - 1)) {
674+
if (moveFocus || (this._focusedItemIndex < newSlideIndex || this._focusedItemIndex > newSlideIndex + this.effectiveItemsPerPage - 1)) {
669675
this._focusedItemIndex = clamp(itemIndex, 0, this.items.length - 1);
670676
}
671677

0 commit comments

Comments
 (0)