chore: improve reference variable picker user experience (#3517)

This commit is contained in:
Joel 2024-04-16 14:27:34 +08:00 committed by GitHub
parent b9fbc39754
commit f89c4203a0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -208,18 +208,24 @@ const VarReferenceVars: FC<Props> = ({
const filteredVars = vars.filter((v) => { const filteredVars = vars.filter((v) => {
const children = v.vars.filter(v => checkKeys([v.variable], false).isValid || v.variable.startsWith('sys.')) const children = v.vars.filter(v => checkKeys([v.variable], false).isValid || v.variable.startsWith('sys.'))
return children.length > 0 return children.length > 0
}).filter((v) => { }).filter((node) => {
if (!searchText) if (!searchText)
return v return node
const children = v.vars.filter(v => v.variable.toLowerCase().includes(searchText.toLowerCase())) const children = node.vars.filter((v) => {
const searchTextLower = searchText.toLowerCase()
return v.variable.toLowerCase().includes(searchTextLower) || node.title.toLowerCase().includes(searchTextLower)
})
return children.length > 0 return children.length > 0
}).map((v) => { }).map((node) => {
let vars = v.vars.filter(v => checkKeys([v.variable], false).isValid || v.variable.startsWith('sys.')) let vars = node.vars.filter(v => checkKeys([v.variable], false).isValid || v.variable.startsWith('sys.'))
if (searchText) if (searchText) {
vars = vars.filter(v => v.variable.toLowerCase().includes(searchText.toLowerCase())) const searchTextLower = searchText.toLowerCase()
if (!node.title.toLowerCase().includes(searchTextLower))
vars = vars.filter(v => v.variable.toLowerCase().includes(searchText.toLowerCase()))
}
return { return {
...v, ...node,
vars, vars,
} }
}) })
@ -266,7 +272,7 @@ const VarReferenceVars: FC<Props> = ({
} }
{filteredVars.length > 0 {filteredVars.length > 0
? <div> ? <div className='max-h-[85vh] overflow-y-auto'>
{ {
filteredVars.map((item, i) => ( filteredVars.map((item, i) => (