feat: add a "Copy as GeoJSON" entry in the contextmenu

This commit is contained in:
Yohan Boniface 2024-09-05 17:57:23 +02:00
parent 64d63ff6cc
commit b8abc03684

View file

@ -93,13 +93,21 @@ const FeatureMixin = {
getContextMenuItems: function (event) { getContextMenuItems: function (event) {
const permalink = this.feature.getPermalink() const permalink = this.feature.getPermalink()
let items = [] let items = []
if (permalink) if (permalink) {
items.push({ items.push({
text: translate('Permalink'), text: translate('Permalink'),
callback: () => { callback: () => {
window.open(permalink) window.open(permalink)
}, },
}) })
}
items.push({
text: translate('Copy as GeoJSON'),
callback: () => {
L.Util.copyToClipboard(JSON.stringify(this.feature.toGeoJSON()))
this._map.tooltip.open({content: L._('Copied!')})
},
})
if (this._map.editEnabled && !this.feature.isReadOnly()) { if (this._map.editEnabled && !this.feature.isReadOnly()) {
items = items.concat(this.getContextMenuEditItems(event)) items = items.concat(this.getContextMenuEditItems(event))
} }