diff --git a/frontend/src/ASNsNewManager.jsx b/frontend/src/ASNsNewManager.jsx index 9f07560..6da9139 100644 --- a/frontend/src/ASNsNewManager.jsx +++ b/frontend/src/ASNsNewManager.jsx @@ -596,6 +596,7 @@ function ASNsNewManager() { communities={communities} placeholder="Начните вводить номер или имя" className={`form-control${newInvalid.community ? ' is-invalid' : isValidCommunity(newItem.community) ? ' is-valid' : ''}`} + useShortValue={true} /> {newInvalid.community &&
Неверный формат community
} @@ -869,6 +870,7 @@ function ASNsNewManager() { onKeyDown={(e) => handleEditKeyDown(e, item.asn)} className={`form-control d-inline-block me-2${isValidCommunity(editingValue) ? '' : ' is-invalid'}`} style={{ width: '150px' }} + useShortValue={true} /> diff --git a/frontend/src/DomainsNewManager.jsx b/frontend/src/DomainsNewManager.jsx index 5382247..1316ca2 100644 --- a/frontend/src/DomainsNewManager.jsx +++ b/frontend/src/DomainsNewManager.jsx @@ -598,6 +598,7 @@ function DomainsNewManager() { communities={communities} placeholder="Начните вводить номер или имя" className={`form-control${newInvalid.community ? ' is-invalid' : isValidCommunity(newItem.community) ? ' is-valid' : ''}`} + useShortValue={true} /> {newInvalid.community &&
Неверный формат community
} @@ -881,14 +882,15 @@ function DomainsNewManager() {
{editingDomain === item.domain ? ( <> - handleEditKeyDown(e, item.domain)} - className={`form-control d-inline-block me-2${isValidCommunity(editingValue) ? '' : ' is-invalid'}`} - style={{ width: '150px' }} - /> + handleEditKeyDown(e, item.domain)} + className={`form-control d-inline-block me-2${isValidCommunity(editingValue) ? '' : ' is-invalid'}`} + style={{ width: '150px' }} + useShortValue={true} + />
{newInvalid.community &&
Неверный формат community
} @@ -1101,6 +1102,7 @@ function IPRangesManager() { className={`form-control d-inline-block me-2${isValidCommunity(editingValue) ? '' : ' is-invalid'}`} style={{ width: '150px' }} onKeyDown={(e) => handleEditKeyDown(e, item.ipRange)} + useShortValue={true} /> diff --git a/frontend/src/components/CommunityAutocompleteInput.jsx b/frontend/src/components/CommunityAutocompleteInput.jsx index ab90412..6a0a388 100644 --- a/frontend/src/components/CommunityAutocompleteInput.jsx +++ b/frontend/src/components/CommunityAutocompleteInput.jsx @@ -9,6 +9,7 @@ function CommunityAutocompleteInput({ className = 'form-control', onSelectMeta, maxSuggestions = 8, + useShortValue = false, // если true, передавать только короткую часть community (120 вместо 65000:120) }) { const containerRef = useRef(null); const inputRef = useRef(null); @@ -38,7 +39,12 @@ function CommunityAutocompleteInput({ }, []); const selectItem = (item) => { - onChange(item.value); + // Если useShortValue=true, извлекаем только часть после двоеточия (если есть) + let valueToSet = item.value; + if (useShortValue && typeof item.value === 'string' && item.value.includes(':')) { + valueToSet = item.value.split(':')[1] || item.value; + } + onChange(valueToSet); if (onSelectMeta) onSelectMeta(item); setOpen(false); setActiveIndex(-1);