Search filters interactions
This commit is contained in:
@@ -93,12 +93,33 @@
|
||||
<div class="control is-full-width">
|
||||
<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>
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user