From 2321010608841d03033114581f2c99ce81a022e1 Mon Sep 17 00:00:00 2001 From: nns <278048682+nurdotnet@users.noreply.github.com> Date: Sun, 26 Apr 2026 01:04:42 +0500 Subject: [PATCH] feat(ui): inline-create option in searchable Select MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Опциональный onCreate(label) пропс — если задан и пользователь набрал текст, не совпадающий ни с одним пунктом списка, в дропдауне появляется кнопка «Создать «query»». По клику колбэк создаёт сущность на сервере и возвращает id, который сразу подставляется как выбранное значение. Enter в пустом результате тоже триггерит создание. Подключено в приёмке для поля «Поставщик» — POST в counterparties с дефолтами (Type=LegalEntity, остальные поля null), затем invalidate лукапа. Полные реквизиты редактируются позже в справочнике. Co-Authored-By: Claude Opus 4.7 (1M context) --- src/food-market.web/src/components/Field.tsx | 53 +++++++++++++++++-- .../src/pages/SupplyEditPage.tsx | 20 ++++++- 2 files changed, 67 insertions(+), 6 deletions(-) diff --git a/src/food-market.web/src/components/Field.tsx b/src/food-market.web/src/components/Field.tsx index 337703e..91aef2d 100644 --- a/src/food-market.web/src/components/Field.tsx +++ b/src/food-market.web/src/components/Field.tsx @@ -67,12 +67,25 @@ function extractOptions(children: ReactNode): SelectOption[] { /** Drop-in замена нативного setForm({ ...form, supplierId: e.target.value })}> +