Search filters interactions

This commit is contained in:
2026-06-15 10:18:18 +02:00
parent 9060ff07b5
commit 9b53921700
2 changed files with 35 additions and 3 deletions

View File

@@ -94,11 +94,32 @@
<input class="input" type="text" minlength="3" name="text" placeholder="Inserire parole chiave" />
</div>
</div>
<div class="field">
<label class="label">Categoria rinvenimento</label>
<div class="control">
<div class="select">
<select name="category"
data-search-target="category"
data-action="change->search#disableTechnique">
<option default value="">-- Scegliere categoria --</option>
<option>Arredo</option>
<option>Abbigliamento e ornamenti personali</option>
<option>Decorazione parietale</option>
<option>Epigrafe</option>
<option>Elemento architettonico</option>
<option>Pavimentazione</option>
<option>Scultura</option>
</select>
</div>
</div>
</div>
<div class="field">
<label class="label">Tecnica muraria</label>
<div class="control">
<div class="select">
<select name="technique">
<select name="technique"
data-search-target="technique"
data-action="change->search#disableCategory">
<option default value="">-- Scegliere tecnica --</option>
<option>Opera poligonale</option>
<option>Opera incerta</option>

View File

@@ -11,14 +11,25 @@ export default class extends Controller {
'results',
'clear',
'container',
'category',
'technique',
];
disableTechnique() {
this.techniqueTarget.disabled = true;
}
disableCategory() {
this.categoryTarget.disabled = true;
}
/**
*
* @param {Event} event
*/
async submitSearch(event) {
event.preventDefault();
// Re-enable disabled filters, if any
this.categoryTarget.disabled = false;
this.techniqueTarget.disabled = false;
const data = new FormData(event.target);
const body = {};
const map = GisState.map;
@@ -44,8 +55,6 @@ export default class extends Controller {
map.setZoom(INIT_ZOOM);
this.#filterMap(results);
console.debug(results);
// Should technique always be shown after a search?
for (const key of Object.keys(techsMarkers)) {
for (const record of results.sites) {
@@ -59,6 +68,8 @@ export default class extends Controller {
}
clearSearch() {
this.categoryTarget.disabled = false;
this.techniqueTarget.disabled = false;
const map = GisState.map;
// Restore layer groups in map