Stephan Bösch-Plepelits
3 years ago
2 changed files with 101 additions and 98 deletions
-
101src/index.js
-
98src/objectDisplay.js
@ -0,0 +1,98 @@ |
|||||
|
const exportAll = require('./exportAll') |
||||
|
const tagsDisplay = require('./tagsDisplay').display |
||||
|
|
||||
|
module.exports = function objectDisplay (data, category) { |
||||
|
var div, h, dt, dd, li, a |
||||
|
var k |
||||
|
var dom = document.getElementById('contentDetails') |
||||
|
|
||||
|
dom.innerHTML = '' |
||||
|
|
||||
|
let header = document.createElement('div') |
||||
|
header.className = 'header' |
||||
|
dom.appendChild(header) |
||||
|
|
||||
|
div = document.createElement('div') |
||||
|
div.className = 'description' |
||||
|
div.innerHTML = data.data.popupDescription || data.data.description || '' |
||||
|
header.appendChild(div) |
||||
|
data.sublayer.updateAssets(div, data) |
||||
|
|
||||
|
div = document.createElement('div') |
||||
|
div.className = 'title' |
||||
|
div.innerHTML = data.data.title || '' |
||||
|
header.appendChild(div) |
||||
|
data.sublayer.updateAssets(div, data) |
||||
|
|
||||
|
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) |
||||
|
} |
||||
|
|
||||
|
data.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) { |
||||
|
div.innerHTML = result |
||||
|
data.sublayer.updateAssets(div, data) |
||||
|
}.bind(this, div)) |
||||
|
|
||||
|
call_hooks_callback('show-details', data, category, dom, |
||||
|
function (err) { |
||||
|
if (err.length) { |
||||
|
console.log('show-details produced errors:', err) |
||||
|
} |
||||
|
} |
||||
|
) |
||||
|
|
||||
|
h = document.createElement('h3') |
||||
|
h.innerHTML = lang('header:export') |
||||
|
dom.appendChild(h) |
||||
|
|
||||
|
div = document.createElement('div') |
||||
|
dom.appendChild(div) |
||||
|
exportAll(data, div) |
||||
|
|
||||
|
h = document.createElement('h3') |
||||
|
h.innerHTML = lang('header:attributes') |
||||
|
dom.appendChild(h) |
||||
|
|
||||
|
dom.appendChild(tagsDisplay(data.object.tags)) |
||||
|
|
||||
|
h = document.createElement('h3') |
||||
|
h.innerHTML = lang('header:osm_meta') |
||||
|
dom.appendChild(h) |
||||
|
|
||||
|
div = document.createElement('dl') |
||||
|
div.className = 'meta' |
||||
|
dt = document.createElement('dt') |
||||
|
dt.appendChild(document.createTextNode('id')) |
||||
|
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.target = '_blank' |
||||
|
|
||||
|
dd.appendChild(a) |
||||
|
div.appendChild(dd) |
||||
|
for (k in data.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])) |
||||
|
div.appendChild(dd) |
||||
|
} |
||||
|
dom.appendChild(div) |
||||
|
} |
||||
|
|
||||
|
|
Write
Preview
Loading…
Cancel
Save
Reference in new issue