убрал лишние серчи и ресты
This commit is contained in:
@@ -7,6 +7,7 @@ import {
|
||||
getPendingApproval,
|
||||
getPendingApprovalIndex,
|
||||
hydratePendingAuthors,
|
||||
searchOwnRequests,
|
||||
} from './myRequests.service';
|
||||
import { IMyRequest } from './models/IMyRequest';
|
||||
import { REQUEST_STATUS, IRequestType } from '../../shared/approval';
|
||||
@@ -116,12 +117,19 @@ const Table: React.FC<{
|
||||
|
||||
// Раздел с таблицей заявок: поиск по всем полям + вывод постранично.
|
||||
//
|
||||
// 'own' — Search сразу с пагинацией (RowLimit/StartRow): автор = текущий
|
||||
// пользователь + текст запроса по всем полям.
|
||||
// Движок выбирается по наличию текста в поиске, а не по разделу: БЕЗ запроса —
|
||||
// всегда обычный REST (мгновенно свежий, без задержки индексации), С запросом —
|
||||
// всегда Search (полнотекстовый, но переиндексируется с задержкой). Раньше
|
||||
// поиск подмешивал REST для «свежих» строк поверх Search — из-за этого
|
||||
// результат мог быть неустойчивым (заявка то находилась, то нет, в зависимости
|
||||
// от того, попала ли она в окно подстраховки); эту гибридную логику убрали.
|
||||
//
|
||||
// 'approvals' без поиска — обычный REST, отфильтрованный по ApproverId(+Status),
|
||||
// страница нарезается на СЕРВЕРЕ (getPendingApproval сам берёт нужный срез
|
||||
// индекса и дочитывает автора только для него).
|
||||
// 'own' без поиска — getOwnRequests (REST по AuthorId, страница режется в
|
||||
// памяти). 'own' с поиском — searchOwnRequests (Search, RowLimit/StartRow).
|
||||
//
|
||||
// 'approvals' без поиска — getPendingApproval, REST по ApproverId(+Status),
|
||||
// страница нарезается на СЕРВЕРЕ (сам берёт нужный срез индекса и дочитывает
|
||||
// автора только для него).
|
||||
// 'approvals' с поиском — область расширяется до «где пользователь вообще есть
|
||||
// в маршруте» (getPendingApprovalIndex, ПОЛНЫЙ список без автора — постранично
|
||||
// его тут не взять, т.к. фильтрация текстом идёт уже после), затем текстовый
|
||||
@@ -168,7 +176,10 @@ export const RequestsTableView: React.FC<IRequestsTableViewProps> = ({
|
||||
const load = async (): Promise<void> => {
|
||||
try {
|
||||
if (kind === 'own') {
|
||||
const r = await getOwnRequests(context, types, query, page);
|
||||
const hasOwnQuery = query.trim().length > 0;
|
||||
const r = hasOwnQuery
|
||||
? await searchOwnRequests(context, types, query, page)
|
||||
: await getOwnRequests(context, types, page);
|
||||
if (cancelled) return;
|
||||
setRows(r.rows);
|
||||
setTotalRows(r.totalRows);
|
||||
|
||||
Reference in New Issue
Block a user