@@ -36,8 +36,8 @@ class QgridModel extends widgets.DOMWidgetModel {
3636 _view_name : 'QgridView' ,
3737 _model_module : 'qgrid' ,
3838 _view_module : 'qgrid' ,
39- _model_module_version : '^1.0.0 ' ,
40- _view_module_version : '^1.0.0 ' ,
39+ _model_module_version : '^1.0.1 ' ,
40+ _view_module_version : '^1.0.1 ' ,
4141 _df_json : '' ,
4242 _columns : { }
4343 } ) ;
@@ -370,6 +370,16 @@ class QgridView extends widgets.DOMWidgetView {
370370 this . grid_elem . addClass ( 'force-fit-columns' ) ;
371371 }
372372
373+ if ( this . grid_options . highlightSelectedCell ) {
374+ this . grid_elem . addClass ( 'highlight-selected-cell' ) ;
375+ }
376+
377+ // compare to false since we still want to show row
378+ // selection if this option is excluded entirely
379+ if ( this . grid_options . highlightSelectedRow != false ) {
380+ this . grid_elem . addClass ( 'highlight-selected-row' ) ;
381+ }
382+
373383 setTimeout ( ( ) => {
374384 this . slick_grid . init ( ) ;
375385 this . update_size ( ) ;
@@ -378,12 +388,16 @@ class QgridView extends widgets.DOMWidgetView {
378388 this . slick_grid . setSelectionModel ( new Slick . RowSelectionModel ( ) ) ;
379389 this . slick_grid . render ( ) ;
380390
381- this . slick_grid . onHeaderCellRendered . subscribe ( ( e , args ) => {
391+ var render_header_cell = ( e , args ) => {
382392 var cur_filter = this . filters [ args . column . id ] ;
383- if ( cur_filter ) {
384- cur_filter . render_filter_button ( $ ( args . node ) , this . slick_grid ) ;
385- }
386- } ) ;
393+ if ( cur_filter ) {
394+ cur_filter . render_filter_button ( $ ( args . node ) , this . slick_grid ) ;
395+ }
396+ } ;
397+
398+ if ( this . grid_options . filterable != false ) {
399+ this . slick_grid . onHeaderCellRendered . subscribe ( render_header_cell ) ;
400+ }
387401
388402 // Force the grid to re-render the column headers so the
389403 // onHeaderCellRendered event is triggered.
@@ -396,7 +410,7 @@ class QgridView extends widgets.DOMWidgetView {
396410 this . slick_grid . setSortColumns ( [ ] ) ;
397411
398412 this . grid_header = this . $el . find ( '.slick-header-columns' ) ;
399- this . grid_header . click ( ( e ) => {
413+ var handle_header_click = ( e ) => {
400414 if ( this . resizing_column ) {
401415 return ;
402416 }
@@ -436,7 +450,11 @@ class QgridView extends widgets.DOMWidgetView {
436450 'sort_ascending' : this . sort_ascending
437451 } ;
438452 this . send ( msg ) ;
439- } ) ;
453+ } ;
454+
455+ if ( this . grid_options . sortable != false ) {
456+ this . grid_header . click ( handle_header_click )
457+ }
440458
441459 this . slick_grid . onViewportChanged . subscribe ( ( e ) => {
442460 if ( this . viewport_timeout ) {
@@ -491,6 +509,18 @@ class QgridView extends widgets.DOMWidgetView {
491509 } , 1 ) ;
492510 }
493511
512+ processPhosphorMessage ( msg ) {
513+ super . processPhosphorMessage ( msg )
514+ switch ( msg . type ) {
515+ case 'resize' :
516+ case 'after-show' :
517+ if ( this . slick_grid ) {
518+ this . slick_grid . resizeCanvas ( ) ;
519+ }
520+ break ;
521+ }
522+ }
523+
494524 has_active_filter ( ) {
495525 for ( var i = 0 ; i < this . filter_list . length ; i ++ ) {
496526 var cur_filter = this . filter_list [ i ] ;
0 commit comments