Fix: Tags Input - полное исправление

 API не возвращает группы при пустом запросе
 onItemAdd вместо onChange для добавления тегов
 Очистка поля после добавления тега
 Фильтрация по организации пользователя

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
mirivlad 2026-03-30 13:14:53 +08:00
parent 5689604004
commit c5a5280f56
2 changed files with 14 additions and 4 deletions

View File

@ -13,6 +13,11 @@ class GroupSearchController extends Controller
$query = $request->get('q', '');
$userId = $request->get('user_id', null);
// Если запрос пустой - возвращаем пустой массив
if (empty(trim($query))) {
return response()->json([]);
}
$groupsQuery = Group::query()->with('organization');
// Если указан user_id - фильтруем по доступным группам

View File

@ -90,10 +90,10 @@ document.addEventListener('DOMContentLoaded', function() {
return '<div>' + escape(data.text) + '</div>';
}
},
onChange: function(value) {
if (value && this.options[value]) {
addTag(value, this.options[value]);
this.clear();
onItemAdd: function(value, $item) {
const data = this.options[value];
if (data) {
addTag(value, data);
}
}
});
@ -113,6 +113,11 @@ document.addEventListener('DOMContentLoaded', function() {
<span class="remove-tag" onclick="removeTag(${id}, this)">&times;</span>
`;
tagsContainer.appendChild(tag);
// Очищаем поле ввода
setTimeout(() => {
select.clear();
}, 100);
}
// Удаление тега