const exportAll = require('./exportAll') const tagsDisplay = require('./tagsDisplay').display const displayBlock = require('./displayBlock') const editLink = require('./editLink') module.exports = class ObjectDisplay { constructor ({feature, category, dom, displayId, fallbackIds}, callback) { this.category = category this.displayId = displayId if (!fallbackIds) { fallbackIds = [] } var div, h, dt, dd, li, a var k dom.innerHTML = '' dom.classList.add('objectDisplay') dom.classList.add('objectDisplay-' + displayId) let header = document.createElement('div') header.className = 'header' header.setAttribute('data-order', -1000) dom.appendChild(header) div = document.createElement('div') div.className = 'description' div.innerHTML = getProperty(feature.data, 'description', this.displayId, fallbackIds) header.appendChild(div) feature.sublayer.updateAssets(div, feature) div = document.createElement('div') div.className = 'title' div.innerHTML = getProperty(feature.data, 'title', this.displayId, fallbackIds) header.appendChild(div) feature.sublayer.updateAssets(div, feature) let body = document.createElement('div') body.className = 'body' let bodyCategory = document.createElement('div') body.appendChild(bodyCategory) let bodyTemplate = document.createElement('div') body.appendChild(bodyTemplate) let bodyBlock = displayBlock({ dom, content: body, order: 0 }) this.updateListener = () => { bodyCategory.innerHTML = getProperty(feature.data, 'body', this.displayId, fallbackIds) feature.sublayer.updateAssets(bodyCategory, feature) category.renderTemplate(feature, this.displayId + 'Body', (err, result) => { bodyTemplate.innerHTML = result feature.sublayer.updateAssets(bodyTemplate, feature) if (bodyTemplate.innerHTML.match(/^\s*(