5 801
edições
Sem resumo de edição Etiqueta: Revertido |
Sem resumo de edição Etiqueta: Revertido |
||
Linha 173: | Linha 173: | ||
</style> | </style> | ||
</head> | </head> | ||
<body> | <body> | ||
<form id="mapForm"> | <form id="mapForm"> | ||
Linha 198: | Linha 197: | ||
</select> | </select> | ||
<label class="maps__label" for="specificOption">Local do X</label> | <label class="maps__label" for="specificOption">Local do X</label> | ||
</div> | </div> | ||
<div id="filterSection" class="hidden"> | <div id="filterSection" class="hidden"> | ||
<div id="filterById" class="input-group"> | <div id="filterById" class="input-group"> | ||
<label for="searchIds" class="mapsCalc__label"> | <label for="searchIds" class="mapsCalc__label">Filtrar por Nº do Mapa:</label> | ||
<input type="text" id="searchIds" placeholder="Digite os números separados por vírgula" | <input type="text" id="searchIds" placeholder="Digite os números separados por vírgula" class="mapsCalc__select"> | ||
</div> | </div> | ||
<div class=" | <div id="filterByTag" class="input-group"> | ||
< | <label for="searchTag" class="mapsCalc__label">Filtrar por Tag:</label> | ||
<input type="text" id="searchTag" placeholder="Digite a tag para filtrar" class="mapsCalc__select"> | |||
</div> | </div> | ||
</div> | </div> | ||
Linha 236: | Linha 225: | ||
2: { | 2: { | ||
'Areia': [ | 'Areia': [ | ||
{ id: '1001', local: ' Outland Water', coordinates: '2847, 2827, 6', imageUrl: 'https://wiki.pokexgames.com/images/b/b9/Mapa_Verde_ADV_-_2847%2C_2827%2C_6.webp' }, | { id: '1001', local: ' Outland Water', coordinates: '2847, 2827, 6', tag: 'Agua', imageUrl: 'https://wiki.pokexgames.com/images/b/b9/Mapa_Verde_ADV_-_2847%2C_2827%2C_6.webp' }, | ||
{ id: '1002', local: ' Outland Water', coordinates: '2863, 2850, 6', imageUrl: 'https://wiki.pokexgames.com/images/c/c9/Mapa_Verde_ADV_-_2863%2C_2850%2C_6.webp' }, | { id: '1002', local: ' Outland Water', coordinates: '2863, 2850, 6', imageUrl: 'https://wiki.pokexgames.com/images/c/c9/Mapa_Verde_ADV_-_2863%2C_2850%2C_6.webp' }, | ||
{ id: '1003', local: ' Respawn de Baltoy', coordinates: '5575, 5658, 5', imageUrl: 'https://wiki.pokexgames.com/images/3/3f/Mapa_Verde_ADV_-_5575%2C_5658%2C_5.webp' }, | { id: '1003', local: ' Respawn de Baltoy', coordinates: '5575, 5658, 5', imageUrl: 'https://wiki.pokexgames.com/images/3/3f/Mapa_Verde_ADV_-_5575%2C_5658%2C_5.webp' }, | ||
Linha 309: | Linha 298: | ||
}; | }; | ||
document.getElementById('enableFilter').addEventListener('change', function () { | |||
const filterSection = document.getElementById('filterSection'); | |||
if (this.checked) { | |||
filterSection.classList.remove('hidden'); | |||
} else { | |||
filterSection.classList.add('hidden'); | |||
} | |||
}); | |||
document.getElementById('mapType').addEventListener('change', function () { | |||
const selectedMapType = this.value; | |||
const specificOptionSelect = document.getElementById('specificOption'); | |||
if (selectedMapType) { | |||
specificOptionSelect.innerHTML = '<option value="">Selecione uma opção</option>'; | |||
const options = Object.keys(specificOptions[selectedMapType]); | |||
options.forEach(option => { | |||
specificOptionSelect.innerHTML += `<option value="${option}">${option}</option>`; | |||
}); | |||
document.getElementById('specificOptions').classList.remove('hidden'); | |||
} else { | |||
document.getElementById('specificOptions').classList.add('hidden'); | |||
} | |||
}); | |||
document.getElementById('filterSelect').addEventListener('change', function () { | document.getElementById('filterSelect').addEventListener('change', function () { | ||
Linha 340: | Linha 354: | ||
}); | }); | ||
document.getElementById('specificOption').addEventListener('change', function () { | document.getElementById('specificOption').addEventListener('change', function () { | ||
const selectedMapType = document.getElementById('mapType').value; | const selectedMapType = document.getElementById('mapType').value; | ||
Linha 357: | Linha 372: | ||
<b>Número do Mapa</b>: ${image.id} <br> | <b>Número do Mapa</b>: ${image.id} <br> | ||
<b>Local</b>: ${image.local} <br> | <b>Local</b>: ${image.local} <br> | ||
<b>Coordenada</b>: ${image.coordinates} | <b>Coordenada</b>: ${image.coordinates} <br> | ||
<b>Tag</b>: ${image.tag} | |||
</div> | </div> | ||
</div> | </div> | ||
Linha 369: | Linha 385: | ||
<b>Número do Mapa</b>: ${images.id} <br> | <b>Número do Mapa</b>: ${images.id} <br> | ||
<b>Local</b>: ${images.local} <br> | <b>Local</b>: ${images.local} <br> | ||
<b>Coordenada</b>: ${images.coordinates} | <b>Coordenada</b>: ${images.coordinates} <br> | ||
<b>Tag</b>: ${images.tag} | |||
</div> | </div> | ||
</div> | </div> | ||
Linha 381: | Linha 398: | ||
}); | }); | ||
document.getElementById(' | document.getElementById('searchIds').addEventListener('input', function () { | ||
filterImages(); | |||
}); | |||
document.getElementById('searchTag').addEventListener('input', function () { | |||
filterImages(); | |||
}); | |||
function filterImages() { | |||
const searchIds = document.getElementById('searchIds').value.split(',').map(id => id.trim()); | const searchIds = document.getElementById('searchIds').value.split(',').map(id => id.trim()); | ||
const searchTag = document.getElementById('searchTag').value.trim().toLowerCase(); | |||
const selectedMapType = document.getElementById('mapType').value; | |||
const selectedOption = document.getElementById('specificOption').value; | |||
const imageContainer = document.getElementById('imageContainer'); | const imageContainer = document.getElementById('imageContainer'); | ||
let imagesHtml = ''; | |||
let allImages = []; | |||
if (selectedMapType && selectedOption) { | |||
const images = specificOptions[selectedMapType][selectedOption]; | |||
allImages = images.filter(image => { | |||
const idMatch = searchIds.length === 0 || searchIds.includes(image.id); | |||
const tagMatch = !searchTag || image.tag.toLowerCase().includes(searchTag); | |||
return idMatch && tagMatch; | |||
}); | }); | ||
allImages.sort((a, b) => a.local.localeCompare(b.local)); | allImages.sort((a, b) => a.local.localeCompare(b.local)); | ||
allImages.forEach(image => { | allImages.forEach(image => { | ||
imagesHtml += ` | imagesHtml += ` | ||
Linha 409: | Linha 433: | ||
<b>Número do Mapa</b>: ${image.id} <br> | <b>Número do Mapa</b>: ${image.id} <br> | ||
<b>Local</b>: ${image.local} <br> | <b>Local</b>: ${image.local} <br> | ||
<b>Coordenada</b>: ${image.coordinates} | <b>Coordenada</b>: ${image.coordinates} <br> | ||
<b>Tag</b>: ${image.tag} | |||
</div> | </div> | ||
</div> | </div> | ||
`; | `; | ||
}); | }); | ||
} | |||
imageContainer.innerHTML = imagesHtml || 'Nenhuma imagem encontrada com os critérios fornecidos.'; | |||
imageContainer.classList.toggle('hidden', allImages.length === 0); | |||
} | |||
} | |||
</script> | </script> | ||
</body> | </body> | ||
</html> | </html> |