UNPKG

devexpress-reporting

Version:

DevExpress Reporting provides the capability to develop a reporting application to create and customize reports.

146 lines (145 loc) 5.55 kB
/** * DevExpress HTML/JS Reporting (viewer\search\_searchViewModel.d.ts) * Version: 24.2.6 * Build date: Mar 18, 2025 * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED * License: https://www.devexpress.com/Support/EULAs/universal.xml */ import { editor_template, IActionsProvider, DxDeferred } from '@devexpress/analytics-core/analytics-internal-native'; import { IAction, TabInfo } from '@devexpress/analytics-core/analytics-utils-native'; import DataSource from 'devextreme/data/data_source'; import { ReportPreview } from '../reportPreview'; import { SearchResultNavigator } from './_searchResultNavigator'; import { ISearchSettings } from '../utils/initializer'; import { ArrayPropertyChangedEventArgs, BaseRenderingModel, IViewModel, PropertyChangedEventArgs } from '@devexpress/analytics-core/analytics-serializer-native'; import { FocusOutEvent, KeyDownEvent, ValueChangedEvent as TextChangedEvent } from 'devextreme/ui/text_box'; import { ClickEvent } from 'devextreme/ui/button'; import { ValueChangedEvent } from 'devextreme/ui/check_box'; import { ItemRenderedEvent } from 'devextreme/ui/list'; export interface IFoundText { pageIndex: number; indexes: string; id: number; text: string; } export interface ISearchResult { matches: Array<IFoundText>; success: boolean; faultMessage: string; } export interface ISearchResultItemViewModel extends IViewModel { itemClickAction: (e: any) => void; data: IFoundText; attr: { 'aria-label': string; }; info: string; } interface ISearchEditorCheckBox { text: string; value: boolean; onValueChanged: (event: ValueChangedEvent) => void; } interface ISearchEditorArrowButton { template: typeof editor_template; icon: string; onClick: (event: ClickEvent) => void; } export interface ISearchViewModel extends IViewModel { buttons: { searchButton: { text: string; disabled: boolean; onClick: (e: ClickEvent) => void; }; upButton: ISearchEditorArrowButton; downButton: ISearchEditorArrowButton; }; searchEditor: { onKeyDown: (e: KeyDownEvent) => void; onFocusOut: (e: FocusOutEvent) => void; inputAttr: { type: string; title: string; }; }; matchCaseEditor: ISearchEditorCheckBox; matchWholeWordEditor: ISearchEditorCheckBox; loading: boolean; headerText: string; noResultText: string; resultsInText: string; searchCompleted: boolean; resultsPagesText: string; searchResultCount: number; searchResultHeaderId: string; searchResultPageCount: number; searchResultDataSource: DataSource; doSearch: (searchUp: boolean) => void; onItemRendered: (event: ItemRenderedEvent) => void; } export declare class SearchViewModel extends BaseRenderingModel<ISearchViewModel> implements IActionsProvider { reportPreview: ReportPreview; private _cachedRequests; private _cachedWholeWordRequests; private _cachedCaseSensitiveRequests; private _cachedWholeWordWithCaseRequests; private _resultNavigator; private _timeoutItemRendered; private _searchTimeout; private _searchIgnoreObs; static createResultNavigator: (seacrhModel: SearchViewModel, reportPreview: ReportPreview) => SearchResultNavigator; updateViewModel(args: PropertyChangedEventArgs<SearchViewModel> | ArrayPropertyChangedEventArgs<SearchViewModel>): void; createViewModel(): ISearchViewModel; resetSearchResult(): void; findTextRequestDone(result: ISearchResult, cache: IFoundText[]): void; appentSearchResult(result: ISearchResult): void; performSearchAsync(text: string, reportPreview: ReportPreview, ignore?: boolean): void; performSearch(text: string, reportPreview: ReportPreview, cache: { [key: string]: IFoundText[]; }, ignore?: boolean): void; mapSearchResultsToViewModels(results: { data: IFoundText; }[]): ISearchResultItemViewModel[]; resetSearchResultDataSource(): void; resetDeffereds(): void; failRequestHandler(ignore: boolean): void; onPropertyChanged(args: PropertyChangedEventArgs<SearchViewModel> | ArrayPropertyChangedEventArgs<SearchViewModel>): void; constructor(reportPreview: ReportPreview, searchSettings?: ISearchSettings, enableKeyboardSupport?: boolean); goToResult(result: IFoundText): void; newSearch(text: string, matchCase: boolean, matchWholeWord: boolean): void; stopSearchProcess(): void; startSearchProcess(): void; searchButtonClick(): void; updateSearch(timeout: number): void; findNext(searchUp?: boolean): void; dispose(): void; onItemRendered(): void; getActions(context: object): IAction[]; noResultText(): string; getSearchButtonText(): string; onSearchTextChanged(e: FocusOutEvent | TextChangedEvent): void; tabInfo: TabInfo; actions: IAction[]; matchWholeWord: boolean; matchCase: boolean; searchUp: boolean; searchText: string; searchResult: IFoundText[]; searchOperationId: string; loading: boolean; searchResultCount: number; searchResultPageCount: number; stopSearchDisabled: boolean; searchCompleted: boolean; _renderedSearchResult: { data: IFoundText; }[]; searchResultDataSource: DataSource; useAsyncSearch: boolean; searchRequestDeferred: DxDeferred<any>; startSearchDeferred: DxDeferred<any>; fetchLimit: number; pageSize: number; } export {};