From 15f24a0d915945be3e9acced518d766c2b071cc1 Mon Sep 17 00:00:00 2001 From: "gorbenko.pavel" Date: Fri, 25 Sep 2026 16:44:59 +0500 Subject: [PATCH] =?UTF-8?q?=D0=A1=D0=B4=D0=B5=D0=BB=D0=B0=D1=82=D1=8C=20?= =?UTF-8?q?=D1=84=D0=B8=D0=BB=D1=8C=D1=82=D1=80=20=D0=BF=D0=BE=20=D1=81?= =?UTF-8?q?=D0=BE=D1=82=D1=80=D1=83=D0=B4=D0=BD=D0=B8=D0=BA=D1=83=20=D1=81?= =?UTF-8?q?=D1=82=D0=B0=D0=BD=D0=B4=D0=B0=D1=80=D1=82=D0=BD=D1=8B=D0=BC=20?= =?UTF-8?q?SearchableSelect?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Как и везде в админке (форма выдачи доступа, ManageRequestsApproverModal и т.п.) — поиск по ФИО/email вместо свободного текста, точное совпадение вместо подстроки. Co-Authored-By: Claude Sonnet 5 --- .../screens/RequestTypeAccessScreen.tsx | 15 ++++++++++----- frontend/src/webparts/approvalAdmin/texts.ts | 3 ++- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/frontend/src/webparts/approvalAdmin/components/screens/RequestTypeAccessScreen.tsx b/frontend/src/webparts/approvalAdmin/components/screens/RequestTypeAccessScreen.tsx index d3e5f8d..67ef86d 100644 --- a/frontend/src/webparts/approvalAdmin/components/screens/RequestTypeAccessScreen.tsx +++ b/frontend/src/webparts/approvalAdmin/components/screens/RequestTypeAccessScreen.tsx @@ -26,8 +26,7 @@ import { PageHeader, PrimaryCell, SearchableSelect, - Select, - TextInput + Select } from '../ui'; export interface IRequestTypeAccessScreenProps { @@ -84,7 +83,7 @@ export const RequestTypeAccessScreen: React.FC = const filteredItems = access.items.filter(item => { if (filterRequestTypeId && String(item.requestTypeId) !== filterRequestTypeId) return false; - if (filterEmail && item.email.toLowerCase().indexOf(filterEmail.trim().toLowerCase()) === -1) return false; + if (filterEmail && item.email.toLowerCase() !== filterEmail.toLowerCase()) return false; return true; }); @@ -143,10 +142,16 @@ export const RequestTypeAccessScreen: React.FC =
- setFilterEmail(e.target.value)} + loading={employees.isLoading} + allowClear + clearLabel={texts.requestTypeAccess.filterEmailAll} placeholder={texts.requestTypeAccess.filterEmailPlaceholder} + searchPlaceholder={texts.select.employeeSearchPlaceholder} + emptyMessage={texts.select.employeesEmpty} + onChange={setFilterEmail} />
diff --git a/frontend/src/webparts/approvalAdmin/texts.ts b/frontend/src/webparts/approvalAdmin/texts.ts index 93020ca..b6048f2 100644 --- a/frontend/src/webparts/approvalAdmin/texts.ts +++ b/frontend/src/webparts/approvalAdmin/texts.ts @@ -189,7 +189,8 @@ export const texts = { filterRequestTypeLabel: 'Фильтр по типу заявки', filterRequestTypeAll: 'Все типы заявок', filterEmailLabel: 'Фильтр по сотруднику', - filterEmailPlaceholder: 'Email сотрудника', + filterEmailAll: 'Все сотрудники', + filterEmailPlaceholder: 'Найдите по ФИО или email', columnRequestType: 'Тип заявки', columnEmail: 'Сотрудник', columnSharePointLists: 'Списки SharePoint (выдать доступ вручную)',