@@ -87,7 +87,7 @@ class DataHarmonizer {
8787
8888 // interface layout pass-ins
8989 this . root = root ;
90- this . hotRoot = options . hotRoot || $ ( '<div>' ) . appendTo ( this . root ) [ 0 ] ;
90+ this . hotRoot = options . hotRoot || $ ( '<div>' ) . addClass ( 'dh-hot-root' ) . appendTo ( this . root ) [ 0 ] ;
9191 this . modalsRoot = options . modalsRoot || document . querySelector ( 'body' ) ;
9292 this . loadingScreenRoot = options . loadingScreenRoot || this . root ;
9393
@@ -224,8 +224,7 @@ class DataHarmonizer {
224224 minRows : 5 ,
225225 minSpareRows : 0 ,
226226 width : '100%' ,
227- // Future: For empty dependent tables, tailor to minimize height.
228- height : '75vh' ,
227+ height : '100%' ,
229228 fixedRowsTop : 0 ,
230229 // define your custom query method, e.g. queryMethod: searchMatchCriteria
231230 search : { } ,
@@ -362,7 +361,7 @@ class DataHarmonizer {
362361 hidden ( ) {
363362 return self . template_name != 'Schema' ;
364363 } ,
365- callback ( ) { self . context . schemaEditor . previewSchema ( ) ; }
364+ callback ( ) { self . context . schemaEditor . demoSchema ( ) ; }
366365 } ,
367366 copy_to_schema : {
368367 name : 'Copy to schema' ,
@@ -941,14 +940,9 @@ class DataHarmonizer {
941940 afterRowMove : ( movedRows , finalIndex , dropIndex , movePossible , orderChanged ) => {
942941 if ( ! orderChanged ) return ;
943942 const numMoved = self . _pendingMoveCount || 1 ;
944- const count = self . hot . countSourceRows ( ) ;
945- const reordered = [ ] ;
946- for ( let vRow = 0 ; vRow < count ; vRow ++ ) {
947- const physRow = self . hot . toPhysicalRow ( vRow ) ;
948- if ( physRow !== null ) {
949- reordered . push ( [ ...self . hot . getSourceDataAtRow ( physRow ) ] ) ;
950- }
951- }
943+ // getData() returns the current visual-order rows as plain arrays,
944+ // avoiding HOT-internal wrapper objects from getSourceDataAtRow.
945+ const reordered = self . hot . getData ( ) ;
952946 self . invalid_cells = { } ; // physical row indices will reset; stale cache must be cleared
953947 // Capture scroll position before loadData resets it. Row count and
954948 // heights are unchanged (reorder only), so the same scrollTop pixel
0 commit comments