57 lines
2.3 KiB
JavaScript
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 вызван');
|
|
}
|
|
} |