Skip to content
Snippets Groups Projects
Verified Commit 30749239 authored by Timm Fitschen's avatar Timm Fitschen
Browse files

WIP: refactor ext_bottom_line

parent ed11b091
Branches
No related tags found
No related merge requests found
......@@ -93,6 +93,18 @@ var ext_applicable = function($, logger, is_in_view_port, load_config, getEntity
}
}
var make_creators = function (creators) {
const result = [];
for (let c of creators) {
result.push({
id: c.id,
is_applicable: typeof c.is_applicable === "function" ? c.is_applicable : eval(c.is_applicable),
create: typeof c.create === "function" ? c.create : eval(c.create)
});
}
return result;
}
var root_handler_trigger = function(root_handler) {
var entities = $(".caosdb-entity-panel,.caosdb-entity-preview");
......@@ -136,6 +148,9 @@ var ext_applicable = function($, logger, is_in_view_port, load_config, getEntity
return true;
},
true);
// trigger for the first time
trigger();
};
return {
......@@ -143,6 +158,7 @@ var ext_applicable = function($, logger, is_in_view_port, load_config, getEntity
root_creator: root_creator,
root_handler: root_handler,
previewReadyEvent: previewReadyEvent,
make_creators: make_creators,
_css_class_preview_container: _css_class_preview_container,
_css_class_preview_container_button: _css_class_preview_container_button,
_css_class_preview_container_resolvable: _css_class_preview_container_resolvable,
......
......@@ -258,28 +258,23 @@ var ext_bottom_line = function($, logger, is_in_view_port, load_config, getEntit
*
* @param {BottomLineConfig} config
*/
var configure = async function(config, default_config) {
var configure = async function(config) {
logger.debug("configure", config);
if (config.version != "0.1") {
throw new Error("Wrong version in config.");
}
fallback_preview = config.fallback || fallback_preview;
// append/load creators
// append/load custom creators
_creators.splice(0, _creators.length);
for (let c of config.creators) {
_creators.push({
id: c.id,
is_applicable: typeof c.is_applicable === "function" ? c.is_applicable : eval(c.is_applicable),
create: typeof c.create === "function" ? c.create : eval(c.create)
});
for (let c of ext_applicable.make_creators(config.creators)) {
_creators.push(c);
}
// append default creators
for (let c of _default_creators) {
_creators.push(c);
}
fallback_preview = config.fallback || fallback_preview;
};
......@@ -302,8 +297,6 @@ var ext_bottom_line = function($, logger, is_in_view_port, load_config, getEntit
ext_applicable.init_watcher(_config.delay || 500,
root_preview_handler_trigger);
// trigger the whole thing for the first time
root_preview_handler_trigger();
} catch (err) {
logger.error(err);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment