Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
87304b1568 |
No files matched your search
@@ -28,8 +28,8 @@
|
|||||||
<ApplicationId>com.companyname.lmemappecatastaliapp</ApplicationId>
|
<ApplicationId>com.companyname.lmemappecatastaliapp</ApplicationId>
|
||||||
|
|
||||||
<!-- Versions -->
|
<!-- Versions -->
|
||||||
<ApplicationDisplayVersion>0.2.24</ApplicationDisplayVersion>
|
<ApplicationDisplayVersion>0.2.25</ApplicationDisplayVersion>
|
||||||
<ApplicationVersion>28</ApplicationVersion>
|
<ApplicationVersion>29</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>
|
||||||
|
|||||||
+49
-8
@@ -178,7 +178,7 @@ input[type="checkbox"] {
|
|||||||
right: 12px;
|
right: 12px;
|
||||||
z-index: 940;
|
z-index: 940;
|
||||||
display: grid;
|
display: grid;
|
||||||
width: min(320px, calc(100% - 24px));
|
width: min(760px, 62vw, calc(100% - 24px));
|
||||||
max-height: calc(100% - 152px);
|
max-height: calc(100% - 152px);
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
border: 1px solid var(--line);
|
border: 1px solid var(--line);
|
||||||
@@ -283,11 +283,7 @@ input[type="checkbox"] {
|
|||||||
list-style: none;
|
list-style: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.layer-manager-object > summary {
|
.layer-manager-with-actions > summary {
|
||||||
grid-template-columns: 28px 20px minmax(0, 1fr) auto auto auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.layer-manager-renamable > summary {
|
|
||||||
grid-template-columns: 28px 20px minmax(0, 1fr) auto auto auto;
|
grid-template-columns: 28px 20px minmax(0, 1fr) auto auto auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -310,7 +306,15 @@ input[type="checkbox"] {
|
|||||||
cursor: grab;
|
cursor: grab;
|
||||||
}
|
}
|
||||||
|
|
||||||
.layer-rename-button {
|
.layer-row-actions {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
justify-content: flex-end;
|
||||||
|
gap: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layer-rename-button,
|
||||||
|
.layer-remove-button {
|
||||||
min-height: 28px;
|
min-height: 28px;
|
||||||
padding: 0 8px;
|
padding: 0 8px;
|
||||||
border: 1px solid #bfd4cd;
|
border: 1px solid #bfd4cd;
|
||||||
@@ -325,6 +329,16 @@ input[type="checkbox"] {
|
|||||||
background: #d9eee7;
|
background: #d9eee7;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.layer-remove-button {
|
||||||
|
border-color: #fecaca;
|
||||||
|
background: #fff1f2;
|
||||||
|
color: #b42318;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layer-remove-button:active {
|
||||||
|
background: #ffe4e6;
|
||||||
|
}
|
||||||
|
|
||||||
.layer-move-buttons {
|
.layer-move-buttons {
|
||||||
display: inline-grid;
|
display: inline-grid;
|
||||||
grid-template-columns: 24px 24px;
|
grid-template-columns: 24px 24px;
|
||||||
@@ -918,10 +932,31 @@ footer {
|
|||||||
.map-layer-panel {
|
.map-layer-panel {
|
||||||
top: 68px;
|
top: 68px;
|
||||||
right: 8px;
|
right: 8px;
|
||||||
width: min(320px, calc(100% - 16px));
|
width: calc(100% - 16px);
|
||||||
max-height: calc(100% - 144px);
|
max-height: calc(100% - 144px);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.layer-manager-with-actions > summary {
|
||||||
|
grid-template-columns: 28px 20px minmax(0, 1fr) auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layer-manager-with-actions > summary > .layer-row-actions {
|
||||||
|
grid-row: 2;
|
||||||
|
grid-column: 3;
|
||||||
|
justify-content: flex-start;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layer-manager-with-actions > summary > .layer-move-buttons {
|
||||||
|
grid-row: 1;
|
||||||
|
grid-column: 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layer-manager-with-actions > summary > .layer-manager-count {
|
||||||
|
grid-row: 2;
|
||||||
|
grid-column: 4;
|
||||||
|
justify-self: end;
|
||||||
|
}
|
||||||
|
|
||||||
.tool-sheet {
|
.tool-sheet {
|
||||||
top: 10%;
|
top: 10%;
|
||||||
bottom: var(--nav-height);
|
bottom: var(--nav-height);
|
||||||
@@ -980,6 +1015,12 @@ footer {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@media (min-width: 701px) and (max-width: 1100px) {
|
||||||
|
.map-layer-panel {
|
||||||
|
width: min(680px, calc(100% - 24px));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@media (max-width: 380px) {
|
@media (max-width: 380px) {
|
||||||
.app-identity span {
|
.app-identity span {
|
||||||
display: none;
|
display: none;
|
||||||
|
|||||||
+98
-5
@@ -61,6 +61,7 @@ const lmeState = {
|
|||||||
managerHiddenMeasurementSummaryIds: new Set(),
|
managerHiddenMeasurementSummaryIds: new Set(),
|
||||||
managerHiddenMeasurementSideIds: new Set(),
|
managerHiddenMeasurementSideIds: new Set(),
|
||||||
managerHiddenCategories: new Set(),
|
managerHiddenCategories: new Set(),
|
||||||
|
managerRemovedCategories: new Set(),
|
||||||
managerObjectOrder: {},
|
managerObjectOrder: {},
|
||||||
managerCategoryNames: {},
|
managerCategoryNames: {},
|
||||||
managerExpandedRows: new Set(),
|
managerExpandedRows: new Set(),
|
||||||
@@ -1251,6 +1252,60 @@ function renameManagedBlock(category, source, records) {
|
|||||||
setInfo(`Gruppo rinominato: ${name}.`);
|
setInfo(`Gruppo rinominato: ${name}.`);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function managedCategoryCanRemove(category, records) {
|
||||||
|
return records.length > 0
|
||||||
|
&& ["drawings", "imported", "importedSheets", "selectedParcels", "gpsParcels"].includes(category.key);
|
||||||
|
}
|
||||||
|
|
||||||
|
function managedObjectCanRemove(record) {
|
||||||
|
return ["drawings", "imported", "importedSheets", "selectedParcels", "gpsParcels"].includes(record.categoryKey);
|
||||||
|
}
|
||||||
|
|
||||||
|
function layerManagerRowActions(renameButton, removeButton) {
|
||||||
|
if (!renameButton && !removeButton) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
return `<span class="layer-row-actions">${renameButton}${removeButton}</span>`;
|
||||||
|
}
|
||||||
|
|
||||||
|
function removeManagedRecords(records, subject) {
|
||||||
|
if (!records.length) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const message = records.length === 1
|
||||||
|
? `Rimuovere ${subject} dal progetto? Non verra incluso nel prossimo salvataggio.`
|
||||||
|
: `Rimuovere ${subject} e tutti i suoi ${records.length} oggetti dal progetto? Non verranno inclusi nel prossimo salvataggio.`;
|
||||||
|
if (!window.confirm(message)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const removedIds = new Set(records.map(record => record.id));
|
||||||
|
const categoryKeys = new Set(records.map(record => record.categoryKey));
|
||||||
|
records.forEach(record => {
|
||||||
|
if (record.parent?.hasLayer?.(record.layer)) {
|
||||||
|
record.parent.removeLayer(record.layer);
|
||||||
|
}
|
||||||
|
lmeState.managerHiddenObjects.delete(record.id);
|
||||||
|
lmeState.managerHiddenObjectIds.delete(record.id);
|
||||||
|
lmeState.managerHiddenMeasurementSummaryIds.delete(record.id);
|
||||||
|
lmeState.managerHiddenMeasurementSideIds.delete(record.id);
|
||||||
|
});
|
||||||
|
categoryKeys.forEach(categoryKey => {
|
||||||
|
const order = lmeState.managerObjectOrder[categoryKey] || [];
|
||||||
|
lmeState.managerObjectOrder[categoryKey] = order.filter(id => !removedIds.has(id));
|
||||||
|
const category = layerManagerCategories().find(item => item.key === categoryKey);
|
||||||
|
if (category && managedRecordsForCategory(category).length === 0) {
|
||||||
|
lmeState.managerRemovedCategories.add(categoryKey);
|
||||||
|
delete lmeState.managerCategoryNames[categoryKey];
|
||||||
|
}
|
||||||
|
});
|
||||||
|
clearManagerHighlight();
|
||||||
|
refreshImportedMeasurements();
|
||||||
|
refreshDrawingMeasurements();
|
||||||
|
updateGpsInsideState();
|
||||||
|
refreshLayerManager();
|
||||||
|
setInfo(`${records.length === 1 ? "Oggetto rimosso" : `${records.length} oggetti rimossi`} dal progetto.`);
|
||||||
|
}
|
||||||
|
|
||||||
function managedObjectDetails(layer) {
|
function managedObjectDetails(layer) {
|
||||||
const details = [];
|
const details = [];
|
||||||
const properties = layer?.feature?.properties || {};
|
const properties = layer?.feature?.properties || {};
|
||||||
@@ -1306,6 +1361,11 @@ function refreshLayerManager() {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const records = managedRecordsForCategory(category);
|
const records = managedRecordsForCategory(category);
|
||||||
|
if (records.length) {
|
||||||
|
lmeState.managerRemovedCategories.delete(category.key);
|
||||||
|
} else if (lmeState.managerRemovedCategories.has(category.key)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
const savedOrder = lmeState.managerObjectOrder[category.key] || [];
|
const savedOrder = lmeState.managerObjectOrder[category.key] || [];
|
||||||
const positions = new Map(savedOrder.map((id, index) => [id, index]));
|
const positions = new Map(savedOrder.map((id, index) => [id, index]));
|
||||||
records.sort((left, right) =>
|
records.sort((left, right) =>
|
||||||
@@ -1334,12 +1394,16 @@ function renderLayerManagerCategory(category, records) {
|
|||||||
const renameButton = managedCategoryCanRename(category)
|
const renameButton = managedCategoryCanRename(category)
|
||||||
? `<button type="button" class="layer-rename-button" aria-label="Rinomina gruppo" title="Rinomina">Rinomina</button>`
|
? `<button type="button" class="layer-rename-button" aria-label="Rinomina gruppo" title="Rinomina">Rinomina</button>`
|
||||||
: "";
|
: "";
|
||||||
group.classList.toggle("layer-manager-renamable", Boolean(renameButton));
|
const removeButton = managedCategoryCanRemove(category, records)
|
||||||
|
? `<button type="button" class="layer-remove-button" aria-label="Rimuovi gruppo dal progetto" title="Rimuovi dal progetto">Rimuovi</button>`
|
||||||
|
: "";
|
||||||
|
const rowActions = layerManagerRowActions(renameButton, removeButton);
|
||||||
|
group.classList.toggle("layer-manager-with-actions", Boolean(rowActions));
|
||||||
const visibleCount = records.filter(record => !lmeState.managerHiddenObjectIds.has(record.id)).length;
|
const visibleCount = records.filter(record => !lmeState.managerHiddenObjectIds.has(record.id)).length;
|
||||||
const categoryVisible = !lmeState.managerHiddenCategories.has(category.key)
|
const categoryVisible = !lmeState.managerHiddenCategories.has(category.key)
|
||||||
&& (!category.roots.length || category.roots.some(layer => lmeState.map.hasLayer(layer)));
|
&& (!category.roots.length || category.roots.some(layer => lmeState.map.hasLayer(layer)));
|
||||||
const visible = categoryVisible;
|
const visible = categoryVisible;
|
||||||
group.innerHTML = `<summary><button type="button" class="layer-drag-handle" aria-label="Trascina gruppo">☰</button><input type="checkbox" ${visible ? "checked" : ""} aria-label="Mostra ${escapeHtml(categoryName)}"><span class="layer-manager-title">${escapeHtml(categoryName)}</span>${renameButton}${layerManagerMoveButtons("gruppo")}<span class="layer-manager-count">${records.length}</span></summary><div class="layer-manager-children"></div>`;
|
group.innerHTML = `<summary><button type="button" class="layer-drag-handle" aria-label="Trascina gruppo">☰</button><input type="checkbox" ${visible ? "checked" : ""} aria-label="Mostra ${escapeHtml(categoryName)}"><span class="layer-manager-title">${escapeHtml(categoryName)}</span>${rowActions}${layerManagerMoveButtons("gruppo")}<span class="layer-manager-count">${records.length}</span></summary><div class="layer-manager-children"></div>`;
|
||||||
const checkbox = group.querySelector("input");
|
const checkbox = group.querySelector("input");
|
||||||
checkbox.indeterminate = categoryVisible && records.length > 0 && visibleCount < records.length;
|
checkbox.indeterminate = categoryVisible && records.length > 0 && visibleCount < records.length;
|
||||||
checkbox.addEventListener("click", event => event.stopPropagation());
|
checkbox.addEventListener("click", event => event.stopPropagation());
|
||||||
@@ -1349,6 +1413,11 @@ function renderLayerManagerCategory(category, records) {
|
|||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
renameManagedCategory(category, records);
|
renameManagedCategory(category, records);
|
||||||
});
|
});
|
||||||
|
group.querySelector(".layer-remove-button")?.addEventListener("click", event => {
|
||||||
|
event.preventDefault();
|
||||||
|
event.stopPropagation();
|
||||||
|
removeManagedRecords(records, `il gruppo '${categoryName}'`);
|
||||||
|
});
|
||||||
bindManagedParentHighlight(group, `category:${category.key}`, records);
|
bindManagedParentHighlight(group, `category:${category.key}`, records);
|
||||||
const children = group.querySelector(".layer-manager-children");
|
const children = group.querySelector(".layer-manager-children");
|
||||||
if (category.blocks) {
|
if (category.blocks) {
|
||||||
@@ -1375,8 +1444,11 @@ function renderLayerManagerBlock(category, source, records) {
|
|||||||
const visibleCount = records.filter(record => !lmeState.managerHiddenObjectIds.has(record.id)).length;
|
const visibleCount = records.filter(record => !lmeState.managerHiddenObjectIds.has(record.id)).length;
|
||||||
const visible = visibleCount === records.length;
|
const visible = visibleCount === records.length;
|
||||||
const blockName = managedBlockName(source, records);
|
const blockName = managedBlockName(source, records);
|
||||||
block.classList.add("layer-manager-renamable");
|
const rowActions = layerManagerRowActions(
|
||||||
block.innerHTML = `<summary><button type="button" class="layer-drag-handle" aria-label="Trascina blocco">☰</button><input type="checkbox" ${visible ? "checked" : ""} aria-label="Mostra ${escapeHtml(blockName)}"><span class="layer-manager-title">${escapeHtml(blockName)}</span><button type="button" class="layer-rename-button" aria-label="Rinomina gruppo" title="Rinomina">Rinomina</button>${layerManagerMoveButtons("blocco")}<span class="layer-manager-count">${records.length}</span></summary><div class="layer-manager-children"></div>`;
|
`<button type="button" class="layer-rename-button" aria-label="Rinomina gruppo" title="Rinomina">Rinomina</button>`,
|
||||||
|
`<button type="button" class="layer-remove-button" aria-label="Rimuovi gruppo dal progetto" title="Rimuovi dal progetto">Rimuovi</button>`);
|
||||||
|
block.classList.add("layer-manager-with-actions");
|
||||||
|
block.innerHTML = `<summary><button type="button" class="layer-drag-handle" aria-label="Trascina blocco">☰</button><input type="checkbox" ${visible ? "checked" : ""} aria-label="Mostra ${escapeHtml(blockName)}"><span class="layer-manager-title">${escapeHtml(blockName)}</span>${rowActions}${layerManagerMoveButtons("blocco")}<span class="layer-manager-count">${records.length}</span></summary><div class="layer-manager-children"></div>`;
|
||||||
const checkbox = block.querySelector("input");
|
const checkbox = block.querySelector("input");
|
||||||
checkbox.indeterminate = visibleCount > 0 && !visible;
|
checkbox.indeterminate = visibleCount > 0 && !visible;
|
||||||
checkbox.addEventListener("click", event => event.stopPropagation());
|
checkbox.addEventListener("click", event => event.stopPropagation());
|
||||||
@@ -1389,6 +1461,11 @@ function renderLayerManagerBlock(category, source, records) {
|
|||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
renameManagedBlock(category, source, records);
|
renameManagedBlock(category, source, records);
|
||||||
});
|
});
|
||||||
|
block.querySelector(".layer-remove-button").addEventListener("click", event => {
|
||||||
|
event.preventDefault();
|
||||||
|
event.stopPropagation();
|
||||||
|
removeManagedRecords(records, `il gruppo '${blockName}'`);
|
||||||
|
});
|
||||||
bindManagedParentHighlight(block, `block:${category.key}:${source}`, records);
|
bindManagedParentHighlight(block, `block:${category.key}:${source}`, records);
|
||||||
const children = block.querySelector(".layer-manager-children");
|
const children = block.querySelector(".layer-manager-children");
|
||||||
records.forEach((record, index) => children.appendChild(renderLayerManagerObject(record, index)));
|
records.forEach((record, index) => children.appendChild(renderLayerManagerObject(record, index)));
|
||||||
@@ -1408,7 +1485,13 @@ function renderLayerManagerObject(record, index) {
|
|||||||
const renameButton = managedObjectCanRename(record)
|
const renameButton = managedObjectCanRename(record)
|
||||||
? `<button type="button" class="layer-rename-button" aria-label="Rinomina oggetto" title="Rinomina">Rinomina</button>`
|
? `<button type="button" class="layer-rename-button" aria-label="Rinomina oggetto" title="Rinomina">Rinomina</button>`
|
||||||
: "";
|
: "";
|
||||||
object.innerHTML = `<summary><button type="button" class="layer-drag-handle" aria-label="Trascina oggetto">☰</button><input type="checkbox" ${visible ? "checked" : ""} aria-label="Mostra oggetto"><span class="layer-manager-title">${escapeHtml(managedObjectLabel(record, index))}</span>${renameButton}${layerManagerMoveButtons("oggetto")}<span class="layer-manager-count">›</span></summary><div class="layer-manager-details"></div>`;
|
const removeButton = managedObjectCanRemove(record)
|
||||||
|
? `<button type="button" class="layer-remove-button" aria-label="Rimuovi oggetto dal progetto" title="Rimuovi dal progetto">Rimuovi</button>`
|
||||||
|
: "";
|
||||||
|
const rowActions = layerManagerRowActions(renameButton, removeButton);
|
||||||
|
object.classList.toggle("layer-manager-with-actions", Boolean(rowActions));
|
||||||
|
const objectName = managedObjectLabel(record, index);
|
||||||
|
object.innerHTML = `<summary><button type="button" class="layer-drag-handle" aria-label="Trascina oggetto">☰</button><input type="checkbox" ${visible ? "checked" : ""} aria-label="Mostra oggetto"><span class="layer-manager-title">${escapeHtml(objectName)}</span>${rowActions}${layerManagerMoveButtons("oggetto")}<span class="layer-manager-count">›</span></summary><div class="layer-manager-details"></div>`;
|
||||||
const checkbox = object.querySelector("input");
|
const checkbox = object.querySelector("input");
|
||||||
checkbox.addEventListener("click", event => event.stopPropagation());
|
checkbox.addEventListener("click", event => event.stopPropagation());
|
||||||
checkbox.addEventListener("change", () => setManagedObjectVisible(record, checkbox.checked, true));
|
checkbox.addEventListener("change", () => setManagedObjectVisible(record, checkbox.checked, true));
|
||||||
@@ -1417,6 +1500,11 @@ function renderLayerManagerObject(record, index) {
|
|||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
renameManagedObject(record, index);
|
renameManagedObject(record, index);
|
||||||
});
|
});
|
||||||
|
object.querySelector(".layer-remove-button")?.addEventListener("click", event => {
|
||||||
|
event.preventDefault();
|
||||||
|
event.stopPropagation();
|
||||||
|
removeManagedRecords([record], `'${objectName}'`);
|
||||||
|
});
|
||||||
object.querySelector(".layer-manager-title").addEventListener("click", event => {
|
object.querySelector(".layer-manager-title").addEventListener("click", event => {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
@@ -2695,6 +2783,7 @@ function captureDisplayOptions() {
|
|||||||
layerOrder: [...lmeState.layerOrder],
|
layerOrder: [...lmeState.layerOrder],
|
||||||
layerObjectOrder: { ...lmeState.managerObjectOrder },
|
layerObjectOrder: { ...lmeState.managerObjectOrder },
|
||||||
layerCategoryNames: { ...lmeState.managerCategoryNames },
|
layerCategoryNames: { ...lmeState.managerCategoryNames },
|
||||||
|
removedLayerCategories: [...lmeState.managerRemovedCategories],
|
||||||
hiddenLayerObjects: [...lmeState.managerHiddenObjectIds],
|
hiddenLayerObjects: [...lmeState.managerHiddenObjectIds],
|
||||||
hiddenLayerMeasurementSummaries: [...lmeState.managerHiddenMeasurementSummaryIds],
|
hiddenLayerMeasurementSummaries: [...lmeState.managerHiddenMeasurementSummaryIds],
|
||||||
hiddenLayerMeasurementSides: [...lmeState.managerHiddenMeasurementSideIds],
|
hiddenLayerMeasurementSides: [...lmeState.managerHiddenMeasurementSideIds],
|
||||||
@@ -2734,6 +2823,9 @@ function applyProjectDisplayOptions(options) {
|
|||||||
if (options.layerCategoryNames && typeof options.layerCategoryNames === "object") {
|
if (options.layerCategoryNames && typeof options.layerCategoryNames === "object") {
|
||||||
lmeState.managerCategoryNames = { ...options.layerCategoryNames };
|
lmeState.managerCategoryNames = { ...options.layerCategoryNames };
|
||||||
}
|
}
|
||||||
|
if (Array.isArray(options.removedLayerCategories)) {
|
||||||
|
lmeState.managerRemovedCategories = new Set(options.removedLayerCategories);
|
||||||
|
}
|
||||||
if (Array.isArray(options.hiddenLayerObjects)) {
|
if (Array.isArray(options.hiddenLayerObjects)) {
|
||||||
lmeState.managerHiddenObjectIds = new Set(options.hiddenLayerObjects);
|
lmeState.managerHiddenObjectIds = new Set(options.hiddenLayerObjects);
|
||||||
}
|
}
|
||||||
@@ -2835,6 +2927,7 @@ function resetLayerManagerProjectState() {
|
|||||||
lmeState.managerHiddenMeasurementSummaryIds.clear();
|
lmeState.managerHiddenMeasurementSummaryIds.clear();
|
||||||
lmeState.managerHiddenMeasurementSideIds.clear();
|
lmeState.managerHiddenMeasurementSideIds.clear();
|
||||||
lmeState.managerHiddenCategories.clear();
|
lmeState.managerHiddenCategories.clear();
|
||||||
|
lmeState.managerRemovedCategories.clear();
|
||||||
lmeState.managerObjectOrder = {};
|
lmeState.managerObjectOrder = {};
|
||||||
lmeState.managerCategoryNames = {};
|
lmeState.managerCategoryNames = {};
|
||||||
clearManagerHighlight();
|
clearManagerHighlight();
|
||||||
|
|||||||
Reference in new issue
Block a user