Customizing the display of referenced entities
CaosDB WebUI supports the customized display of referenced entities
using the ext_references
module. The BUILD_MODULE_EXT_RESOLVE_REFERENCES
build variable has
to be set to ENABLED
(see Getting Started with the Web Interface) in order to use
this module.
You may then define your own JavaScript module to define how
references to specific Records should be resolved. The module has to
be located at a directory which is known to CaosDB WebUI; we recommend
caosdb-webui/src/ext/js
. Set the value of the
BUILD_EXT_REFERENCES_CUSTOM_RESOLVER
build variable to the name of
this module. The module has to have a resolve
function which takes
an entity id as its only parameter and returns a reference_info
object with the resolved custom reference as a text
property. So
the basic structure of the module should look like
var my_reference_resolver = new function () {
// Has to be called ``resolve`` and has to take exactly one
// string parameter: the id of the referenced entity.
this.resolve = async function (id) {
/*
* find the string that the reference should be resolved to,
* e.g., from the value of the entity's properties.
*/
return {"text": new_reference_text}
}
}
An example is located in
caosdb-webui/src/core/js/reference_resolver/caosdb_default_person.js
. It
resolves any reference to a Person
Record to the value of its firstname
and lastname
properties separated by a space and is active by default.