From 879fc922a544778c1cb5908cd0f1addda0ca173f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20B=C3=B6sch-Plepelits?= Date: Sat, 2 Jan 2021 08:56:34 +0100 Subject: [PATCH] objectDisplay: parameter as object, pass dom, better naming --- src/index.js | 6 +++++- src/objectDisplay.js | 35 +++++++++++++++++------------------ 2 files changed, 22 insertions(+), 19 deletions(-) diff --git a/src/index.js b/src/index.js index f1f8babe..28fd93bf 100644 --- a/src/index.js +++ b/src/index.js @@ -240,7 +240,11 @@ function show (id, options, callback) { } if (options.showDetails) { - objectDisplay(data, category) + objectDisplay({ + feature: data, + dom: document.getElementById('contentDetails'), + category + }) } callback(err) diff --git a/src/objectDisplay.js b/src/objectDisplay.js index 47360807..bc71f8cb 100644 --- a/src/objectDisplay.js +++ b/src/objectDisplay.js @@ -1,10 +1,9 @@ const exportAll = require('./exportAll') const tagsDisplay = require('./tagsDisplay').display -module.exports = function objectDisplay (data, category) { +module.exports = function objectDisplay ({feature, category, dom}) { var div, h, dt, dd, li, a var k - var dom = document.getElementById('contentDetails') dom.innerHTML = '' @@ -14,37 +13,37 @@ module.exports = function objectDisplay (data, category) { div = document.createElement('div') div.className = 'description' - div.innerHTML = data.data.popupDescription || data.data.description || '' + div.innerHTML = feature.data.popupDescription || feature.data.description || '' header.appendChild(div) - data.sublayer.updateAssets(div, data) + feature.sublayer.updateAssets(div, feature) div = document.createElement('div') div.className = 'title' - div.innerHTML = data.data.title || '' + div.innerHTML = feature.data.title || '' header.appendChild(div) - data.sublayer.updateAssets(div, data) + feature.sublayer.updateAssets(div, feature) div = document.createElement('div') div.className = 'body' dom.appendChild(div) function updateBody (div) { - div.innerHTML = data.data.detailBody || data.data.body || '' - data.sublayer.updateAssets(div, data) + div.innerHTML = feature.data.detailBody || feature.data.body || '' + feature.sublayer.updateAssets(div, feature) } - data.object.on('update', updateBody.bind(this, div)) + feature.object.on('update', updateBody.bind(this, div)) updateBody(div) div = document.createElement('div') div.className = 'body' dom.appendChild(div) - category.renderTemplate(data, 'detailsBody', function (div, err, result) { + category.renderTemplate(feature, 'detailsBody', function (div, err, result) { div.innerHTML = result - data.sublayer.updateAssets(div, data) + feature.sublayer.updateAssets(div, feature) }.bind(this, div)) - call_hooks_callback('show-details', data, category, dom, + call_hooks_callback('show-details', feature, category, dom, function (err) { if (err.length) { console.log('show-details produced errors:', err) @@ -58,13 +57,13 @@ module.exports = function objectDisplay (data, category) { div = document.createElement('div') dom.appendChild(div) - exportAll(data, div) + exportAll(feature, div) h = document.createElement('h3') h.innerHTML = lang('header:attributes') dom.appendChild(h) - dom.appendChild(tagsDisplay(data.object.tags)) + dom.appendChild(tagsDisplay(feature.object.tags)) h = document.createElement('h3') h.innerHTML = lang('header:osm_meta') @@ -77,19 +76,19 @@ module.exports = function objectDisplay (data, category) { div.appendChild(dt) dd = document.createElement('dd') a = document.createElement('a') - a.appendChild(document.createTextNode(data.object.type + '/' + data.object.osm_id)) - a.href = config.urlOpenStreetMap + '/' + data.object.type + '/' + data.object.osm_id + a.appendChild(document.createTextNode(feature.object.type + '/' + feature.object.osm_id)) + a.href = config.urlOpenStreetMap + '/' + feature.object.type + '/' + feature.object.osm_id a.target = '_blank' dd.appendChild(a) div.appendChild(dd) - for (k in data.object.meta) { + for (k in feature.object.meta) { dt = document.createElement('dt') dt.appendChild(document.createTextNode(k)) div.appendChild(dt) dd = document.createElement('dd') - dd.appendChild(document.createTextNode(data.object.meta[k])) + dd.appendChild(document.createTextNode(feature.object.meta[k])) div.appendChild(dd) } dom.appendChild(div)