mirror of
https://github.com/IRBorisov/ConceptPortal.git
synced 2025-06-26 04:50:36 +03:00
F: Filter out users without schemas
This commit is contained in:
parent
e39a0c2f83
commit
e101aea631
|
@ -20,6 +20,7 @@ import { cn } from '@/components/utils';
|
||||||
import { prefixes } from '@/utils/constants';
|
import { prefixes } from '@/utils/constants';
|
||||||
import { tripleToggleColor } from '@/utils/utils';
|
import { tripleToggleColor } from '@/utils/utils';
|
||||||
|
|
||||||
|
import { useLibrarySuspense } from '../../backend/use-library';
|
||||||
import { IconItemVisibility } from '../../components/icon-item-visibility';
|
import { IconItemVisibility } from '../../components/icon-item-visibility';
|
||||||
import { IconLocationHead } from '../../components/icon-location-head';
|
import { IconLocationHead } from '../../components/icon-location-head';
|
||||||
import { describeLocationHead, labelLocationHead } from '../../labels';
|
import { describeLocationHead, labelLocationHead } from '../../labels';
|
||||||
|
@ -33,6 +34,7 @@ interface ToolbarSearchProps {
|
||||||
}
|
}
|
||||||
|
|
||||||
export function ToolbarSearch({ className, total, filtered }: ToolbarSearchProps) {
|
export function ToolbarSearch({ className, total, filtered }: ToolbarSearchProps) {
|
||||||
|
const { items } = useLibrarySuspense();
|
||||||
const userMenu = useDropdown();
|
const userMenu = useDropdown();
|
||||||
const headMenu = useDropdown();
|
const headMenu = useDropdown();
|
||||||
|
|
||||||
|
@ -58,6 +60,10 @@ export function ToolbarSearch({ className, total, filtered }: ToolbarSearchProps
|
||||||
|
|
||||||
const userActive = isOwned !== null || isEditor !== null || filterUser !== null;
|
const userActive = isOwned !== null || isEditor !== null || filterUser !== null;
|
||||||
|
|
||||||
|
function filterNonEmptyUsers(userID: number): boolean {
|
||||||
|
return items.some(item => item.owner === userID);
|
||||||
|
}
|
||||||
|
|
||||||
function handleChange(newValue: LocationHead | null) {
|
function handleChange(newValue: LocationHead | null) {
|
||||||
headMenu.hide();
|
headMenu.hide();
|
||||||
setHead(newValue);
|
setHead(newValue);
|
||||||
|
@ -114,6 +120,7 @@ export function ToolbarSearch({ className, total, filtered }: ToolbarSearchProps
|
||||||
placeholder='Выберите владельца'
|
placeholder='Выберите владельца'
|
||||||
noBorder
|
noBorder
|
||||||
className='min-w-60 mx-1 mb-1'
|
className='min-w-60 mx-1 mb-1'
|
||||||
|
filter={filterNonEmptyUsers}
|
||||||
value={filterUser}
|
value={filterUser}
|
||||||
onChange={setFilterUser}
|
onChange={setFilterUser}
|
||||||
/>
|
/>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user