@@ -61,6 +61,14 @@ export interface SideState {
6161 element : HTMLElement ;
6262}
6363
64+ export interface CrossFlickingChangedEvent extends ChangedEvent {
65+ sideIndex ?: number ;
66+ }
67+
68+ export interface CrossFlickingWillChangeEvent extends WillChangeEvent {
69+ sideIndex ?: number ;
70+ }
71+
6472export 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