import { QueryValidation } from '../validation/query-validation'; import { QueryCollectionTypeEnum } from '../../enums/query-collection-type.enum'; import { FilterItemOperator } from '../../enums/filter-Item-operator.enum'; import { QueryCollectionEvent } from '../../models/query-collection-listener.model'; import { Observable } from 'rxjs'; import { ExtraQueryData, QueryCollectionModel } from '../../models/query-collection.model'; import * as i0 from "@angular/core"; export declare class QueryCollectionActions { allCollections?: Map; queryMap: QueryValidation; queriesChanged: Observable; collectionId: string; defaultQueries?: Record; activeLogs?: boolean; numberOfListeners: number; /************************************************************************************* * @description - all action that can perform on query collection * @method update - Update key of some collection with value and type * @method delete - Delete map key from collection * @method deleteKeys - Delete map keys from collection * @method updateMulti - Update multi key of some collection with value and type * @method resetToDefault - Reset collection to default queries * @method clear - clear all collection value * @method unsubscribe - Unsubscribe listener from collection * @method convertQueriesToObject - convert queries to object * @method setOperator - set query operator * @method forceEmitChanges - force emitter for all listener *********************************************************************************/ actions: { update: (key: string, value: string, type?: QueryCollectionTypeEnum, extraData?: any, force?: boolean) => void; delete: (key: string) => void; deleteKeys: (keys: string[]) => void; updateMulti: (obj: Record, type?: QueryCollectionTypeEnum, extraData?: any) => void; resetToDefault: () => void; clearAll: (excludeKeys?: string[]) => void; unsubscribe: () => void; convertQueriesToObject: () => any; setOperator: (queryKey: string, operator: FilterItemOperator) => void; forceEmitChanges: () => void; emptyCollection: () => void; forceDelete: (key: string) => void; }; constructor(collectionId: string, allCollections: Map); emit?(collectionId: string, keys: string[], previousQueries: any, action: string, triggerListeners?: boolean): void; /******************************************************************************* * @description add / update collection with key & value. * if query exist it will update according to proxy validation. * * @param collectionId - collection id * @param queryKey - key name * @param queryValue - key value * @param queryType - QueryCollectionTypeEnum (default is DEFAULT) * @param extraData - query extra data (displayValue, displayTitle, key, operator) * @param triggerListeners - should trigger listener on change * 1) true - will trigger * 2) false - not trigger * 3) none - trigger if there are some changes ******************************************************************************/ set?(collectionId: string, queryKey: string, queryValue: string, queryType: QueryCollectionTypeEnum, extraData: any, triggerListeners: boolean): void; updateMulti?(collectionId: string, keyValueObjectParam: { [key: string]: any; }, queryCollectionType: QueryCollectionTypeEnum, extraData: ExtraQueryData): void; setNegativeSingleQuery(collectionId: string, navigateKey: any, navigateWithoutSuffixKey: string, keyValueObjectParam: any): void; /************************************************** * @description Clear all not permanent queries * @param collectionId - collection id * @param excludeKeys - exclude remove keys from queries *************************************************/ clearAll?(collectionId: string, excludeKeys?: string[]): void; /*********************************************************************** * @description delete collection key - not all keys can deleted. * delete is manage by query validation. * query with type PERMANENT can't deleted * * @param collectionId - collection id * @param deleteKey - delete key value * @param triggerListeners - should trigger listener on change * 1) true - will trigger * 2) false - not trigger * 3) none - trigger if there are some changes **********************************************************************/ delete?(collectionId: string, deleteKey: string, triggerListeners?: boolean): void; forceDelete?(collectionId: string, deleteKey: string, triggerListeners?: boolean): void; deleteKeys?(collectionId: string, deleteKeys: string[], triggerListeners?: boolean): void; resetToDefault?(collectionId: string): void; /********************************************************************************* * @description change the query operator status. * there are two type of operators: * 1) NOT_EQUALS * 2) EQUALS * if the operator is EQUALS than the key will send to the BE as is * otherwise the key will concat with Nin * * @param collectionId - collection id * @param queryKey - exist query key * @param operator - new operator **********************************************************************************/ setOperator?(collectionId: string, queryKey: string, operator: FilterItemOperator): void; /******************************************************************** * @description Unsubscribe listener from collection. * If number of listener is 0 then delete collection * @param collectionId - collection id **********************************************************************/ unsubscribe?(): void; /************************************************************************************ * @description Get queries from current collection (with collection id) * @param collectionId - current widget collection id * @param ignoreQueryTypes - ignore some query types when convert the map to object *************************************************************************************/ convertQueriesToObject?(collectionId: string, ignoreQueryTypes?: QueryCollectionTypeEnum[]): Record; /************************************************************************* * @description - calculate BE query key name according to query operator * @param queryKey - current query key name * @param queryCollectionModel - full query information - *************************************************************************/ calculateKeyName?(queryKey: string, queryCollectionModel: QueryCollectionModel): string; /******************************************************* * @description - force listener event query changed *********************************************************/ forceEmitChanges?(collectionId: string): void; emptyCollection?(collectionId: string): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } //# sourceMappingURL=query-collection-actions.d.ts.map