/* * Copyright (C) 2007-2022 Crafter Software Corporation. All Rights Reserved. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License version 3 as published by * the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program. If not, see . */ import React from 'react'; import { ElasticParams, Filter, MediaItem, SearchResult } from '../../models/Search'; import { CheckedFilter } from '../Search/utils'; import LookupTable from '../../models/LookupTable'; import { AllItemActions } from '../../models/Item'; import { ContextMenuOption } from '../ContextMenu'; import ApiResponse from '../../models/ApiResponse'; export interface SearchUIProps { selectedPath: string; selected: string[]; selectionOptions: ContextMenuOption[]; guestBase: string; sortBy?: string; sortOrder?: string; keyword: string; mode: 'select' | 'default'; drawerOpen: boolean; embedded: boolean; desktopScreen: boolean; currentView: 'grid' | 'list'; searchResults: SearchResult; areAllSelected: boolean; checkedFilters: LookupTable; searchParameters: ElasticParams; error: ApiResponse; isFetching: boolean; onActionClicked(option: AllItemActions, event: React.MouseEvent): void; handleSelectAll(checked: any): void; onSelectedPathChanges(path: string): void; onCheckedFiltersChanges(checkedFilters: LookupTable): any; clearFilter(facet: string): void; clearFilters(): void; handleSearchKeyword(keyword: string): void; handleChangeView(): void; toggleDrawer(): void; handleFilterChange(filter: Filter, isFilter?: boolean): void; handleChangePage(event: React.MouseEvent | null, newPage: number): void; handleChangeRowsPerPage(event: React.ChangeEvent): void; handleSelect(path: string, isSelected: boolean): void; onPreview(item: MediaItem): void; onHeaderButtonClick(event: any, item: MediaItem): void; handleClearSelected(): void; onClose(): void; onAcceptSelection?(items: string[]): void; } export declare function SearchUI(props: SearchUIProps): React.JSX.Element; export default SearchUI;