Merge pull request #1109 from umap-project/direct-link

Also expose direct map URL in the export panel
This commit is contained in:
Yohan Boniface 2023-05-30 14:50:45 +02:00 committed by GitHub
commit bd769091a7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 20 additions and 13 deletions

View file

@ -1231,7 +1231,7 @@ L.U.IframeExporter = L.Evented.extend({
return this.map
},
build: function () {
buildUrl: function () {
var datalayers = []
if (this.options.viewCurrentFeature && this.map.currentFeature) {
this.queryString.feature = this.map.currentFeature.getSlug()
@ -1246,17 +1246,20 @@ L.U.IframeExporter = L.Evented.extend({
} else {
delete this.queryString.datalayers
}
var currentView = this.options.currentView ? window.location.hash : '',
iframeUrl =
this.baseUrl + '?' + L.Util.buildQueryString(this.queryString) + currentView,
code =
'<iframe width="' +
this.dimensions.width +
'" height="' +
this.dimensions.height +
'" frameborder="0" allowfullscreen allow="geolocation" src="' +
iframeUrl +
'"></iframe>'
var currentView = this.options.currentView ? window.location.hash : ''
return this.baseUrl + '?' + L.Util.buildQueryString(this.queryString) + currentView
},
build: function () {
var iframeUrl = this.buildUrl()
var code =
'<iframe width="' +
this.dimensions.width +
'" height="' +
this.dimensions.height +
'" frameborder="0" allowfullscreen allow="geolocation" src="' +
iframeUrl +
'"></iframe>'
if (this.options.includeFullScreenLink) {
code += '<p><a href="' + this.baseUrl + '">' + L._('See full screen') + '</a></p>'
}

View file

@ -732,7 +732,10 @@ L.U.Map.include({
var container = L.DomUtil.create('div', 'umap-share'),
embedTitle = L.DomUtil.add('h4', '', container, L._('Embed the map')),
iframe = L.DomUtil.create('textarea', 'umap-share-iframe', container),
urlTitle = L.DomUtil.add('h4', '', container, L._('Direct link')),
exportUrl = L.DomUtil.create('input', 'umap-share-url', container),
option
exportUrl.type = 'text'
var UIFields = [
['dimensions.width', { handler: 'Input', label: L._('width') }],
['dimensions.height', { handler: 'Input', label: L._('height') }],
@ -766,6 +769,7 @@ L.U.Map.include({
var iframeExporter = new L.U.IframeExporter(this)
var buildIframeCode = () => {
iframe.innerHTML = iframeExporter.build()
exportUrl.value = window.location.protocol + iframeExporter.buildUrl()
}
buildIframeCode()
var builder = new L.U.FormBuilder(iframeExporter, UIFields, {
@ -773,7 +777,7 @@ L.U.Map.include({
})
var iframeOptions = L.DomUtil.createFieldset(
container,
L._('Iframe export options')
L._('Export options')
)
iframeOptions.appendChild(builder.build())
if (this.options.shortUrl) {