Files
cabinet/assets/controllers/searchButton_controller.js
T
2026-05-28 12:09:28 +03:00

57 lines
2.3 KiB
JavaScript

import { Controller } from 'stimulus';
export default class extends Controller {
connect() {
}
cancelForm() {
const mainSearchInput = document.querySelector('[data-controller="searchNameInput"]');
if (mainSearchInput) {
mainSearchInput.value = '';
}
const showContent = document.querySelector('.show-content');
if (showContent) {
showContent.classList.add('d-none');
showContent.innerHTML = '';
}
}
searchForm() {
// Вызываем глобальную функцию из searchNameInput контроллера
if (typeof window.performSearch === 'function') {
window.performSearch();
} else {
// Fallback: делаем редирект вручную
const input = document.querySelector('[data-controller="searchNameInput"]');
const selectSearch = document.getElementById("select-search").value;
const searchValue = input ? input.value.trim() : '';
if (searchValue) {
const encodedValue = encodeURIComponent(searchValue);
// Извлекаем alias из текущего URL, если он есть
const currentPath = window.location.pathname;
const aliasMatch = currentPath.match(/\/specialists\/([^\/]+)/);
const alias = aliasMatch ? aliasMatch[1] : null;
let url;
if (selectSearch === 'name') {
const baseUrl = alias ? `/specialists/${alias}` : '/specialists';
url = `${baseUrl}?specialist_search%5Bname%5D=${encodedValue}`;
} else if (selectSearch === 'pl') {
url = `/stoimost-uslug?price_list_form%5Bschname%5D=${encodedValue}`;
} else if (selectSearch === 'department') {
const baseUrl = alias ? `/specialists/${alias}` : '/specialists';
url = `${baseUrl}?specialist_search%5Bdepartment%5D=${encodedValue}`;
}
if (url) {
window.location.href = url;
}
}
}
console.log('searchForm вызван');
}
}