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
No related branches found
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 ...@@ -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 root_handler_trigger = function(root_handler) {
var entities = $(".caosdb-entity-panel,.caosdb-entity-preview"); var entities = $(".caosdb-entity-panel,.caosdb-entity-preview");
...@@ -136,6 +148,9 @@ var ext_applicable = function($, logger, is_in_view_port, load_config, getEntity ...@@ -136,6 +148,9 @@ var ext_applicable = function($, logger, is_in_view_port, load_config, getEntity
return true; return true;
}, },
true); true);
// trigger for the first time
trigger();
}; };
return { return {
...@@ -143,6 +158,7 @@ var ext_applicable = function($, logger, is_in_view_port, load_config, getEntity ...@@ -143,6 +158,7 @@ var ext_applicable = function($, logger, is_in_view_port, load_config, getEntity
root_creator: root_creator, root_creator: root_creator,
root_handler: root_handler, root_handler: root_handler,
previewReadyEvent: previewReadyEvent, previewReadyEvent: previewReadyEvent,
make_creators: make_creators,
_css_class_preview_container: _css_class_preview_container, _css_class_preview_container: _css_class_preview_container,
_css_class_preview_container_button: _css_class_preview_container_button, _css_class_preview_container_button: _css_class_preview_container_button,
_css_class_preview_container_resolvable: _css_class_preview_container_resolvable, _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 ...@@ -258,28 +258,23 @@ var ext_bottom_line = function($, logger, is_in_view_port, load_config, getEntit
* *
* @param {BottomLineConfig} config * @param {BottomLineConfig} config
*/ */
var configure = async function(config, default_config) { var configure = async function(config) {
logger.debug("configure", config); logger.debug("configure", config);
if (config.version != "0.1") { if (config.version != "0.1") {
throw new Error("Wrong version in config."); throw new Error("Wrong version in config.");
} }
fallback_preview = config.fallback || fallback_preview; // append/load custom creators
// append/load creators
_creators.splice(0, _creators.length); _creators.splice(0, _creators.length);
for (let c of config.creators) { for (let c of ext_applicable.make_creators(config.creators)) {
_creators.push({ _creators.push(c);
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)
});
} }
// append default creators // append default creators
for (let c of _default_creators) { for (let c of _default_creators) {
_creators.push(c); _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 ...@@ -302,8 +297,6 @@ var ext_bottom_line = function($, logger, is_in_view_port, load_config, getEntit
ext_applicable.init_watcher(_config.delay || 500, ext_applicable.init_watcher(_config.delay || 500,
root_preview_handler_trigger); root_preview_handler_trigger);
// trigger the whole thing for the first time
root_preview_handler_trigger();
} catch (err) { } catch (err) {
logger.error(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