@@ -44,12 +44,23 @@ class AppConfig {
44
44
class AppContext {
45
45
46
46
dhs = { } ;
47
+ current_data_harmonizer = null ;
47
48
48
49
constructor ( appConfig ) {
49
50
this . template = null ;
50
51
this . appConfig = appConfig ;
51
52
}
52
53
54
+ setDataHarmonizers ( data_harmonizers ) {
55
+ this . dhs = data_harmonizers ;
56
+ // TODO finding the initial parent?
57
+ this . setCurrentDataHarmonizer ( data_harmonizers [ 'Container' ] . children [ 0 ] ) ;
58
+ }
59
+
60
+ setCurrentDataHarmonizer ( data_harmonizer_name ) {
61
+ this . current_data_harmonizer = data_harmonizer_name ;
62
+ }
63
+
53
64
// TODO: memoize?
54
65
async getTypeTree ( ) {
55
66
return ( await this . getClasses ( ) ) . reduce ( ( acc , el ) => {
@@ -634,7 +645,7 @@ const main = async function () {
634
645
dhTabLink . setAttribute ( 'data-bs-target' , dhTabLink . href ) ;
635
646
dhTabLink . setAttribute ( 'role' , 'tab' ) ;
636
647
dhTabLink . setAttribute ( 'aria-controls' , dhId ) ;
637
-
648
+
638
649
dhTab . appendChild ( dhTabLink ) ;
639
650
return dhTab ;
640
651
}
@@ -650,6 +661,11 @@ const main = async function () {
650
661
dhRoot . appendChild ( dhSubroot ) ; // Appending to the parent container
651
662
652
663
const dhTab = createDataHarmonizerTab ( dhId , spec . name , index === 0 ) ;
664
+ dhTab . addEventListener ( 'click' , ( ) => {
665
+ console . log ( 'click tab' , spec . name , index ) ;
666
+ // set the current dataharmonizer tab in the context
667
+ context . setCurrentDataHarmonizer ( spec . name ) ;
668
+ } )
653
669
dhTabNav . appendChild ( dhTab ) ; // Appending to the tab navigation
654
670
655
671
console . log ( findSlotNamesForClass ( schema , cls_key ) ) ;
@@ -853,6 +869,7 @@ const main = async function () {
853
869
console . log ( 'before initializeDataHarmonizers' ) ;
854
870
initializeDataHarmonizers ( data_harmonizers ) ;
855
871
// TODO assignment functions
872
+ // TODO current dataharmonizer in contexts
856
873
context . dhs = data_harmonizers ;
857
874
new Toolbar ( dhToolbarRoot , data_harmonizers [ cls_key ] , menu , {
858
875
context : context ,
0 commit comments