parent
c92d24100f
commit
90ced76a11
4 changed files with 39 additions and 12 deletions
|
@ -443,6 +443,8 @@ class DataLayer(NamedModel):
|
||||||
"name": self.name,
|
"name": self.name,
|
||||||
"displayOnLoad": self.display_on_load,
|
"displayOnLoad": self.display_on_load,
|
||||||
}
|
}
|
||||||
|
if self.old_id:
|
||||||
|
obj["old_id"] = self.old_id
|
||||||
obj["id"] = self.pk
|
obj["id"] = self.pk
|
||||||
obj["permissions"] = {"edit_status": self.edit_status}
|
obj["permissions"] = {"edit_status": self.edit_status}
|
||||||
obj["editMode"] = "advanced" if self.can_edit(user, request) else "disabled"
|
obj["editMode"] = "advanced" if self.can_edit(user, request) else "disabled"
|
||||||
|
|
|
@ -69,13 +69,13 @@ U.Map = L.Map.extend({
|
||||||
this.options.zoomControl = zoomControl !== undefined ? zoomControl : true
|
this.options.zoomControl = zoomControl !== undefined ? zoomControl : true
|
||||||
this.options.fullscreenControl =
|
this.options.fullscreenControl =
|
||||||
fullscreenControl !== undefined ? fullscreenControl : true
|
fullscreenControl !== undefined ? fullscreenControl : true
|
||||||
this.datalayersOnLoad = L.Util.queryString('datalayers')
|
this.datalayersFromQueryString = L.Util.queryString('datalayers')
|
||||||
if (this.datalayersOnLoad) {
|
if (this.datalayersFromQueryString) {
|
||||||
this.datalayersOnLoad = this.datalayersOnLoad.toString().split(',')
|
this.datalayersFromQueryString = this.datalayersFromQueryString
|
||||||
|
.toString()
|
||||||
|
.split(',')
|
||||||
}
|
}
|
||||||
|
|
||||||
if (L.Browser.ielt9) this.options.editMode = 'disabled' // TODO include ie9
|
|
||||||
|
|
||||||
let editedFeature = null
|
let editedFeature = null
|
||||||
const self = this
|
const self = this
|
||||||
try {
|
try {
|
||||||
|
@ -1527,7 +1527,9 @@ U.Map = L.Map.extend({
|
||||||
metadataFields = ['options.name', 'options.description'],
|
metadataFields = ['options.name', 'options.description'],
|
||||||
title = L.DomUtil.create('h3', '', container)
|
title = L.DomUtil.create('h3', '', container)
|
||||||
title.textContent = L._('Edit map properties')
|
title.textContent = L._('Edit map properties')
|
||||||
const builder = new U.FormBuilder(this, metadataFields, {className: 'map-metadata'})
|
const builder = new U.FormBuilder(this, metadataFields, {
|
||||||
|
className: 'map-metadata',
|
||||||
|
})
|
||||||
const form = builder.build()
|
const form = builder.build()
|
||||||
container.appendChild(form)
|
container.appendChild(form)
|
||||||
this._editControls(container)
|
this._editControls(container)
|
||||||
|
|
|
@ -609,12 +609,13 @@ U.DataLayer = L.Evented.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
autoLoaded: function () {
|
autoLoaded: function () {
|
||||||
return (
|
if (!this.map.datalayersFromQueryString) return this.options.displayOnLoad
|
||||||
(this.map.datalayersOnLoad &&
|
const datalayerIds = this.map.datalayersFromQueryString
|
||||||
this.umap_id &&
|
let loadMe = datalayerIds.includes(this.umap_id.toString())
|
||||||
this.map.datalayersOnLoad.indexOf(this.umap_id.toString()) !== -1) ||
|
if (this.options.old_id) {
|
||||||
(!this.map.datalayersOnLoad && this.options.displayOnLoad)
|
loadMe = loadMe || datalayerIds.includes(this.options.old_id.toString())
|
||||||
)
|
}
|
||||||
|
return loadMe
|
||||||
},
|
},
|
||||||
|
|
||||||
insertBefore: function (other) {
|
insertBefore: function (other) {
|
||||||
|
|
|
@ -106,3 +106,25 @@ def test_should_honour_color_variable(live_server, map, page):
|
||||||
expect(page.locator(".leaflet-overlay-pane path[fill='tomato']"))
|
expect(page.locator(".leaflet-overlay-pane path[fill='tomato']"))
|
||||||
markers = page.locator(".leaflet-marker-icon .icon_container")
|
markers = page.locator(".leaflet-marker-icon .icon_container")
|
||||||
expect(markers).to_have_css("background-color", "rgb(240, 248, 255)")
|
expect(markers).to_have_css("background-color", "rgb(240, 248, 255)")
|
||||||
|
|
||||||
|
|
||||||
|
def test_datalayers_in_query_string(live_server, datalayer, map, page):
|
||||||
|
with_old_id = DataLayerFactory(old_id=134, map=map, name="with old id")
|
||||||
|
set_options(with_old_id, name="with old id")
|
||||||
|
visible = page.locator(".leaflet-control-browse li:not(.off) span")
|
||||||
|
hidden = page.locator(".leaflet-control-browse li.off span")
|
||||||
|
page.goto(f"{live_server.url}{map.get_absolute_url()}")
|
||||||
|
expect(visible).to_have_count(2)
|
||||||
|
expect(hidden).to_have_count(0)
|
||||||
|
page.goto(f"{live_server.url}{map.get_absolute_url()}?datalayers={datalayer.pk}")
|
||||||
|
expect(visible).to_have_count(1)
|
||||||
|
expect(visible).to_have_text(datalayer.name)
|
||||||
|
expect(hidden).to_have_count(1)
|
||||||
|
expect(hidden).to_have_text(with_old_id.name)
|
||||||
|
page.goto(
|
||||||
|
f"{live_server.url}{map.get_absolute_url()}?datalayers={with_old_id.old_id}"
|
||||||
|
)
|
||||||
|
expect(visible).to_have_count(1)
|
||||||
|
expect(visible).to_have_text(with_old_id.name)
|
||||||
|
expect(hidden).to_have_count(1)
|
||||||
|
expect(hidden).to_have_text(datalayer.name)
|
||||||
|
|
Loading…
Reference in a new issue