@@ -37,12 +37,6 @@ const end = (mods?: ModifierKeys) => createKeyboardEvent('keydown', 35, 'End', m
3737const space = ( mods ?: ModifierKeys ) => createKeyboardEvent ( 'keydown' , 32 , ' ' , mods ) ;
3838const enter = ( mods ?: ModifierKeys ) => createKeyboardEvent ( 'keydown' , 13 , 'Enter' , mods ) ;
3939const escape = ( mods ?: ModifierKeys ) => createKeyboardEvent ( 'keydown' , 27 , 'Escape' , mods ) ;
40- const shiftUp = ( ) => up ( { shift : true } ) ;
41- const shiftDown = ( ) => down ( { shift : true } ) ;
42- const shiftLeft = ( ) => left ( { shift : true } ) ;
43- const shiftRight = ( ) => right ( { shift : true } ) ;
44- const shiftHome = ( ) => home ( { shift : true } ) ;
45- const shiftEnd = ( ) => end ( { shift : true } ) ;
4640
4741function createClickEvent ( element : HTMLElement , mods ?: ModifierKeys ) : PointerEvent {
4842 return {
@@ -141,7 +135,6 @@ function getDefaultGridInputs(): TestGridInputs {
141135 enableSelection : signal ( false ) ,
142136 multi : signal ( false ) ,
143137 selectionMode : signal ( 'follow' ) ,
144- enableRangeSelection : signal ( false ) ,
145138 getCell : ( ) => undefined ,
146139 focusMode : signal ( 'roving' ) ,
147140 disabled : signal ( false ) ,
@@ -602,7 +595,6 @@ describe('Grid', () => {
602595
603596 it ( 'should select all on Ctrl+A' , ( ) => {
604597 ( gridInputs . multi as WritableSignalLike < boolean > ) . set ( true ) ;
605- ( gridInputs . enableRangeSelection as WritableSignalLike < boolean > ) . set ( true ) ;
606598 grid . onKeydown ( a ( { control : true } ) ) ;
607599 expect (
608600 grid
@@ -614,7 +606,6 @@ describe('Grid', () => {
614606
615607 it ( 'should select row on Shift+Space' , ( ) => {
616608 ( gridInputs . multi as WritableSignalLike < boolean > ) . set ( true ) ;
617- ( gridInputs . enableRangeSelection as WritableSignalLike < boolean > ) . set ( true ) ;
618609 const gridCells = grid . cells ( ) ;
619610 grid . gridBehavior . focusBehavior . focusCell ( gridCells [ 0 ] [ 0 ] ) ;
620611 grid . onKeydown ( space ( { shift : true } ) ) ;
@@ -627,7 +618,6 @@ describe('Grid', () => {
627618
628619 it ( 'should select column on Ctrl+Space' , ( ) => {
629620 ( gridInputs . multi as WritableSignalLike < boolean > ) . set ( true ) ;
630- ( gridInputs . enableRangeSelection as WritableSignalLike < boolean > ) . set ( true ) ;
631621 const gridCells = grid . cells ( ) ;
632622 grid . gridBehavior . focusBehavior . focusCell ( gridCells [ 0 ] [ 0 ] ) ;
633623 grid . onKeydown ( space ( { control : true } ) ) ;
@@ -638,66 +628,6 @@ describe('Grid', () => {
638628 expect ( gridCells [ 1 ] [ 1 ] . selected ( ) ) . toBe ( false ) ;
639629 } ) ;
640630 } ) ;
641-
642- describe ( 'Range Selection Logic' , ( ) => {
643- let grid : GridPattern ;
644-
645- beforeEach ( ( ) => {
646- ( gridInputs . enableSelection as WritableSignalLike < boolean > ) . set ( true ) ;
647- ( gridInputs . multi as WritableSignalLike < boolean > ) . set ( true ) ;
648- ( gridInputs . enableRangeSelection as WritableSignalLike < boolean > ) . set ( true ) ;
649-
650- const data = [ { cells : [ { } , { } , { } ] } , { cells : [ { } , { } , { } ] } , { cells : [ { } , { } , { } ] } ] ;
651- const result = createGrid ( data , gridInputs ) ;
652- grid = result . grid ;
653- grid . setDefaultStateEffect ( ) ;
654- } ) ;
655-
656- it ( 'should expand the selection range up on Shift+ArrowUp' , ( ) => {
657- const cells = grid . cells ( ) ;
658- grid . gridBehavior . focusBehavior . focusCell ( cells [ 1 ] [ 1 ] ) ;
659- grid . onKeydown ( shiftUp ( ) ) ;
660- expect ( cells [ 1 ] [ 1 ] . selected ( ) ) . toBe ( true ) ;
661- expect ( cells [ 0 ] [ 1 ] . selected ( ) ) . toBe ( true ) ;
662- } ) ;
663-
664- it ( 'should expand the selection range down on Shift+ArrowDown' , ( ) => {
665- const cells = grid . cells ( ) ;
666- grid . gridBehavior . focusBehavior . focusCell ( cells [ 1 ] [ 1 ] ) ;
667- grid . onKeydown ( shiftDown ( ) ) ;
668- expect ( cells [ 1 ] [ 1 ] . selected ( ) ) . toBe ( true ) ;
669- expect ( cells [ 2 ] [ 1 ] . selected ( ) ) . toBe ( true ) ;
670- } ) ;
671-
672- it ( 'should expand the selection range left on Shift+ArrowLeft' , ( ) => {
673- const cells = grid . cells ( ) ;
674- grid . gridBehavior . focusBehavior . focusCell ( cells [ 1 ] [ 1 ] ) ;
675- grid . onKeydown ( shiftLeft ( ) ) ;
676- expect ( cells [ 1 ] [ 1 ] . selected ( ) ) . toBe ( true ) ;
677- expect ( cells [ 1 ] [ 0 ] . selected ( ) ) . toBe ( true ) ;
678- } ) ;
679-
680- it ( 'should expand the selection range right on Shift+ArrowRight' , ( ) => {
681- const cells = grid . cells ( ) ;
682- grid . gridBehavior . focusBehavior . focusCell ( cells [ 1 ] [ 1 ] ) ;
683- grid . onKeydown ( shiftRight ( ) ) ;
684- expect ( cells [ 1 ] [ 1 ] . selected ( ) ) . toBe ( true ) ;
685- expect ( cells [ 1 ] [ 2 ] . selected ( ) ) . toBe ( true ) ;
686- } ) ;
687-
688- it ( 'should support range selection with Shift+Home/End' , ( ) => {
689- const cells = grid . cells ( ) ;
690- grid . gridBehavior . focusBehavior . focusCell ( cells [ 0 ] [ 1 ] ) ;
691- grid . onKeydown ( shiftHome ( ) ) ;
692- expect ( cells [ 0 ] [ 0 ] . selected ( ) ) . toBe ( true ) ;
693- expect ( cells [ 0 ] [ 1 ] . selected ( ) ) . toBe ( true ) ;
694-
695- grid . onKeydown ( shiftEnd ( ) ) ;
696- expect ( cells [ 0 ] [ 0 ] . selected ( ) ) . toBe ( false ) ;
697- expect ( cells [ 0 ] [ 1 ] . selected ( ) ) . toBe ( true ) ;
698- expect ( cells [ 0 ] [ 2 ] . selected ( ) ) . toBe ( true ) ;
699- } ) ;
700- } ) ;
701631 } ) ;
702632
703633 describe ( 'Pointer Events' , ( ) => {
@@ -745,42 +675,6 @@ describe('Grid', () => {
745675 expect ( cells [ 0 ] [ 0 ] . selected ( ) ) . toBe ( true ) ;
746676 expect ( cells [ 0 ] [ 1 ] . selected ( ) ) . toBe ( true ) ;
747677 } ) ;
748-
749- it ( 'should support range selection with Shift+pointerdown' , ( ) => {
750- ( gridInputs . multi as WritableSignalLike < boolean > ) . set ( true ) ;
751- ( gridInputs . enableRangeSelection as WritableSignalLike < boolean > ) . set ( true ) ;
752- const cells = grid . cells ( ) ;
753- grid . onPointerdown ( createClickEvent ( cells [ 0 ] [ 0 ] . element ( ) ) ) ;
754- grid . onPointerdown ( createClickEvent ( cells [ 1 ] [ 1 ] . element ( ) , { shift : true } ) ) ;
755- expect ( cells [ 0 ] [ 0 ] . selected ( ) ) . toBe ( true ) ;
756- expect ( cells [ 0 ] [ 1 ] . selected ( ) ) . toBe ( true ) ;
757- expect ( cells [ 1 ] [ 0 ] . selected ( ) ) . toBe ( true ) ;
758- expect ( cells [ 1 ] [ 1 ] . selected ( ) ) . toBe ( true ) ;
759- } ) ;
760- } ) ;
761-
762- describe ( 'Range Selection Dragging' , ( ) => {
763- beforeEach ( ( ) => {
764- ( gridInputs . multi as WritableSignalLike < boolean > ) . set ( true ) ;
765- ( gridInputs . enableRangeSelection as WritableSignalLike < boolean > ) . set ( true ) ;
766- } ) ;
767-
768- it ( 'should select range on pointermove' , ( ) => {
769- const cells = grid . cells ( ) ;
770- grid . onPointerdown ( createClickEvent ( cells [ 0 ] [ 0 ] . element ( ) ) ) ;
771- grid . onPointermove ( createClickEvent ( cells [ 0 ] [ 1 ] . element ( ) ) ) ;
772- expect ( cells [ 0 ] [ 0 ] . selected ( ) ) . toBe ( true ) ;
773- expect ( cells [ 0 ] [ 1 ] . selected ( ) ) . toBe ( true ) ;
774- } ) ;
775-
776- it ( 'should stabilize selection on pointerup' , ( ) => {
777- const cell = grid . cells ( ) [ 0 ] [ 1 ] ;
778- grid . onPointerdown ( createClickEvent ( grid . cells ( ) [ 0 ] [ 0 ] . element ( ) ) ) ;
779- grid . onPointermove ( createClickEvent ( cell . element ( ) ) ) ;
780- expect ( grid . dragging ( ) ) . toBe ( true ) ;
781- grid . onPointerup ( createClickEvent ( cell . element ( ) ) ) ;
782- expect ( grid . dragging ( ) ) . toBe ( false ) ;
783- } ) ;
784678 } ) ;
785679 } ) ;
786680
0 commit comments