пишется фио
This commit is contained in:
@@ -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;
|
||||||
setStatus('notfound');
|
if (isEmail) {
|
||||||
setFound(undefined);
|
onResolved(text, text, '');
|
||||||
onResolved(text, '', '');
|
} else {
|
||||||
|
setStatus('notfound');
|
||||||
|
setFound(undefined);
|
||||||
|
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>
|
||||||
|
|||||||
Reference in New Issue
Block a user