coveo-search-ui
Version:
Coveo JavaScript Search Framework
109 lines (96 loc) • 3.94 kB
text/typescript
import { IResponsiveComponentOptions } from '../ResponsiveComponents/ResponsiveComponentsManager';
import { IFieldOption } from '../Base/IComponentOptions';
import { IStringMap } from '../../rest/GenericParam';
import { Component } from '../Base/Component';
import { IAutoLayoutAdjustableInsideFacetColumn } from '../SearchInterface/FacetColumnAutoLayoutAdjustment';
import { DependsOnManager, IDependsOnCompatibleFacetOptions } from '../../utils/DependsOnManager';
import { DynamicFacetHeader } from '../DynamicFacet/DynamicFacetHeader/DynamicFacetHeader';
import { DynamicHierarchicalFacetQueryController } from '../../controllers/DynamicHierarchicalFacetQueryController';
import { FacetType } from '../../rest/Facet/FacetRequest';
import { IAnalyticsActionCause } from '../Analytics/AnalyticsActionListMeta';
import { IFacetResponse } from '../../rest/Facet/FacetResponse';
import { FacetValueState } from '../../rest/Facet/FacetValueState';
import { IDynamicManagerCompatibleFacet } from '../DynamicFacetManager/DynamicFacetManager';
export type HierarchicalFacetSortCriteria = 'alphanumeric' | 'occurrences';
export interface IDynamicHierarchicalFacetOptions extends IResponsiveComponentOptions, IDependsOnCompatibleFacetOptions {
field: IFieldOption;
title?: string;
enableCollapse?: boolean;
collapsedByDefault?: boolean;
enableScrollToTop?: boolean;
numberOfValues?: number;
sortCriteria?: HierarchicalFacetSortCriteria;
customSort?: string;
customSortDelimitingCharacter?: string;
injectionDepth?: number;
enableMoreLess?: boolean;
enableFacetSearch?: boolean;
delimitingCharacter?: string;
valueCaption?: IStringMap<string>;
includeInBreadcrumb?: boolean;
filterFacetCount?: boolean;
clearLabel?: string;
basePath?: string[];
headingLevel?: number;
}
export interface IDynamicHierarchicalFacet extends Component, IDynamicManagerCompatibleFacet, IAutoLayoutAdjustableInsideFacetColumn {
header: DynamicFacetHeader;
options: IDynamicHierarchicalFacetOptions;
dependsOnManager: DependsOnManager;
dynamicHierarchicalFacetQueryController: DynamicHierarchicalFacetQueryController;
isCollapsed: boolean;
values: IDynamicHierarchicalFacetValues;
moreValuesAvailable: boolean;
position: number;
fieldName: string;
facetType: FacetType;
isCurrentlyDisplayed(): boolean;
scrollToTop(): void;
triggerNewQuery(beforeExecuteQuery?: () => void): void;
triggerNewIsolatedQuery(beforeExecuteQuery?: () => void): void;
showMoreValues(additionalNumberOfValues?: number): void;
showLessValues(): void;
selectPath(path: string[]): void;
reset(): void;
toggleCollapse(): void;
getCaption(value: string): string;
logAnalyticsEvent(eventName: IAnalyticsActionCause): void;
enableFreezeFacetOrderFlag(): void;
enablePreventAutoSelectionFlag(): void;
}
export interface IDynamicHierarchicalFacetSearchValueProperties {
fullPath: string[];
displayValue: string;
numberOfResults: number;
}
export interface IDynamicHierarchicalFacetValueProperties {
value: string;
path: string[];
displayValue: string;
state: FacetValueState;
numberOfResults: number;
moreValuesAvailable: boolean;
children: IDynamicHierarchicalFacetValue[];
isLeafValue: boolean;
}
export interface IDynamicHierarchicalFacetValue extends IDynamicHierarchicalFacetValueProperties {
retrieveCount: number;
isIdle: boolean;
isSelected: boolean;
selectAriaLabel: string;
formattedCount: string;
select(): void;
render(fragement: DocumentFragment): HTMLElement;
logSelectActionToAnalytics(): void;
}
export interface IDynamicHierarchicalFacetValues {
resetValues(): void;
clearPath(): void;
createFromResponse(response: IFacetResponse): void;
reorderValues(order: string[][]): void;
selectPath(path: string[]): void;
render(): HTMLElement;
hasSelectedValue: boolean;
selectedPath: string[];
allFacetValues: IDynamicHierarchicalFacetValue[];
}