Do not show error position for disabled input

This commit is contained in:
IRBorisov 2023-11-24 18:13:52 +03:00
parent ec75cb866c
commit 5f52e32a34
2 changed files with 9 additions and 3 deletions

View File

@ -159,7 +159,8 @@ function EditorRSExpression({
{ loading && <ConceptLoader size={6} />} { loading && <ConceptLoader size={6} />}
{ !loading && parseData && { !loading && parseData &&
<ParsingResult <ParsingResult
data={parseData} data={parseData}
disabled={disabled}
onShowError={onShowError} onShowError={onShowError}
/>} />}
{ !loading && !parseData && { !loading && !parseData &&

View File

@ -4,10 +4,11 @@ import { getRSErrorPrefix } from '../../../utils/misc';
interface ParsingResultProps { interface ParsingResultProps {
data: IExpressionParse data: IExpressionParse
disabled: boolean
onShowError: (error: IRSErrorDescription) => void onShowError: (error: IRSErrorDescription) => void
} }
function ParsingResult({ data, onShowError }: ParsingResultProps) { function ParsingResult({ data, disabled, onShowError }: ParsingResultProps) {
const errorCount = data.errors.reduce((total, error) => (error.isCritical ? total + 1 : total), 0); const errorCount = data.errors.reduce((total, error) => (error.isCritical ? total + 1 : total), 0);
const warningsCount = data.errors.length - errorCount; const warningsCount = data.errors.length - errorCount;
@ -16,7 +17,11 @@ function ParsingResult({ data, onShowError }: ParsingResultProps) {
<p>Ошибок: <b>{errorCount}</b> | Предупреждений: <b>{warningsCount}</b></p> <p>Ошибок: <b>{errorCount}</b> | Предупреждений: <b>{warningsCount}</b></p>
{data.errors.map((error, index) => { {data.errors.map((error, index) => {
return ( return (
<p key={`error-${index}`} className='cursor-pointer text-warning' onClick={() => onShowError(error)}> <p
key={`error-${index}`}
className={`text-warning ${disabled ? '' : 'cursor-pointer'}`}
onClick={disabled ? undefined : () => onShowError(error)}
>
<span className='mr-1 font-semibold underline'>{error.isCritical ? 'Ошибка' : 'Предупреждение'} {getRSErrorPrefix(error)}:</span> <span className='mr-1 font-semibold underline'>{error.isCritical ? 'Ошибка' : 'Предупреждение'} {getRSErrorPrefix(error)}:</span>
<span> {describeRSError(error)}</span> <span> {describeRSError(error)}</span>
</p> </p>