@@ -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 {
@@ -135,7 +129,6 @@ function getDefaultGridInputs(): TestGridInputs {
135129 enableSelection : signal ( false ) ,
136130 multi : signal ( false ) ,
137131 selectionMode : signal ( 'follow' ) ,
138- enableRangeSelection : signal ( false ) ,
139132 getCell : ( ) => undefined ,
140133 focusMode : signal ( 'roving' ) ,
141134 disabled : signal ( false ) ,
@@ -487,7 +480,6 @@ describe('Grid', () => {
487480
488481 it ( 'should select all on Ctrl+A' , ( ) => {
489482 ( gridInputs . multi as WritableSignalLike < boolean > ) . set ( true ) ;
490- ( gridInputs . enableRangeSelection as WritableSignalLike < boolean > ) . set ( true ) ;
491483 grid . onKeydown ( a ( { control : true } ) ) ;
492484 expect (
493485 grid
@@ -499,7 +491,6 @@ describe('Grid', () => {
499491
500492 it ( 'should select row on Shift+Space' , ( ) => {
501493 ( gridInputs . multi as WritableSignalLike < boolean > ) . set ( true ) ;
502- ( gridInputs . enableRangeSelection as WritableSignalLike < boolean > ) . set ( true ) ;
503494 const gridCells = grid . cells ( ) ;
504495 grid . gridBehavior . focusBehavior . focusCell ( gridCells [ 0 ] [ 0 ] ) ;
505496 grid . onKeydown ( space ( { shift : true } ) ) ;
@@ -512,7 +503,6 @@ describe('Grid', () => {
512503
513504 it ( 'should select column on Ctrl+Space' , ( ) => {
514505 ( gridInputs . multi as WritableSignalLike < boolean > ) . set ( true ) ;
515- ( gridInputs . enableRangeSelection as WritableSignalLike < boolean > ) . set ( true ) ;
516506 const gridCells = grid . cells ( ) ;
517507 grid . gridBehavior . focusBehavior . focusCell ( gridCells [ 0 ] [ 0 ] ) ;
518508 grid . onKeydown ( space ( { control : true } ) ) ;
@@ -523,66 +513,6 @@ describe('Grid', () => {
523513 expect ( gridCells [ 1 ] [ 1 ] . selected ( ) ) . toBe ( false ) ;
524514 } ) ;
525515 } ) ;
526-
527- describe ( 'Range Selection Logic' , ( ) => {
528- let grid : GridPattern ;
529-
530- beforeEach ( ( ) => {
531- ( gridInputs . enableSelection as WritableSignalLike < boolean > ) . set ( true ) ;
532- ( gridInputs . multi as WritableSignalLike < boolean > ) . set ( true ) ;
533- ( gridInputs . enableRangeSelection as WritableSignalLike < boolean > ) . set ( true ) ;
534-
535- const data = [ { cells : [ { } , { } , { } ] } , { cells : [ { } , { } , { } ] } , { cells : [ { } , { } , { } ] } ] ;
536- const result = createGrid ( data , gridInputs ) ;
537- grid = result . grid ;
538- grid . setDefaultStateEffect ( ) ;
539- } ) ;
540-
541- it ( 'should expand the selection range up on Shift+ArrowUp' , ( ) => {
542- const cells = grid . cells ( ) ;
543- grid . gridBehavior . focusBehavior . focusCell ( cells [ 1 ] [ 1 ] ) ;
544- grid . onKeydown ( shiftUp ( ) ) ;
545- expect ( cells [ 1 ] [ 1 ] . selected ( ) ) . toBe ( true ) ;
546- expect ( cells [ 0 ] [ 1 ] . selected ( ) ) . toBe ( true ) ;
547- } ) ;
548-
549- it ( 'should expand the selection range down on Shift+ArrowDown' , ( ) => {
550- const cells = grid . cells ( ) ;
551- grid . gridBehavior . focusBehavior . focusCell ( cells [ 1 ] [ 1 ] ) ;
552- grid . onKeydown ( shiftDown ( ) ) ;
553- expect ( cells [ 1 ] [ 1 ] . selected ( ) ) . toBe ( true ) ;
554- expect ( cells [ 2 ] [ 1 ] . selected ( ) ) . toBe ( true ) ;
555- } ) ;
556-
557- it ( 'should expand the selection range left on Shift+ArrowLeft' , ( ) => {
558- const cells = grid . cells ( ) ;
559- grid . gridBehavior . focusBehavior . focusCell ( cells [ 1 ] [ 1 ] ) ;
560- grid . onKeydown ( shiftLeft ( ) ) ;
561- expect ( cells [ 1 ] [ 1 ] . selected ( ) ) . toBe ( true ) ;
562- expect ( cells [ 1 ] [ 0 ] . selected ( ) ) . toBe ( true ) ;
563- } ) ;
564-
565- it ( 'should expand the selection range right on Shift+ArrowRight' , ( ) => {
566- const cells = grid . cells ( ) ;
567- grid . gridBehavior . focusBehavior . focusCell ( cells [ 1 ] [ 1 ] ) ;
568- grid . onKeydown ( shiftRight ( ) ) ;
569- expect ( cells [ 1 ] [ 1 ] . selected ( ) ) . toBe ( true ) ;
570- expect ( cells [ 1 ] [ 2 ] . selected ( ) ) . toBe ( true ) ;
571- } ) ;
572-
573- it ( 'should support range selection with Shift+Home/End' , ( ) => {
574- const cells = grid . cells ( ) ;
575- grid . gridBehavior . focusBehavior . focusCell ( cells [ 0 ] [ 1 ] ) ;
576- grid . onKeydown ( shiftHome ( ) ) ;
577- expect ( cells [ 0 ] [ 0 ] . selected ( ) ) . toBe ( true ) ;
578- expect ( cells [ 0 ] [ 1 ] . selected ( ) ) . toBe ( true ) ;
579-
580- grid . onKeydown ( shiftEnd ( ) ) ;
581- expect ( cells [ 0 ] [ 0 ] . selected ( ) ) . toBe ( false ) ;
582- expect ( cells [ 0 ] [ 1 ] . selected ( ) ) . toBe ( true ) ;
583- expect ( cells [ 0 ] [ 2 ] . selected ( ) ) . toBe ( true ) ;
584- } ) ;
585- } ) ;
586516 } ) ;
587517
588518 describe ( 'Pointer Events' , ( ) => {
@@ -630,42 +560,6 @@ describe('Grid', () => {
630560 expect ( cells [ 0 ] [ 0 ] . selected ( ) ) . toBe ( true ) ;
631561 expect ( cells [ 0 ] [ 1 ] . selected ( ) ) . toBe ( true ) ;
632562 } ) ;
633-
634- it ( 'should support range selection with Shift+pointerdown' , ( ) => {
635- ( gridInputs . multi as WritableSignalLike < boolean > ) . set ( true ) ;
636- ( gridInputs . enableRangeSelection as WritableSignalLike < boolean > ) . set ( true ) ;
637- const cells = grid . cells ( ) ;
638- grid . onPointerdown ( createClickEvent ( cells [ 0 ] [ 0 ] . element ( ) ) ) ;
639- grid . onPointerdown ( createClickEvent ( cells [ 1 ] [ 1 ] . element ( ) , { shift : true } ) ) ;
640- expect ( cells [ 0 ] [ 0 ] . selected ( ) ) . toBe ( true ) ;
641- expect ( cells [ 0 ] [ 1 ] . selected ( ) ) . toBe ( true ) ;
642- expect ( cells [ 1 ] [ 0 ] . selected ( ) ) . toBe ( true ) ;
643- expect ( cells [ 1 ] [ 1 ] . selected ( ) ) . toBe ( true ) ;
644- } ) ;
645- } ) ;
646-
647- describe ( 'Range Selection Dragging' , ( ) => {
648- beforeEach ( ( ) => {
649- ( gridInputs . multi as WritableSignalLike < boolean > ) . set ( true ) ;
650- ( gridInputs . enableRangeSelection as WritableSignalLike < boolean > ) . set ( true ) ;
651- } ) ;
652-
653- it ( 'should select range on pointermove' , ( ) => {
654- const cells = grid . cells ( ) ;
655- grid . onPointerdown ( createClickEvent ( cells [ 0 ] [ 0 ] . element ( ) ) ) ;
656- grid . onPointermove ( createClickEvent ( cells [ 0 ] [ 1 ] . element ( ) ) ) ;
657- expect ( cells [ 0 ] [ 0 ] . selected ( ) ) . toBe ( true ) ;
658- expect ( cells [ 0 ] [ 1 ] . selected ( ) ) . toBe ( true ) ;
659- } ) ;
660-
661- it ( 'should stabilize selection on pointerup' , ( ) => {
662- const cell = grid . cells ( ) [ 0 ] [ 1 ] ;
663- grid . onPointerdown ( createClickEvent ( grid . cells ( ) [ 0 ] [ 0 ] . element ( ) ) ) ;
664- grid . onPointermove ( createClickEvent ( cell . element ( ) ) ) ;
665- expect ( grid . dragging ( ) ) . toBe ( true ) ;
666- grid . onPointerup ( createClickEvent ( cell . element ( ) ) ) ;
667- expect ( grid . dragging ( ) ) . toBe ( false ) ;
668- } ) ;
669563 } ) ;
670564 } ) ;
671565
0 commit comments