пишется фио

This commit is contained in:
gorbenko.pavel
2026-08-18 11:57:44 +05:00
parent 2251212177
commit 1c43cdd2b9
@@ -36,21 +36,21 @@ export const DebugUserField: React.FC<IDebugUserFieldProps> = ({ label, descript
return; return;
} }
// E-mail — используем как есть, без похода в people search. // E-mail введён напрямую — используем его как есть, но всё равно ищем ФИО
if (text.indexOf('@') >= 0) { // (для красной полосы в интерфейсе и для проверки, что такой сотрудник есть).
setStatus('email'); const isEmail = text.indexOf('@') >= 0;
setFound(undefined);
onResolved(text, text, '');
return;
}
let cancelled = false; let cancelled = false;
setStatus('loading'); setStatus(isEmail ? 'email' : 'loading');
if (isEmail) setFound(undefined);
const timer = window.setTimeout(() => { const timer = window.setTimeout(() => {
resolveDebugUser(context, text) resolveDebugUser(context, text)
.then((hit) => { .then((hit) => {
if (cancelled) return; if (cancelled) return;
if (hit) { if (isEmail) {
setFound(hit);
onResolved(text, text, hit ? hit.displayName : '');
} else if (hit) {
setStatus('found'); setStatus('found');
setFound(hit); setFound(hit);
onResolved(text, hit.email, hit.displayName); onResolved(text, hit.email, hit.displayName);
@@ -62,9 +62,13 @@ export const DebugUserField: React.FC<IDebugUserFieldProps> = ({ label, descript
}) })
.catch(() => { .catch(() => {
if (cancelled) return; if (cancelled) return;
if (isEmail) {
onResolved(text, text, '');
} else {
setStatus('notfound'); setStatus('notfound');
setFound(undefined); setFound(undefined);
onResolved(text, '', ''); onResolved(text, '', '');
}
}); });
}, DEBOUNCE_MS); }, DEBOUNCE_MS);
@@ -89,7 +93,10 @@ export const DebugUserField: React.FC<IDebugUserFieldProps> = ({ label, descript
{status === 'loading' && 'Ищем сотрудника…'} {status === 'loading' && 'Ищем сотрудника…'}
{status === 'found' && found && `Найдено: ${found.displayName} — ${found.email}`} {status === 'found' && found && `Найдено: ${found.displayName} — ${found.email}`}
{status === 'notfound' && 'Сотрудник не найден — подмена работать не будет'} {status === 'notfound' && 'Сотрудник не найден — подмена работать не будет'}
{status === 'email' && `Используется как e-mail напрямую: ${query.trim()}`} {status === 'email' &&
(found
? `Используется как e-mail напрямую: ${query.trim()} (${found.displayName})`
: `Используется как e-mail напрямую: ${query.trim()}`)}
</div> </div>
<div style={{ marginTop: 6, fontSize: 12, lineHeight: 1.4, color: '#605e5c' }}>{description}</div> <div style={{ marginTop: 6, fontSize: 12, lineHeight: 1.4, color: '#605e5c' }}>{description}</div>
</div> </div>