diff --git a/CHANGELOG.md b/CHANGELOG.md index 645df97b52e770c919459d04f52891a50193de60..1dea205aee2b46ab80d234be2b2b555afed113a0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed +* [#194](https://gitlab.com/caosdb/caosdb-webui/-/issues/194) - Properties + remain hidden in previews of referenced entities + ### Security ### Documentation diff --git a/src/core/js/ext_prop_display.js b/src/core/js/ext_prop_display.js index f74d700078b2b8ab69174ab05c9e95c6df33b109..07d5f3af08c949087ccd73126d18e7a2631a278b 100644 --- a/src/core/js/ext_prop_display.js +++ b/src/core/js/ext_prop_display.js @@ -25,7 +25,7 @@ * @requires log (singleton from loglevel library) * @requires load_config (function from webcaosdb.js) */ -var prop_display = new function ($, edit_mode, getEntityName, getEntityRole, getPropertyElements, getPropertyName, getUserName, getUserRoles, logger, load_config, query) { +var prop_display = new function ($, edit_mode, getEntityName, getEntityRole, getPropertyElements, getPropertyName, getUserName, getUserRoles, logger, load_config, preview, query) { /** * Return the property-display config file; `ext_prop_display.json` by @@ -213,10 +213,17 @@ var prop_display = new function ($, edit_mode, getEntityName, getEntityRole, get document.body.addEventListener(edit_mode.start_edit.type, (e) => { edit_mode.app.onAfterShowResults = this._displayPropertiesWrapper(edit_mode.app.onAfterShowResults, conf, allTypes); }, true); + // After showing a preview for the first time, its entity card is + // added to the dom tree, so the properties have to be (un)hidden + // afterwards. + document.body.addEventListener(preview.previewReadyEvent.type, (e) => { + let newEntities = $(".caosdb-entity-preview"); + this.displayProperties(newEntities, conf, allTypes, userName, userRoles); + }, true); } else { // There are no properties to be hidden, so make this clear in HTML body - $("body").attr("data-hidden-properties", "false") + $("body").attr("data-hidden-properties", "false"); this.unhideAllProperties(); document.body.addEventListener(edit_mode.start_edit.type, (e) => { // also unhide properties when leaving the edit mode @@ -226,9 +233,10 @@ var prop_display = new function ($, edit_mode, getEntityName, getEntityRole, get // entity or canceling the edit. edit_mode.app.onAfterShowResults = this._unhideAllPropertiesWrapper(edit_mode.app.onAfterShowResults); }, true); + document.body.addEventListener(preview.previewReadyEvent.type, (e) => this.unhideAllProperties(), true); } } -}($, edit_mode, getEntityName, getEntityRole, getPropertyElements, getPropertyName, getUserName, getUserRoles, log.getLogger("ext_prop_display"), load_config, query); +}($, edit_mode, getEntityName, getEntityRole, getPropertyElements, getPropertyName, getUserName, getUserRoles, log.getLogger("ext_prop_display"), load_config, preview, query); $(document).ready(() => { if ("${BUILD_MODULE_EXT_PROPERTY_DISPLAY}" == "ENABLED") {