Skip to content

Commit 32bc785

Browse files
committed
feat: add sideIndex to changed, willchange event
1 parent 3a09b37 commit 32bc785

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

src/CrossFlicking.ts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,14 @@ export interface SideState {
6161
element: HTMLElement;
6262
}
6363

64+
interface CrossFlickingChangedEvent extends ChangedEvent {
65+
sideIndex?: number;
66+
}
67+
68+
interface CrossFlickingWillChangeEvent extends WillChangeEvent {
69+
sideIndex?: number;
70+
}
71+
6472
export class CrossFlicking extends Flicking {
6573
// Core components
6674
private _sideFlicking: Flicking[];
@@ -82,6 +90,10 @@ export class CrossFlicking extends Flicking {
8290
return this._sideFlicking;
8391
}
8492

93+
public get sideIndex() {
94+
return this._sideFlicking.map(i => i.index);
95+
}
96+
8597
public get sideState() {
8698
return this._sideState;
8799
}
@@ -155,6 +167,9 @@ export class CrossFlicking extends Flicking {
155167
this.on(EVENTS.HOLD_START, this._onHorizontalHoldStart);
156168
this.on(EVENTS.MOVE, this._onHorizontalMove);
157169
this.on(EVENTS.MOVE_END, this._onHorizontalMoveEnd);
170+
[EVENTS.CHANGED, EVENTS.WILL_CHANGE].forEach((event) => {
171+
this.on(event, this._addSideIndex);
172+
});
158173

159174
this._sideFlicking.forEach((flicking, mainIndex) => {
160175
flicking.on(EVENTS.HOLD_START, this._onSideHoldStart);
@@ -377,6 +392,10 @@ export class CrossFlicking extends Flicking {
377392
});
378393
};
379394

395+
private _addSideIndex = (e: ChangedEvent | WillChangeEvent): void => {
396+
(e as CrossFlickingChangedEvent | CrossFlickingWillChangeEvent).sideIndex = this._sideFlicking[e.index].index;
397+
};
398+
380399
private _onHorizontalHoldStart = (): void => {
381400
this._setDraggable(MOVE_DIRECTION.HORIZONTAL, true);
382401
this._moveDirection = null;

0 commit comments

Comments
 (0)