From 0a27ce15e34544963bdb06430a0951d2305a71f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20B=C3=B6sch-Plepelits?= Date: Sat, 2 Jan 2021 21:10:51 +0100 Subject: [PATCH] ObjectDisplay: render body as block; location of image in popup/details --- src/ObjectDisplay.js | 49 +++++++++++++++++++++++++------------------- src/displayBlock.js | 2 ++ src/image.js | 33 +++++++++++++++++------------ 3 files changed, 50 insertions(+), 34 deletions(-) diff --git a/src/ObjectDisplay.js b/src/ObjectDisplay.js index 528f3c91..fe4e4356 100644 --- a/src/ObjectDisplay.js +++ b/src/ObjectDisplay.js @@ -19,6 +19,7 @@ module.exports = class ObjectDisplay { let header = document.createElement('div') header.className = 'header' + header.setAttribute('data-order', -1000) dom.appendChild(header) div = document.createElement('div') @@ -34,32 +35,38 @@ module.exports = class ObjectDisplay { header.appendChild(div) feature.sublayer.updateAssets(div, feature) - div = document.createElement('div') - div.className = 'body' - dom.appendChild(div) - - const updateBody = (div) => { - div.innerHTML = getProperty(feature.data, 'body', this.displayId, fallbackIds) - feature.sublayer.updateAssets(div, feature) - } - - feature.object.on('update', updateBody.bind(this, div)) - updateBody(div) - let body = document.createElement('div') body.className = 'body' - dom.appendChild(body) - category.renderTemplate(feature, this.displayId + 'Body', (err, result) => { - body.innerHTML = result - feature.sublayer.updateAssets(body, feature) + + let bodyCategory = document.createElement('div') + body.appendChild(bodyCategory) + let bodyTemplate = document.createElement('div') + body.appendChild(bodyTemplate) + + let bodyBlock = displayBlock({ + dom, + content: body, + order: 0 }) - category.on('update', this.updateListener = () => { + this.updateListener = () => { + bodyCategory.innerHTML = getProperty(feature.data, 'body', this.displayId, fallbackIds) + feature.sublayer.updateAssets(bodyCategory, feature) + category.renderTemplate(feature, this.displayId + 'Body', (err, result) => { - body.innerHTML = result - feature.sublayer.updateAssets(body, feature) + bodyTemplate.innerHTML = result + feature.sublayer.updateAssets(bodyTemplate, feature) + + if (bodyTemplate.innerHTML.match(/^\s*(