Skip to content

Commit 879c12b

Browse files
single toolbar WIP
1 parent aae3281 commit 879c12b

File tree

1 file changed

+20
-22
lines changed

1 file changed

+20
-22
lines changed

web/index.js

+20-22
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ class AppConfig {
4343

4444
class AppContext {
4545

46+
schema_tree = {};
4647
dhs = {};
4748
current_data_harmonizer_name = null;
4849

@@ -51,10 +52,13 @@ class AppContext {
5152
this.appConfig = appConfig;
5253
}
5354

55+
setSchemaTree(schema_tree) {
56+
this.schema_tree = schema_tree;
57+
}
58+
5459
setDataHarmonizers(data_harmonizers) {
5560
this.dhs = data_harmonizers;
56-
// TODO finding the initial parent?
57-
this.setCurrentDataHarmonizer(data_harmonizers['Container'].children[0]);
61+
this.setCurrentDataHarmonizer(this.schema_tree['Container'].children[0]);
5862
}
5963

6064
setCurrentDataHarmonizer(data_harmonizer_name) {
@@ -80,9 +84,6 @@ class AppContext {
8084
}, {});
8185
}
8286

83-
// TODO: memoize?
84-
// setup dependency tree
85-
// TODO: dh_interface superclass
8687
/*
8788
Example Data:
8889
{
@@ -858,34 +859,31 @@ const main = async function () {
858859
};
859860

860861
function initializeDataHarmonizers(data_harmonizers) {
861-
// TODO
862-
// Object.entries(data_harmonizers).forEach(([cls_key,], index) => {
863-
// new Toolbar(dhToolbarRoot, data_harmonizers[cls_key], menu, {
864-
// context: context,
865-
// templatePath: context.appConfig.template_path, // TODO: a default should be loaded before Toolbar is constructed! then take out all loading in "toolbar" to an outside context
866-
// releasesURL: 'https: // github.com/cidgoh/pathogen-genomics-package/releases',
867-
// getLanguages: context.getLocaleData.bind(context),
868-
// getSchema: async (schema) => Template.create(schema).then(result => result.current.schema),
869-
// getExportFormats: context.getExportFormats.bind(context),
870-
// });
871-
// });
872-
console.log('before attachPropagationEventHandlersToDataHarmonizers');
862+
new Toolbar(dhToolbarRoot, context.getCurrentDataHarmonizer(), menu, {
863+
context: context,
864+
templatePath: context.appConfig.template_path, // TODO: a default should be loaded before Toolbar is constructed! then take out all loading in "toolbar" to an outside context
865+
releasesURL: 'https: // github.com/cidgoh/pathogen-genomics-package/releases',
866+
getLanguages: context.getLocaleData.bind(context),
867+
getSchema: async (schema) => Template.create(schema).then(result => result.current.schema),
868+
getExportFormats: context.getExportFormats.bind(context),
869+
});
873870
attachPropagationEventHandlersToDataHarmonizers(data_harmonizers, schema_tree);
874871
return data_harmonizers;
875872
};
876873

877874
const schema = (await context.getSchema())
878875
const schema_tree = buildSchemaTree(schema);
876+
877+
context.setSchemaTree(schema_tree);
878+
879879
data_harmonizers = makeDataHarmonizersFromSchemaTree(
880880
schema,
881881
schema_tree);
882882
// HACK
883883
delete data_harmonizers[undefined];
884-
console.log('before initializeDataHarmonizers');
885-
initializeDataHarmonizers(data_harmonizers);
886-
// TODO assignment functions
887-
// TODO current dataharmonizer in contexts
888-
context.dhs = data_harmonizers;
884+
context.setDataHarmonizers(data_harmonizers);
885+
console.log(context.getCurrentDataHarmonizer());
886+
initializeDataHarmonizers(context.dhs);
889887

890888
} else {
891889
console.log('branch 2');

0 commit comments

Comments
 (0)