From c5a5280f5690c820ff0dd904263cc730a11e3425 Mon Sep 17 00:00:00 2001 From: mirivlad Date: Mon, 30 Mar 2026 13:14:53 +0800 Subject: [PATCH] =?UTF-8?q?Fix:=20Tags=20Input=20-=20=D0=BF=D0=BE=D0=BB?= =?UTF-8?q?=D0=BD=D0=BE=D0=B5=20=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ✅ API не возвращает группы при пустом запросе ✅ onItemAdd вместо onChange для добавления тегов ✅ Очистка поля после добавления тега ✅ Фильтрация по организации пользователя Co-authored-by: Qwen-Coder --- app/Http/Controllers/Api/GroupSearchController.php | 5 +++++ resources/views/components/tags-input.blade.php | 13 +++++++++---- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/app/Http/Controllers/Api/GroupSearchController.php b/app/Http/Controllers/Api/GroupSearchController.php index c7c05a9..b318995 100755 --- a/app/Http/Controllers/Api/GroupSearchController.php +++ b/app/Http/Controllers/Api/GroupSearchController.php @@ -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 - фильтруем по доступным группам diff --git a/resources/views/components/tags-input.blade.php b/resources/views/components/tags-input.blade.php index cf3b671..821497a 100644 --- a/resources/views/components/tags-input.blade.php +++ b/resources/views/components/tags-input.blade.php @@ -90,10 +90,10 @@ document.addEventListener('DOMContentLoaded', function() { return '
' + escape(data.text) + '
'; } }, - 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() { × `; tagsContainer.appendChild(tag); + + // Очищаем поле ввода + setTimeout(() => { + select.clear(); + }, 100); } // Удаление тега