Skip to content

Документация

Кирилл edited this page Oct 3, 2023 · 8 revisions

ℹ️ Документация не полная и так же возможно будет дополнятся, но со временем.

ℹ️ Баг репорты отправлять при помощи раздела "Issues" с как можно детально описанной проблемой, с ошибками и прочими моментами. Так же там при написании вопроса будут бейджики (найдите "Bug").

❗ Если не умеете, не понимаете как описывать проблемы и баги, то лучше не пишите.

Использование отдельной функции не обязательно, функция лишь даёт возможность запоминать в историю посещения из результатов поиска. Ну и разумеется представляет собой полную замену родных js функций, для лучшего контроля поведения функции поиска. Это моя личная интерпретация функции как удобно мне и она представлена в качестве примера. Вы же можете использовать её и изменять в меру своих знаний и смекалки. Так же вместе с плагином идут стили которые используются в моём шаблоне но так же заменяют полностью все родные стили.

❗ При использовании отдельных стилей и скрипта, старое стоит удалить чтобы исключить какой либо конфликт.

Инициализация отдельной функции происходит подключением файла Search.js или переносе содержимого в отдельный файл. А так же в самом xml плагине, нужно активировать в изменениях над файлом engine/modules/main.php правку по замене инициализации.

Если функция не используется

Нужно записать где удобно функцию. Раньше эта функция была просто прописана в теге script в самом ajax-search.tpl

❗ Сейчас шаблон обновлён и этой функции там нету.

var Search = {
    changeSearch: function(obj) {

	if( $(obj).prop('checked') ) {
				
		setcookie('search_last_viewed', 1);
		dle_do_search(dle_search_value);
				
	} else {
				
		setcookie('search_last_viewed', 0);
		dle_do_search(dle_search_value);
				
	}

    }
}

Она используется для обновления поиска в случае если включена настройка запоминать посещаемые новости и когда происходит выбор исключать уже просмотренные новости из поиска.

Описание параметров JavaScript Функции:

Параметр Описание
result_id Идентификатор ID главного контейнера подсказок. По умолчанию: searchsuggestions
button_class Указывает кнопку нажатия отображающий поиск. Если задаётся класс, это подразумевает отсутствие какой либо разметки поиска, поиск будет отображаться в режиме popup. По умолчанию: class_name / false
box_class Идентификатор class контейнера поиска для popup режима. По умолчанию: search-box
mask_class Идентификатор class маски для popup режима. По умолчанию: search-mask / false
append_result_markup Идентификатор class для объекта в который поместить разметку search_result_markup. По умолчанию: quicksearch / false
result_auto_position Автоматическая позиция и ширина области result_id
delay Задержка ввода в ms. По умолчанию: 200 мс
min_search Минимальное количество символов для поиска. По умолчанию: 2 (Подставляется из настройки dle)
search_result_area Идентификатор class для объекта в который поместить результаты ответов в области search_result_markup. По умолчанию false (Будет добавлено в result_id)
key_bind Объект с установками клавиш для различных действий. Далее в секции Hotkey
history Запоминать в localstorage историю ранее открытых ссылок из поиска. По умолчанию: false
append_history_markup Идентификатор class для объекта в который поместить результаты истории. По умолчанию: false
show_history_timeout Время через которое показать историю при показе подсказки в режиме popup. По умолчанию: 500 мс / false
css_timeout Время на то, чтобы дать css анимации завершится если она присутствует прежде чем окно будет скрыто. По умолчанию: 205 мс / false
history_remove Идентификатор class для кнопки удаления текущего значения подсказки из истории браузера. По умолчанию: clear-suggest / false
history_markup HTML разметка для области истории. Атрибут ID search-suggest в разметке должен быть обязательным у родительского элемента.
history_item HTML разметка для конкретного элемента истории.
search_markup HTML разметка основной области поиска для popup режима.
search_result_wrapper HTML разметка результатов. Это та часть которая раньше была в ответе обработчика.
search_result_markup HTML разметка для области результатов поиска.
suggestionHistory_count Количество подсказок в истории. По умолчанию: 5
Следующие параметры не стоит трогать если не разбираетесь.
Параметр Описание
search_delay Переменная для таймера задержки.
search_value Переменная для хранения введённых символов.
suggestionHistory Переменная для истории подсказок.
input Переменная для input поля.
is_popup Переменная для определения статуса popup.
is_show Переменная для определения показан ли поиск.
active_suggest Переменная для определения статуса отображения истории.

HotKey

В функции есть бинды горячих клавиш на клавиатуре для различных действий.

Подробнее содержимом объекте key_bind
Имя ключа в key_bind Описание По умолчанию
show Устанавливает фокус в поле Input если работает в режиме Inline. В случае popup будет открывать форму, предварительно её добавив. \
close Если фокус установлен на Input то закроет форму поиска для popup режима. Для Inline очистит результаты. Esc
moveDown/moveUp При фокусе в Input и наличии видимых подсказок истории или результатов поиска, пытается сместить указатель на объекте в соответствующем направлении. ArrowDown / ArrowUp
currClick Если смещение указателя успешно, по нажатию будет попытка открыть ссылку. Enter

Определить другие клавиши можно на этой странице [Клавиатура: keydown и keyup]. На тестовом стенде нажимая в поле ввода можно наблюдать события, вам нужно смотреть на key, его и используйте в объекте key_bind.

Использовать какие-то значения не обязательно, а так же можно и вовсе выключить Hotkey выставив false для key_bind.

Clone this wiki locally