PageSourceSearch

https://palermo-huila.gov.co/SiteAssets/Buscador/assets/js/Noticias.js

js palermo-huila.gov.co collected 2026-10-02 00:06:03 UTC 2,967 bytes, 64 lines download raw bytes

1// Importar la función quitarTildes desde el archivo main.js del buscador
2import { quitarTildes } from '/SiteAssets/Buscador/assets/js/main.js';
3
4// Función asincrónica para realizar la consulta de noticias
5export async function ConsultaNoticias(terminoDeBusquedaN) {
6    // Definir parámetros de la consulta
7    const folder = "Páginas"; // Carpeta en la que se realiza la búsqueda
8    const params = ["ID", "LinkFilename", "Title"]; // Campos a seleccionar en la consulta
9
10    // Normalizar el término de búsqueda eliminando tildes y convirtiéndolo a minúsculas
11    const terminoNormalizado = quitarTildes(terminoDeBusquedaN.toLowerCase());
12
13    // Construir la URL de la consulta
14    const ulrFetch = `${location.protocol}//${location.host}/NuestraAlcaldia/SaladePrensa/_api/web/lists/getbytitle('${folder}')/items?$select=${params}&$top=5000`;
15
16    try {
17        // Realizar la consulta utilizando fetch
18        let response = await fetch(ulrFetch, {
19            method: "GET",
20            headers: {
21                Accept: "application/json; odata=verbose",
22            },
23        });
24
25        // Verificar si la respuesta es exitosa
26        if (!response.ok) {
27            throw new Error(`Error en la consulta de Noticias: ${response.statusText}`);
28        }
29
30        // Obtener los datos de la respuesta en formato JSON
31        let data = await response.json();
32
33        // Verificar que existan datos y data.d
34        if (data && data.d) {
35            let info = data.d.results;
36            // Verificar que existan resultados en data.d.results
37            if (info) {
38                // Filtrar los resultados que coinciden con el término de búsqueda, incluso sin tildes
39                const resultadosFiltrados = info.filter(item => {
40                    // Verificar que item y item.Title no sean null o undefined
41                    if (item && item.Title) {
42                        const tituloNormalizado = quitarTildes(item.Title.toLowerCase());
43                        return tituloNormalizado.includes(terminoNormalizado);
44                    }
45                    return false; // Excluir elementos sin título
46                });
47
48                // Mapear los resultados filtrados a un nuevo formato y devolverlos
49                const resultadosNot = resultadosFiltrados.map(item => ({
50                    Title: item.Title || "", // Utilizar un valor por defecto si Title es null o undefined
51                    url: `${location.protocol}//${location.host}/NuestraAlcaldia/SaladePrensa/Paginas/${item.LinkFilename}`,
52                    id: item.ID,
53                    module: "/NuestraAlcaldia/SaladePrensa/",
54                }));
55                return resultadosNot;
56            }
57        }
58
59    } catch (error) {
60        // Manejar errores de consulta
61        console.error(`Error en la consulta de Noticias: ${error.message}`);
62        throw error;
63    }
64}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.