Browse Source

unfin

master
parent
commit
adeb408c8c
  1. 25
      src/CategoryOverpass.js
  2. 57
      src/image.js
  3. 2
      src/wikipedia.js

25
src/CategoryOverpass.js

@ -12,6 +12,7 @@ var markers = require('./markers')
var maki = require('./maki')
var qs = require('sheet-router/qs')
var editLink = require('./editLink')
const objectDisplay = require('./objectDisplay')
const showMore = require('./showMore')
@ -551,6 +552,18 @@ CategoryOverpass.prototype.notifyPopupClose = function (object, popup) {
}
CategoryOverpass.prototype.updatePopupContent = function (object, popup) {
let id_with_sublayer = (object.sublayer_id === 'main' ? '' : object.sublayer_id + ':') + object.id
objectDisplay({
feature: object,
category: this,
dom: popup._contentNode,
displayId: 'popup'
}, () => {
console.log('popup done')
})
/*
if (this.popupBodyTemplate) {
let popupBody = popup._contentNode.querySelector('#popupBody')
if (!popupBody) {
@ -569,8 +582,6 @@ CategoryOverpass.prototype.updatePopupContent = function (object, popup) {
popupBody.currentHTML = html
}
let id_with_sublayer = (object.sublayer_id === 'main' ? '' : object.sublayer_id + ':') + object.id
let hasBody = false
Array.from(popup._contentNode.querySelectorAll('.popupBody')).forEach(div => {
if (!div.innerHTML.match(/^\s*(<ul>\s*<\/ul>|)\s*$/)) {
@ -582,20 +593,14 @@ CategoryOverpass.prototype.updatePopupContent = function (object, popup) {
} else {
popup._contentNode.classList.remove('hasBody')
}
*/
var footer = popup._contentNode.getElementsByClassName('popup-footer')
if (!footer.length) {
footer = document.createElement('ul')
popup._contentNode.appendChild(footer)
footer.className = 'popup-footer'
call_hooks_callback('show-popup', object, this, popup._contentNode,
function (err) {
if (err.length) {
console.log('show-popup produced errors:', err)
}
}
)
footer.setAttribute('data-order', 1000)
}
var footerContent = '<li><a class="showDetails" href="#' + this.id + '/' + id_with_sublayer + '/details">' + lang('show details') + '</a></li>'

57
src/image.js

@ -73,6 +73,14 @@ function show (img, options, div) {
}
register_hook('show-details', function (data, category, dom, callback) {
displayImages(data, category, dom, callback, null)
})
register_hook('show-popup', function (data, category, dom, callback) {
displayImages(data, category, dom, callback, 1)
})
function displayImages(data, category, dom, callback, count) {
var div = document.createElement('div')
div.className = 'images'
var imageWrapper
@ -113,7 +121,9 @@ register_hook('show-details', function (data, category, dom, callback) {
showTimer = window.setInterval(showNext, 5000)
show(img, options, imageWrapper)
loadNext()
if (count !== 1) {
loadNext()
}
})
function loadNext () {
@ -143,53 +153,10 @@ register_hook('show-details', function (data, category, dom, callback) {
loadNext()
}
})
}
register_hook('hide-details', function () {
if (showTimer) {
window.clearInterval(showTimer)
}
})
register_hook('show-popup', function (data, category, dom, callback) {
var div = document.createElement('div')
div.className = 'images loading'
var imageWrapper
let body = dom.getElementsByClassName('popupBody')
if (body.length) {
dom.insertBefore(div, body[0])
} else {
dom.appendChild(div)
}
var currentLoader = new ImageLoader(data)
data.popupImageCounter = {}
currentLoader.first({
counter: data.popupImageCounter
}, function (err, data) {
div.classList.remove('loading')
if (!data) {
return callback(err)
}
imageWrapper = document.createElement('div')
imageWrapper.className = 'imageWrapper'
div.appendChild(imageWrapper)
let options = {
size: 150
}
let img = show(data, options, imageWrapper)
if (img) {
img.onload = () => {
dom.classList.add('hasImage')
}
}
callback(null)
})
})

2
src/wikipedia.js

@ -276,6 +276,8 @@ register_hook('show-details', function (data, category, dom, callback) {
content: div,
order: 1
})
} else {
callback()
}
function done (err) {

Loading…
Cancel
Save