1
- import { TableRenderRange } from '../InfiniteTable' ;
2
- import { Renderable } from '../types/Renderable' ;
3
1
import { HorizontalLayoutMatrixBrain } from '../VirtualBrain/HorizontalLayoutMatrixBrain' ;
4
2
import {
5
3
columnOffsetAtIndex ,
6
4
columnOffsetAtIndexWhileReordering ,
7
5
currentTransformY ,
8
6
ReactHeadlessTableRenderer ,
9
- TableRenderCellFn ,
10
- TableRenderDetailRowFn ,
11
7
} from './ReactHeadlessTableRenderer' ;
12
8
13
9
export class HorizontalLayoutTableRenderer extends ReactHeadlessTableRenderer {
14
10
protected brain : HorizontalLayoutMatrixBrain ;
15
- constructor ( brain : HorizontalLayoutMatrixBrain ) {
16
- super ( brain ) ;
11
+ constructor ( brain : HorizontalLayoutMatrixBrain , debugId ?: string ) {
12
+ super ( brain , debugId ) ;
17
13
this . brain = brain ;
18
14
}
19
15
20
16
protected getCellRealCoordinates ( rowIndex : number , colIndex : number ) {
17
+ // return {
18
+ // rowIndex,
19
+ // colIndex,
20
+ // };
21
21
return this . brain . getHorizontalLayoutPositionFromMatrixCoordinates ( {
22
22
rowIndex,
23
23
colIndex,
24
24
} ) ;
25
25
}
26
26
27
- renderRange (
28
- range : TableRenderRange ,
29
-
30
- {
31
- renderCell,
32
- renderDetailRow,
33
- force,
34
- onRender,
35
- } : {
36
- force ?: boolean ;
37
- renderCell : TableRenderCellFn ;
38
- renderDetailRow ?: TableRenderDetailRowFn ;
39
- onRender : ( items : Renderable [ ] ) => void ;
40
- } ,
41
- ) : Renderable [ ] {
42
- return super . renderRange ( range , {
43
- renderCell,
44
- renderDetailRow,
45
- force,
46
- onRender,
47
- } ) ;
48
- }
49
-
50
27
setTransform = (
51
28
element : HTMLElement ,
52
29
rowIndex : number ,
@@ -58,7 +35,7 @@ export class HorizontalLayoutTableRenderer extends ReactHeadlessTableRenderer {
58
35
scrollLeft ?: boolean ;
59
36
scrollTop ?: boolean ;
60
37
} ,
61
- zIndex : number | 'auto' | undefined | null ,
38
+ _zIndex : number | 'auto' | undefined | null ,
62
39
) => {
63
40
const horizontalLayoutCoords = this . getCellRealCoordinates (
64
41
rowIndex ,
@@ -69,7 +46,8 @@ export class HorizontalLayoutTableRenderer extends ReactHeadlessTableRenderer {
69
46
const pageIndex = Math . floor (
70
47
horizontalLayoutCoords . rowIndex / this . brain . rowsPerPage ,
71
48
) ;
72
- const pageOffset = pageIndex ? pageIndex * this . brain . pageWidth : 0 ;
49
+ const pageWidth = `${ this . brain . pageWidth } px` ;
50
+ const pageOffset = pageIndex ? `calc(${ pageIndex } * ${ pageWidth } )` : '0px' ;
73
51
74
52
const columnOffsetX = `${ columnOffsetAtIndex } -${ horizontalLayoutCoords . colIndex } ` ;
75
53
const columnOffsetXWhileReordering = `${ columnOffsetAtIndexWhileReordering } -${ horizontalLayoutCoords . colIndex } ` ;
@@ -83,7 +61,7 @@ export class HorizontalLayoutTableRenderer extends ReactHeadlessTableRenderer {
83
61
element . style . setProperty ( currentTransformY , currentTransformYValue ) ;
84
62
}
85
63
86
- const xOffset = `calc(var(${ columnOffsetX } ) + ${ pageOffset } px )` ;
64
+ const xOffset = `calc(var(${ columnOffsetX } ) + ${ pageOffset } )` ;
87
65
const transformX = `var(${ columnOffsetXWhileReordering } , ${ xOffset } )` ;
88
66
const transformY = `var(${ currentTransformY } )` ;
89
67
0 commit comments