Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3856a9f675 |
No files matched your search
@@ -713,6 +713,10 @@
|
|||||||
private async Task ToggleLayerPanel()
|
private async Task ToggleLayerPanel()
|
||||||
{
|
{
|
||||||
LayerPanelOpen = !LayerPanelOpen;
|
LayerPanelOpen = !LayerPanelOpen;
|
||||||
|
if (!LayerPanelOpen)
|
||||||
|
{
|
||||||
|
await JS.InvokeVoidAsync("lmeMap.clearLayerManagerSelection");
|
||||||
|
}
|
||||||
if (LayerPanelOpen)
|
if (LayerPanelOpen)
|
||||||
{
|
{
|
||||||
ActiveTab = "map";
|
ActiveTab = "map";
|
||||||
|
|||||||
@@ -28,8 +28,8 @@
|
|||||||
<ApplicationId>com.companyname.lmemappecatastaliapp</ApplicationId>
|
<ApplicationId>com.companyname.lmemappecatastaliapp</ApplicationId>
|
||||||
|
|
||||||
<!-- Versions -->
|
<!-- Versions -->
|
||||||
<ApplicationDisplayVersion>0.2.19</ApplicationDisplayVersion>
|
<ApplicationDisplayVersion>0.2.20</ApplicationDisplayVersion>
|
||||||
<ApplicationVersion>23</ApplicationVersion>
|
<ApplicationVersion>24</ApplicationVersion>
|
||||||
|
|
||||||
<!-- To develop, package, and publish an app to the Microsoft Store, see: https://aka.ms/MauiTemplateUnpackaged -->
|
<!-- To develop, package, and publish an app to the Microsoft Store, see: https://aka.ms/MauiTemplateUnpackaged -->
|
||||||
<WindowsPackageType>None</WindowsPackageType>
|
<WindowsPackageType>None</WindowsPackageType>
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ public sealed class AzureMapsService
|
|||||||
|
|
||||||
public AzureMapsService()
|
public AzureMapsService()
|
||||||
{
|
{
|
||||||
_httpClient.DefaultRequestHeaders.UserAgent.ParseAdd("LMEMappeCatastali/0.2.19");
|
_httpClient.DefaultRequestHeaders.UserAgent.ParseAdd("LMEMappeCatastali/0.2.20");
|
||||||
_httpClient.DefaultRequestHeaders.Accept.ParseAdd("application/json");
|
_httpClient.DefaultRequestHeaders.Accept.ParseAdd("application/json");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ public sealed class NetworkLocationService
|
|||||||
|
|
||||||
public NetworkLocationService()
|
public NetworkLocationService()
|
||||||
{
|
{
|
||||||
httpClient.DefaultRequestHeaders.UserAgent.ParseAdd("LMEMappeCatastali/0.2.19");
|
httpClient.DefaultRequestHeaders.UserAgent.ParseAdd("LMEMappeCatastali/0.2.20");
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<NetworkLocationSnapshot?> GetApproximateLocationAsync(
|
public async Task<NetworkLocationSnapshot?> GetApproximateLocationAsync(
|
||||||
|
|||||||
@@ -354,6 +354,11 @@ input[type="checkbox"] {
|
|||||||
outline: 2px solid #2563eb;
|
outline: 2px solid #2563eb;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.layer-manager-object-selected > summary {
|
||||||
|
background: #fff0fb;
|
||||||
|
box-shadow: inset 3px 0 #ff00d4;
|
||||||
|
}
|
||||||
|
|
||||||
.gps-overlay {
|
.gps-overlay {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 72px;
|
top: 72px;
|
||||||
|
|||||||
+30
-1
@@ -51,6 +51,7 @@ const lmeState = {
|
|||||||
managerHighlight: null,
|
managerHighlight: null,
|
||||||
managerHighlightedObjectId: null,
|
managerHighlightedObjectId: null,
|
||||||
managerHighlightedCategoryKey: null,
|
managerHighlightedCategoryKey: null,
|
||||||
|
managerOutsideSelectionBound: false,
|
||||||
managerHiddenObjects: new Map(),
|
managerHiddenObjects: new Map(),
|
||||||
managerHiddenObjectIds: new Set(),
|
managerHiddenObjectIds: new Set(),
|
||||||
managerHiddenCategories: new Set(),
|
managerHiddenCategories: new Set(),
|
||||||
@@ -78,6 +79,7 @@ window.lmeMap = {
|
|||||||
setImportedSheetLayerVisible,
|
setImportedSheetLayerVisible,
|
||||||
setLayerOrder,
|
setLayerOrder,
|
||||||
refreshLayerManager,
|
refreshLayerManager,
|
||||||
|
clearLayerManagerSelection: clearManagerHighlight,
|
||||||
setImportedMeasurementsVisible,
|
setImportedMeasurementsVisible,
|
||||||
setDrawingMeasurementsVisible,
|
setDrawingMeasurementsVisible,
|
||||||
addProjectMarker,
|
addProjectMarker,
|
||||||
@@ -190,6 +192,7 @@ function init() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
lmeState.map.on("click", async event => {
|
lmeState.map.on("click", async event => {
|
||||||
|
clearManagerHighlight();
|
||||||
const info = await queryFeatureInfo(event.latlng);
|
const info = await queryFeatureInfo(event.latlng);
|
||||||
if (info) {
|
if (info) {
|
||||||
L.popup().setLatLng(event.latlng).setContent(info).openOn(lmeState.map);
|
L.popup().setLatLng(event.latlng).setContent(info).openOn(lmeState.map);
|
||||||
@@ -211,6 +214,19 @@ function init() {
|
|||||||
closeCadastrePreview();
|
closeCadastrePreview();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
if (!lmeState.managerOutsideSelectionBound) {
|
||||||
|
document.addEventListener("pointerdown", event => {
|
||||||
|
if (!lmeState.managerHighlightedObjectId) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const selectedRow = event.target?.closest?.(".layer-manager-object");
|
||||||
|
if (selectedRow?.dataset.objectId === lmeState.managerHighlightedObjectId) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
clearManagerHighlight();
|
||||||
|
});
|
||||||
|
lmeState.managerOutsideSelectionBound = true;
|
||||||
|
}
|
||||||
|
|
||||||
setInfo("Mappa pronta: satellite + catasto AdE");
|
setInfo("Mappa pronta: satellite + catasto AdE");
|
||||||
}
|
}
|
||||||
@@ -1239,6 +1255,9 @@ function renderLayerManagerBlock(category, source, records) {
|
|||||||
function renderLayerManagerObject(record, index) {
|
function renderLayerManagerObject(record, index) {
|
||||||
const object = document.createElement("details");
|
const object = document.createElement("details");
|
||||||
object.className = "layer-manager-object";
|
object.className = "layer-manager-object";
|
||||||
|
if (record.id === lmeState.managerHighlightedObjectId) {
|
||||||
|
object.classList.add("layer-manager-object-selected");
|
||||||
|
}
|
||||||
object.dataset.dragType = "object";
|
object.dataset.dragType = "object";
|
||||||
object.dataset.objectId = record.id;
|
object.dataset.objectId = record.id;
|
||||||
const visible = !lmeState.managerHiddenObjectIds.has(record.id);
|
const visible = !lmeState.managerHiddenObjectIds.has(record.id);
|
||||||
@@ -1343,9 +1362,16 @@ function managedCategoryEnabled(categoryKey) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function highlightManagedObject(record) {
|
function highlightManagedObject(record) {
|
||||||
lmeState.managerHighlight.clearLayers();
|
if (lmeState.managerHighlightedObjectId === record.id) {
|
||||||
|
clearManagerHighlight();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
clearManagerHighlight();
|
||||||
lmeState.managerHighlightedObjectId = record.id;
|
lmeState.managerHighlightedObjectId = record.id;
|
||||||
lmeState.managerHighlightedCategoryKey = record.categoryKey;
|
lmeState.managerHighlightedCategoryKey = record.categoryKey;
|
||||||
|
document.querySelectorAll(".layer-manager-object").forEach(row => {
|
||||||
|
row.classList.toggle("layer-manager-object-selected", row.dataset.objectId === record.id);
|
||||||
|
});
|
||||||
const geojson = record.layer.toGeoJSON?.();
|
const geojson = record.layer.toGeoJSON?.();
|
||||||
if (geojson) {
|
if (geojson) {
|
||||||
L.geoJSON(geojson, {
|
L.geoJSON(geojson, {
|
||||||
@@ -1370,6 +1396,9 @@ function clearManagerHighlight() {
|
|||||||
lmeState.managerHighlight?.clearLayers();
|
lmeState.managerHighlight?.clearLayers();
|
||||||
lmeState.managerHighlightedObjectId = null;
|
lmeState.managerHighlightedObjectId = null;
|
||||||
lmeState.managerHighlightedCategoryKey = null;
|
lmeState.managerHighlightedCategoryKey = null;
|
||||||
|
document.querySelectorAll(".layer-manager-object-selected").forEach(row => {
|
||||||
|
row.classList.remove("layer-manager-object-selected");
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function layerManagerMoveButtons(label) {
|
function layerManagerMoveButtons(label) {
|
||||||
|
|||||||
Reference in new issue
Block a user