Search filters interactions
This commit is contained in:
@@ -94,11 +94,32 @@
|
|||||||
<input class="input" type="text" minlength="3" name="text" placeholder="Inserire parole chiave" />
|
<input class="input" type="text" minlength="3" name="text" placeholder="Inserire parole chiave" />
|
||||||
</div>
|
</div>
|
||||||
</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">
|
<div class="field">
|
||||||
<label class="label">Tecnica muraria</label>
|
<label class="label">Tecnica muraria</label>
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<div class="select">
|
<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 default value="">-- Scegliere tecnica --</option>
|
||||||
<option>Opera poligonale</option>
|
<option>Opera poligonale</option>
|
||||||
<option>Opera incerta</option>
|
<option>Opera incerta</option>
|
||||||
|
|||||||
@@ -11,14 +11,25 @@ export default class extends Controller {
|
|||||||
'results',
|
'results',
|
||||||
'clear',
|
'clear',
|
||||||
'container',
|
'container',
|
||||||
|
'category',
|
||||||
|
'technique',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
disableTechnique() {
|
||||||
|
this.techniqueTarget.disabled = true;
|
||||||
|
}
|
||||||
|
disableCategory() {
|
||||||
|
this.categoryTarget.disabled = true;
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @param {Event} event
|
* @param {Event} event
|
||||||
*/
|
*/
|
||||||
async submitSearch(event) {
|
async submitSearch(event) {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
|
// Re-enable disabled filters, if any
|
||||||
|
this.categoryTarget.disabled = false;
|
||||||
|
this.techniqueTarget.disabled = false;
|
||||||
const data = new FormData(event.target);
|
const data = new FormData(event.target);
|
||||||
const body = {};
|
const body = {};
|
||||||
const map = GisState.map;
|
const map = GisState.map;
|
||||||
@@ -44,8 +55,6 @@ export default class extends Controller {
|
|||||||
map.setZoom(INIT_ZOOM);
|
map.setZoom(INIT_ZOOM);
|
||||||
this.#filterMap(results);
|
this.#filterMap(results);
|
||||||
|
|
||||||
console.debug(results);
|
|
||||||
|
|
||||||
// Should technique always be shown after a search?
|
// Should technique always be shown after a search?
|
||||||
for (const key of Object.keys(techsMarkers)) {
|
for (const key of Object.keys(techsMarkers)) {
|
||||||
for (const record of results.sites) {
|
for (const record of results.sites) {
|
||||||
@@ -59,6 +68,8 @@ export default class extends Controller {
|
|||||||
}
|
}
|
||||||
|
|
||||||
clearSearch() {
|
clearSearch() {
|
||||||
|
this.categoryTarget.disabled = false;
|
||||||
|
this.techniqueTarget.disabled = false;
|
||||||
const map = GisState.map;
|
const map = GisState.map;
|
||||||
|
|
||||||
// Restore layer groups in map
|
// Restore layer groups in map
|
||||||
|
|||||||
Reference in New Issue
Block a user