@craftercms/studio-ui
Version:
Services, components, models & utils to build CrafterCMS authoring extensions.
64 lines (62 loc) • 2.62 kB
TypeScript
/*
* 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 <http://www.gnu.org/licenses/>.
*/
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<CheckedFilter>;
searchParameters: ElasticParams;
error: ApiResponse;
isFetching: boolean;
onActionClicked(option: AllItemActions, event: React.MouseEvent<HTMLButtonElement, MouseEvent>): void;
handleSelectAll(checked: any): void;
onSelectedPathChanges(path: string): void;
onCheckedFiltersChanges(checkedFilters: LookupTable<CheckedFilter>): 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<HTMLButtonElement, MouseEvent> | null, newPage: number): void;
handleChangeRowsPerPage(event: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>): 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;