better behaviour of database widget search

This commit is contained in:
Jan Prochazka
2021-01-23 08:55:17 +01:00
parent 6e60cf8691
commit 5935c9a9e7
2 changed files with 11 additions and 6 deletions

View File

@@ -96,15 +96,19 @@ function AppObjectListItem({
function AppObjectGroup({ group, items }) {
const [isExpanded, setIsExpanded] = React.useState(true);
const theme = useTheme();
const filtered = items.filter(x => x.component);
let countText = filtered.length.toString();
if (filtered.length < items.length) countText += `/${items.length}`;
return (
<>
<GroupDiv onClick={() => setIsExpanded(!isExpanded)} theme={theme}>
<ExpandIconHolder>
<ExpandIcon isExpanded={isExpanded} />
</ExpandIconHolder>
{group} {items && `(${items.filter(x => x.component).length})`}
{group} {items && `(${countText})`}
</GroupDiv>
{isExpanded && items.map(x => x.component)}
{isExpanded && filtered.map(x => x.component)}
</>
);
}
@@ -141,8 +145,7 @@ export function AppObjectList({
const listGrouped = _.compact(
(list || []).map(data => {
const matcher = AppObjectComponent.createMatcher && AppObjectComponent.createMatcher(data);
if (matcher && !matcher(filter)) return null;
const component = createComponent(data);
const component = matcher && !matcher(filter) ? null : createComponent(data);
const group = groupFunc(data);
return { group, data, component };
})

View File

@@ -5,13 +5,15 @@ import { AppObjectCore } from './AppObjectCore';
import { AppObjectList } from './AppObjectList';
function ColumnAppObject({ data, commonProps }) {
const { columnName, dataType } = data;
const { columnName, dataType, foreignKey } = data;
let extInfo = dataType;
if (foreignKey) extInfo += ` -> ${foreignKey.refTableName}`;
return (
<AppObjectCore
{...commonProps}
data={data}
title={columnName}
extInfo={dataType}
extInfo={extInfo}
icon={getColumnIcon(data, true)}
disableHover
/>