Move L.U.Map.displayCaption to umap.controls.js
Let's be consistent, all other control like actions are there.
This commit is contained in:
parent
be98f657aa
commit
12df0f757e
2 changed files with 90 additions and 90 deletions
|
@ -927,6 +927,96 @@ L.U.Map.include({
|
||||||
L.DomEvent.on(link, 'click', this.displayCaption, this)
|
L.DomEvent.on(link, 'click', this.displayCaption, this)
|
||||||
this.ui.openPanel({ data: { html: filterContainer }, actions: [link] })
|
this.ui.openPanel({ data: { html: filterContainer }, actions: [link] })
|
||||||
},
|
},
|
||||||
|
|
||||||
|
displayCaption: function () {
|
||||||
|
const container = L.DomUtil.create('div', 'umap-caption')
|
||||||
|
let title = L.DomUtil.create('h3', '', container)
|
||||||
|
title.textContent = this.options.name
|
||||||
|
this.permissions.addOwnerLink('h5', container)
|
||||||
|
if (this.options.description) {
|
||||||
|
const description = L.DomUtil.create('div', 'umap-map-description', container)
|
||||||
|
description.innerHTML = L.Util.toHTML(this.options.description)
|
||||||
|
}
|
||||||
|
const datalayerContainer = L.DomUtil.create('div', 'datalayer-container', container)
|
||||||
|
this.eachVisibleDataLayer((datalayer) => {
|
||||||
|
const p = L.DomUtil.create('p', '', datalayerContainer),
|
||||||
|
color = L.DomUtil.create('span', 'datalayer-color', p),
|
||||||
|
headline = L.DomUtil.create('strong', '', p),
|
||||||
|
description = L.DomUtil.create('span', '', p)
|
||||||
|
datalayer.onceLoaded(function () {
|
||||||
|
color.style.backgroundColor = this.getColor()
|
||||||
|
if (datalayer.options.description) {
|
||||||
|
description.innerHTML = L.Util.toHTML(datalayer.options.description)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
datalayer.renderToolbox(headline)
|
||||||
|
L.DomUtil.add('span', '', headline, `${datalayer.options.name} `)
|
||||||
|
})
|
||||||
|
const creditsContainer = L.DomUtil.create('div', 'credits-container', container),
|
||||||
|
credits = L.DomUtil.createFieldset(creditsContainer, L._('Credits'))
|
||||||
|
title = L.DomUtil.add('h5', '', credits, L._('User content credits'))
|
||||||
|
if (this.options.shortCredit || this.options.longCredit) {
|
||||||
|
L.DomUtil.add(
|
||||||
|
'p',
|
||||||
|
'',
|
||||||
|
credits,
|
||||||
|
L.Util.toHTML(this.options.longCredit || this.options.shortCredit)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
if (this.options.licence) {
|
||||||
|
const licence = L.DomUtil.add(
|
||||||
|
'p',
|
||||||
|
'',
|
||||||
|
credits,
|
||||||
|
`${L._('Map user content has been published under licence')} `
|
||||||
|
),
|
||||||
|
link = L.DomUtil.add('a', '', licence, this.options.licence.name)
|
||||||
|
link.href = this.options.licence.url
|
||||||
|
} else {
|
||||||
|
L.DomUtil.add('p', '', credits, L._('No licence has been set'))
|
||||||
|
}
|
||||||
|
L.DomUtil.create('hr', '', credits)
|
||||||
|
title = L.DomUtil.create('h5', '', credits)
|
||||||
|
title.textContent = L._('Map background credits')
|
||||||
|
const tilelayerCredit = L.DomUtil.create('p', '', credits),
|
||||||
|
name = L.DomUtil.create('strong', '', tilelayerCredit),
|
||||||
|
attribution = L.DomUtil.create('span', '', tilelayerCredit)
|
||||||
|
name.textContent = `${this.selected_tilelayer.options.name} `
|
||||||
|
attribution.innerHTML = this.selected_tilelayer.getAttribution()
|
||||||
|
L.DomUtil.create('hr', '', credits)
|
||||||
|
const umapCredit = L.DomUtil.create('p', '', credits),
|
||||||
|
urls = {
|
||||||
|
leaflet: 'http://leafletjs.com',
|
||||||
|
django: 'https://www.djangoproject.com',
|
||||||
|
umap: 'http://wiki.openstreetmap.org/wiki/UMap',
|
||||||
|
changelog: 'https://umap-project.readthedocs.io/en/latest/changelog/',
|
||||||
|
version: this.options.umap_version,
|
||||||
|
}
|
||||||
|
umapCredit.innerHTML = L._(
|
||||||
|
`
|
||||||
|
Powered by <a href="{leaflet}">Leaflet</a> and
|
||||||
|
<a href="{django}">Django</a>,
|
||||||
|
glued by <a href="{umap}">uMap project</a>
|
||||||
|
(version <a href="{changelog}">{version}</a>).
|
||||||
|
`,
|
||||||
|
urls
|
||||||
|
)
|
||||||
|
const browser = L.DomUtil.create('li', '')
|
||||||
|
L.DomUtil.create('i', 'umap-icon-16 umap-list', browser)
|
||||||
|
const labelBrowser = L.DomUtil.create('span', '', browser)
|
||||||
|
labelBrowser.textContent = labelBrowser.title = L._('Browse data')
|
||||||
|
L.DomEvent.on(browser, 'click', this.openBrowser, this)
|
||||||
|
const actions = [browser]
|
||||||
|
if (this.options.advancedFilterKey) {
|
||||||
|
const filter = L.DomUtil.create('li', '')
|
||||||
|
L.DomUtil.create('i', 'umap-icon-16 umap-add', filter)
|
||||||
|
const labelFilter = L.DomUtil.create('span', '', filter)
|
||||||
|
labelFilter.textContent = labelFilter.title = L._('Select data')
|
||||||
|
L.DomEvent.on(filter, 'click', this.openFilter, this)
|
||||||
|
actions.push(filter)
|
||||||
|
}
|
||||||
|
this.ui.openPanel({ data: { html: container }, actions: actions })
|
||||||
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
L.U.TileLayerControl = L.Control.extend({
|
L.U.TileLayerControl = L.Control.extend({
|
||||||
|
|
|
@ -1083,96 +1083,6 @@ L.U.Map.include({
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
displayCaption: function () {
|
|
||||||
const container = L.DomUtil.create('div', 'umap-caption')
|
|
||||||
let title = L.DomUtil.create('h3', '', container)
|
|
||||||
title.textContent = this.options.name
|
|
||||||
this.permissions.addOwnerLink('h5', container)
|
|
||||||
if (this.options.description) {
|
|
||||||
const description = L.DomUtil.create('div', 'umap-map-description', container)
|
|
||||||
description.innerHTML = L.Util.toHTML(this.options.description)
|
|
||||||
}
|
|
||||||
const datalayerContainer = L.DomUtil.create('div', 'datalayer-container', container)
|
|
||||||
this.eachVisibleDataLayer((datalayer) => {
|
|
||||||
const p = L.DomUtil.create('p', '', datalayerContainer),
|
|
||||||
color = L.DomUtil.create('span', 'datalayer-color', p),
|
|
||||||
headline = L.DomUtil.create('strong', '', p),
|
|
||||||
description = L.DomUtil.create('span', '', p)
|
|
||||||
datalayer.onceLoaded(function () {
|
|
||||||
color.style.backgroundColor = this.getColor()
|
|
||||||
if (datalayer.options.description) {
|
|
||||||
description.innerHTML = L.Util.toHTML(datalayer.options.description)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
datalayer.renderToolbox(headline)
|
|
||||||
L.DomUtil.add('span', '', headline, `${datalayer.options.name} `)
|
|
||||||
})
|
|
||||||
const creditsContainer = L.DomUtil.create('div', 'credits-container', container),
|
|
||||||
credits = L.DomUtil.createFieldset(creditsContainer, L._('Credits'))
|
|
||||||
title = L.DomUtil.add('h5', '', credits, L._('User content credits'))
|
|
||||||
if (this.options.shortCredit || this.options.longCredit) {
|
|
||||||
L.DomUtil.add(
|
|
||||||
'p',
|
|
||||||
'',
|
|
||||||
credits,
|
|
||||||
L.Util.toHTML(this.options.longCredit || this.options.shortCredit)
|
|
||||||
)
|
|
||||||
}
|
|
||||||
if (this.options.licence) {
|
|
||||||
const licence = L.DomUtil.add(
|
|
||||||
'p',
|
|
||||||
'',
|
|
||||||
credits,
|
|
||||||
`${L._('Map user content has been published under licence')} `
|
|
||||||
),
|
|
||||||
link = L.DomUtil.add('a', '', licence, this.options.licence.name)
|
|
||||||
link.href = this.options.licence.url
|
|
||||||
} else {
|
|
||||||
L.DomUtil.add('p', '', credits, L._('No licence has been set'))
|
|
||||||
}
|
|
||||||
L.DomUtil.create('hr', '', credits)
|
|
||||||
title = L.DomUtil.create('h5', '', credits)
|
|
||||||
title.textContent = L._('Map background credits')
|
|
||||||
const tilelayerCredit = L.DomUtil.create('p', '', credits),
|
|
||||||
name = L.DomUtil.create('strong', '', tilelayerCredit),
|
|
||||||
attribution = L.DomUtil.create('span', '', tilelayerCredit)
|
|
||||||
name.textContent = `${this.selected_tilelayer.options.name} `
|
|
||||||
attribution.innerHTML = this.selected_tilelayer.getAttribution()
|
|
||||||
L.DomUtil.create('hr', '', credits)
|
|
||||||
const umapCredit = L.DomUtil.create('p', '', credits),
|
|
||||||
urls = {
|
|
||||||
leaflet: 'http://leafletjs.com',
|
|
||||||
django: 'https://www.djangoproject.com',
|
|
||||||
umap: 'http://wiki.openstreetmap.org/wiki/UMap',
|
|
||||||
changelog: 'https://umap-project.readthedocs.io/en/latest/changelog/',
|
|
||||||
version: this.options.umap_version,
|
|
||||||
}
|
|
||||||
umapCredit.innerHTML = L._(
|
|
||||||
`
|
|
||||||
Powered by <a href="{leaflet}">Leaflet</a> and
|
|
||||||
<a href="{django}">Django</a>,
|
|
||||||
glued by <a href="{umap}">uMap project</a>
|
|
||||||
(version <a href="{changelog}">{version}</a>).
|
|
||||||
`,
|
|
||||||
urls
|
|
||||||
)
|
|
||||||
const browser = L.DomUtil.create('li', '')
|
|
||||||
L.DomUtil.create('i', 'umap-icon-16 umap-list', browser)
|
|
||||||
const labelBrowser = L.DomUtil.create('span', '', browser)
|
|
||||||
labelBrowser.textContent = labelBrowser.title = L._('Browse data')
|
|
||||||
L.DomEvent.on(browser, 'click', this.openBrowser, this)
|
|
||||||
const actions = [browser]
|
|
||||||
if (this.options.advancedFilterKey) {
|
|
||||||
const filter = L.DomUtil.create('li', '')
|
|
||||||
L.DomUtil.create('i', 'umap-icon-16 umap-add', filter)
|
|
||||||
const labelFilter = L.DomUtil.create('span', '', filter)
|
|
||||||
labelFilter.textContent = labelFilter.title = L._('Select data')
|
|
||||||
L.DomEvent.on(filter, 'click', this.openFilter, this)
|
|
||||||
actions.push(filter)
|
|
||||||
}
|
|
||||||
this.ui.openPanel({ data: { html: container }, actions: actions })
|
|
||||||
},
|
|
||||||
|
|
||||||
eachDataLayer: function (method, context) {
|
eachDataLayer: function (method, context) {
|
||||||
for (let i = 0; i < this.datalayers_index.length; i++) {
|
for (let i = 0; i < this.datalayers_index.length; i++) {
|
||||||
method.call(context, this.datalayers_index[i])
|
method.call(context, this.datalayers_index[i])
|
||||||
|
|
Loading…
Reference in a new issue