@@ -432,42 +432,41 @@ export default class AppContext {
432
432
makeDataHarmonizersFromSchemaTree ( schema , template_name ) {
433
433
let data_harmonizers = { } ;
434
434
const template = this . appConfig . template_path . split ( '/' ) [ 1 ] ;
435
+ console . log ( "SCHEMA TREE" , this . schema_tree )
435
436
Object . entries ( this . schema_tree )
436
- . filter ( ( [ cls_key ] ) => cls_key !== 'Container' )
437
+ // Container class is only used in input and output file coordination.
438
+ . filter ( ( [ class_name ] ) => class_name !== 'Container' )
437
439
// FOR NOW: 1-many involves getting all children of selected template too.
438
- //.filter(([cls_key ]) => cls_key === template)
440
+ //.filter(([class_name ]) => class_name === template)
439
441
440
442
. forEach ( ( obj , index ) => {
441
443
if ( obj . length > 0 ) {
442
- const [ cls_key , spec ] = obj ;
444
+ const [ class_name , tree_obj ] = obj ;
443
445
444
446
// if it shares a key with another class which is its parent, this DH must be a child
445
- const is_child = spec . shared_keys . some (
447
+ const is_child = tree_obj . shared_keys . some (
446
448
( shared_key_spec ) => shared_key_spec . relation === 'parent'
447
449
) ;
448
450
449
- // Doesn't rebuild if tab id already exists.
451
+ // Doesn't build if tab id already exists.
450
452
const dhId = `data-harmonizer-grid-${ index } ` ;
451
453
if ( ! document . getElementById ( dhId ) ) {
452
454
const dhSubroot = createDataHarmonizerContainer ( dhId , index === 0 ) ;
453
455
454
- const dhTab = createDataHarmonizerTab ( dhId , spec . name , index === 0 ) ;
456
+ const dhTab = createDataHarmonizerTab ( dhId , class_name , index === 0 ) ;
455
457
dhTab . addEventListener ( 'click' , ( ) => {
456
458
$ ( document ) . trigger ( 'dhTabChange' , {
457
- specName : spec . name ,
459
+ specName : class_name ,
458
460
} ) ;
459
461
} ) ;
460
462
461
463
// Each selected DataHarmonizer is rendered here.
462
- // Different classes have different slots allocated to them.
463
- // field_filters narrows to those slots.
464
464
// NOTE: this may be running twice?.
465
465
// in 1-M, different DataHarmonizers have fewer rows to start with
466
466
// and visible if a child. Override the default HoT settings.
467
- data_harmonizers [ spec . name ] = new DataHarmonizer ( dhSubroot , this , {
467
+ data_harmonizers [ class_name ] = new DataHarmonizer ( dhSubroot , this , {
468
468
loadingScreenRoot : document . body ,
469
- class_assignment : cls_key ,
470
- field_filters : findSlotNamesForClass ( schema , cls_key ) ,
469
+ class_assignment : class_name ,
471
470
hot_override_settings : {
472
471
minRows : is_child ? 0 : 100 ,
473
472
minSpareRows : is_child ? 0 : 100 ,
@@ -478,13 +477,12 @@ export default class AppContext {
478
477
} ,
479
478
} ) ;
480
479
481
- // Adds .field_filters[field list], .useTemplate(template_name);
482
- data_harmonizers [ spec . name ] . useSchema ( schema , template_name ) ;
480
+ data_harmonizers [ class_name ] . useSchema ( schema , template_name ) ;
483
481
484
482
// Initialization of each child table is to hide all rows until
485
483
// parent primary key record is selected as a foreign key index.
486
484
if ( is_child ) {
487
- data_harmonizers [ spec . name ] . filterAll ( ) ;
485
+ data_harmonizers [ class_name ] . filterAll ( ) ;
488
486
}
489
487
}
490
488
}
0 commit comments