coveo-search-ui
Version:
Coveo JavaScript Search Framework
49 lines (37 loc) • 1.58 kB
text/typescript
import { Dom } from '../../utils/Dom';
import { ResponsiveDropdownContent } from './ResponsiveDropdown/ResponsiveDropdownContent';
export class ResponsiveComponentsUtils {
private static smallTabsClassName: string = 'coveo-small-tabs';
private static smallFacetClassName: string = 'coveo-small-facets';
private static smallRecommendationClassName: string = 'coveo-small-recommendation';
static shouldDrawFacetSlider(root: Dom, facetSliderElement: Dom): boolean {
return ResponsiveDropdownContent.isTargetInsideOpenedDropdown(facetSliderElement) || !this.isSmallFacetActivated(root);
}
static isSmallTabsActivated(root: Dom): boolean {
return root.hasClass(this.smallTabsClassName);
}
static isSmallFacetActivated(root: Dom): boolean {
return root.hasClass(this.smallFacetClassName);
}
static isSmallRecommendationActivated(root: Dom): boolean {
return root.hasClass(this.smallRecommendationClassName);
}
static activateSmallTabs(root: Dom): void {
root.addClass(this.smallTabsClassName);
}
static deactivateSmallTabs(root: Dom): void {
root.removeClass(this.smallTabsClassName);
}
static activateSmallFacet(root: Dom): void {
root.addClass(this.smallFacetClassName);
}
static deactivateSmallFacet(root: Dom): void {
root.removeClass(this.smallFacetClassName);
}
static activateSmallRecommendation(root: Dom): void {
root.addClass(this.smallRecommendationClassName);
}
static deactivateSmallRecommendation(root: Dom): void {
root.removeClass(this.smallRecommendationClassName);
}
}