JavaScript API
Controla el widget programáticamente mediante su API de JavaScript.
Inicialización
const widget = NeuroonWidget.init({
container: '#neuroon-search',
token: 'YOUR_TOKEN',
// ... opciones
});
Métodos
search(query)
Ejecuta una búsqueda programáticamente.
widget.search('zapatillas running');
setFilters(filters)
Aplica filtros a la búsqueda actual.
widget.setFilters({
categories: ['deportes'],
brands: ['Nike', 'Adidas'],
priceMin: 50,
priceMax: 200,
inStock: true,
});
clearFilters()
Elimina todos los filtros aplicados.
widget.clearFilters();
open()
Abre el modal de búsqueda (si está configurado como overlay).
widget.open();
close()
Cierra el modal de búsqueda.
widget.close();
destroy()
Destruye la instancia del widget y limpia el DOM.
widget.destroy();
Propiedades
isOpen
Estado del modal (solo lectura).
if (widget.isOpen) {
console.log('El widget está abierto');
}
currentQuery
Query de búsqueda actual (solo lectura).
console.log('Búsqueda actual:', widget.currentQuery);
Eventos globales
El widget emite eventos en el objeto window:
window.addEventListener('neuroon:search', (event) => {
console.log('Búsqueda:', event.detail.query);
console.log('Resultados:', event.detail.results.length);
});
window.addEventListener('neuroon:click', (event) => {
console.log('Producto clickeado:', event.detail.product);
});
window.addEventListener('neuroon:error', (event) => {
console.error('Error:', event.detail.error);
});
Ejemplo: Integración con Analytics
const widget = NeuroonWidget.init({
container: '#neuroon-search',
token: 'YOUR_TOKEN',
callbacks: {
onSearch: (query, results) => {
// Google Analytics 4
gtag('event', 'search', {
search_term: query,
results_count: results.length,
});
},
onResultClick: (product) => {
// Google Analytics 4
gtag('event', 'select_item', {
item_list_name: 'search_results',
items: [{
item_id: product.id,
item_name: product.name,
price: product.price,
}],
});
},
},
});
Ejemplo: Búsqueda desde otro elemento
<input type="text" id="custom-search" placeholder="Buscar...">
<button id="search-btn">Buscar</button>
<script>
const widget = NeuroonWidget.init({ /* config */ });
document.getElementById('search-btn').addEventListener('click', () => {
const query = document.getElementById('custom-search').value;
widget.search(query);
widget.open();
});
</script>