@netgrif/components-core
Version:
Netgrif Application engine frontend core Angular library
91 lines (90 loc) • 5.83 kB
TypeScript
import { SearchService } from '../search-service/search.service';
import { LoggerService } from '../../logger/services/logger.service';
import { DialogService } from '../../dialog/services/dialog.service';
import { TranslateService } from '@ngx-translate/core';
import { EventEmitter, OnInit, Type } from '@angular/core';
import { SearchComponentConfiguration } from '../models/component-configuration/search-component-configuration';
import { SearchMode } from '../models/component-configuration/search-mode';
import { UserFiltersService } from '../../filter/user-filters.service';
import { AllowedNetsService } from '../../allowed-nets/services/allowed-nets.service';
import { Category } from '../models/category/category';
import { SavedFilterMetadata } from '../models/persistance/saved-filter-metadata';
import { ViewIdService } from '../../user/services/view-id.service';
import { Filter } from '../../filter/models/filter';
import { TaskSetDataRequestFields } from '../../resources/interface/task-set-data-request-body';
import { DataGroup } from '../../resources/interface/data-groups';
import * as i0 from "@angular/core";
/**
* A universal search component that can be used to interactively create search predicates for anything with supported categories.
*
* This component is responsible for the interactive creation of an AND {@link ClausePredicate} object instance.
* The nested Predicates are OR {@link ClausePredicate} instances created by {@link AbstractSearchClauseComponent}.
*
* Search categories must be provided by the {@link NAE_SEARCH_CATEGORIES} injection token.
* Default factory methods for [task]{@link defaultTaskSearchCategoriesFactory} and
* [case]{@link defaultCaseSearchCategoriesFactory} search categories exist. See their documentation for more information.
*
* The search component's visuals can be configured either by the {@link NAE_SEARCH_COMPONENT_CONFIGURATION} injection token,
* or by the appropriate component inputs. The injection token configuration takes precedence over the inputs if both are present.
*/
export declare abstract class AbstractSearchComponent implements SearchComponentConfiguration, OnInit {
protected _searchService: SearchService;
protected _logger: LoggerService;
protected _dialogService: DialogService;
protected _translate: TranslateService;
protected _userFilterService: UserFiltersService;
protected _allowedNetsService: AllowedNetsService;
protected _viewIdService: ViewIdService;
protected _searchCategories: Array<Type<Category<any>>>;
protected _configuration: SearchComponentConfiguration;
protected _filtersFilter: Filter;
protected _navigationItemTaskData: Array<DataGroup>;
advancedSearchDisplayed: any;
private _showSearchIcon;
private _showSearchToggleButton;
private _showAdvancedSearchHelp;
private _showSaveFilterButton;
private _showLoadFilterButton;
private _initialSearchMode;
disabled: boolean;
/**
* Set data request body, that is sent to the filter in addition to the default body.
* The default body is applied first and can be overridden by this argument.
*/
additionalFilterData: TaskSetDataRequestFields;
/**
* The emitted data contains the filter case object
*/
filterLoaded: EventEmitter<SavedFilterMetadata>;
/**
* The emitted data contains only the saved case's ID
*/
filterSaved: EventEmitter<SavedFilterMetadata>;
protected constructor(_searchService: SearchService, _logger: LoggerService, _dialogService: DialogService, _translate: TranslateService, _userFilterService: UserFiltersService, _allowedNetsService: AllowedNetsService, _viewIdService: ViewIdService, _searchCategories: Array<Type<Category<any>>>, _configuration: SearchComponentConfiguration, _filtersFilter?: Filter, _navigationItemTaskData?: Array<DataGroup>);
ngOnInit(): void;
get showSearchIcon(): boolean;
set showSearchIcon(value: boolean);
get showAdvancedSearchHelp(): boolean;
set showAdvancedSearchHelp(value: boolean);
get showSaveFilterButton(): boolean;
set showSaveFilterButton(value: boolean);
get showLoadFilterButton(): boolean;
set showLoadFilterButton(value: boolean);
get initialSearchMode(): SearchMode;
set initialSearchMode(value: SearchMode);
get showSearchToggleButton(): boolean;
set showSearchToggleButton(value: boolean);
hasPredicates(): boolean;
toggleSearchMode(): void;
showHelp(): void;
/**
* The saved filter data are emitted into the [filterSaved]{@link AbstractSearchComponent#filterSaved} `EventEmitter`
*/
saveFilter(): void;
/**
* The loaded filter data are emitted into the [filterLoaded]{@link AbstractSearchComponent#filterLoaded} `EventEmitter`
*/
loadFilter(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<AbstractSearchComponent, [null, null, null, null, null, null, null, null, { optional: true; }, { optional: true; }, { optional: true; }]>;
static ɵcmp: i0.ɵɵComponentDeclaration<AbstractSearchComponent, "ncc-abstract-search", never, { "disabled": { "alias": "disabled"; "required": false; }; "additionalFilterData": { "alias": "additionalFilterData"; "required": false; }; "showSearchIcon": { "alias": "showSearchIcon"; "required": false; }; "showAdvancedSearchHelp": { "alias": "showAdvancedSearchHelp"; "required": false; }; "showSaveFilterButton": { "alias": "showSaveFilterButton"; "required": false; }; "showLoadFilterButton": { "alias": "showLoadFilterButton"; "required": false; }; "initialSearchMode": { "alias": "initialSearchMode"; "required": false; }; "showSearchToggleButton": { "alias": "showSearchToggleButton"; "required": false; }; }, { "filterLoaded": "filterLoaded"; "filterSaved": "filterSaved"; }, never, never, false, never>;
}