@@ -220,6 +220,13 @@ export class FeatherGrid extends Widget {
220220 verticalAlignment : 'center' ,
221221 } ) ;
222222
223+ this . _rowHeaderRenderer = new TextRenderer ( {
224+ textColor : Theme . getFontColor ( 1 ) ,
225+ backgroundColor : Theme . getBackgroundColor ( 2 ) ,
226+ horizontalAlignment : 'center' ,
227+ verticalAlignment : 'center'
228+ } ) ;
229+
223230 const layout = ( this . layout = new PanelLayout ( ) ) ;
224231 layout . addWidget ( this . grid ) ;
225232 }
@@ -495,14 +502,6 @@ export class FeatherGrid extends Widget {
495502 } ) ;
496503 }
497504
498- const rowHeaderRenderer = new TextRenderer ( {
499- textColor : Theme . getFontColor ( 1 ) ,
500- backgroundColor : Theme . getBackgroundColor ( 2 ) ,
501- horizontalAlignment : 'center' ,
502- verticalAlignment : 'center' ,
503- } ) ;
504- this . grid . cellRenderers . update ( { 'row-header' : rowHeaderRenderer } ) ;
505-
506505 const scrollShadow = {
507506 size : 4 ,
508507 color1 : Theme . getBorderColor ( 1 , 1.0 ) ,
@@ -751,15 +750,19 @@ export class FeatherGrid extends Widget {
751750 *
752751 * @param config - CellConfig for the cell to be rendered.
753752 */
754- private _rendererResolver ( config : CellRenderer . CellConfig ) : CellRenderer {
755- const columnName : string = config . metadata [ 'name' ] ;
756- return this . _renderers . hasOwnProperty ( columnName )
757- ? this . _renderers [ columnName ]
758- : this . _defaultRenderer ;
759- }
753+ private _rendererResolver ( config : CellRenderer . CellConfig ) : CellRenderer {
754+ const columnName : string = config . metadata [ 'name' ] ;
755+ const cellRegion : string = config [ 'region' ] ;
756+ return this . _renderers . hasOwnProperty ( columnName )
757+ ? this . _renderers [ columnName ]
758+ : cellRegion === 'row-header'
759+ ? this . _rowHeaderRenderer
760+ : this . _defaultRenderer ;
761+ }
760762
761763 private _updateGridRenderers ( ) {
762764 this . grid . cellRenderers . update ( { body : this . _rendererResolver . bind ( this ) } ) ;
765+ this . grid . cellRenderers . update ( { 'row-header' : this . _rendererResolver . bind ( this ) } ) ;
763766 }
764767
765768 private _updateColumnWidths ( ) {
@@ -938,6 +941,7 @@ export class FeatherGrid extends Widget {
938941 private _editable : boolean ;
939942 private _renderers : Dict < CellRenderer > = { } ;
940943 private _defaultRenderer : CellRenderer ;
944+ private _rowHeaderRenderer : CellRenderer ;
941945 private _defaultRendererSet = false ;
942946 private _cellClicked = new Signal < this, FeatherGrid . ICellClickedEvent > ( this ) ;
943947 private _columnsResized = new Signal < this, void > ( this ) ;
0 commit comments