@unicef-polymer/etools-unicef
Version:
eTools UNICEF library of reusable components
73 lines (72 loc) • 3.02 kB
TypeScript
import { LitElement } from 'lit';
import '../etools-icons/etools-icon';
import '@shoelace-style/shoelace/dist/components/switch/switch.js';
import '../etools-button/etools-button';
import '@shoelace-style/shoelace/dist/components/dropdown/dropdown.js';
import '../etools-dropdown/etools-dropdown-multi';
import '../etools-dropdown/etools-dropdown';
import '../etools-input/etools-input';
import '../etools-date-time/datepicker-lite.js';
import '../etools-loading/etools-loading';
import { Callback } from '@unicef-polymer/etools-types';
import { SlSelectEvent } from '@shoelace-style/shoelace/dist/events/sl-select';
export declare enum EtoolsFilterTypes {
Search = 0,
Dropdown = 1,
DropdownMulti = 2,
Toggle = 3,
Date = 4
}
export interface EtoolsFilter {
filterName: string | Callback;
translationKey?: string;
filterKey: string;
type: EtoolsFilterTypes;
selected: boolean;
selectedValue: any;
disabled?: boolean;
selectionOptions?: any[];
minWidth?: string;
hideSearch?: boolean;
optionValue?: string;
optionLabel?: string;
loadDataDropdownOptions?: (search: string, page: number, shownOptionsLimit: number) => void;
}
export declare class EtoolsFilters extends LitElement {
filters: EtoolsFilter[];
/** Set this to true if the Loading... overlay should be displayed over the page,
* not just over the etools-filter component */
filterLoadingAbsolute: boolean;
textClearAll: string;
textFilters: string;
language: string;
lastSelectedValues: any;
constructor();
handleLanguageChange(e: CustomEvent): void;
static get styles(): import("lit").CSSResult[];
getSearchTmpl(f: EtoolsFilter): import("lit-html").TemplateResult<1>;
getDropdownTmpl(f: EtoolsFilter): import("lit-html").TemplateResult<1>;
getDropdownMultiTmpl(f: EtoolsFilter): import("lit-html").TemplateResult<1>;
getDateTmpl(f: EtoolsFilter): import("lit-html").TemplateResult<1>;
getToggleTmpl(f: EtoolsFilter): import("lit-html").TemplateResult<1>;
selectedFiltersTmpl(filters: EtoolsFilter[]): any[] | import("lit-html").TemplateResult<1>;
filterMenuOptions(filters: EtoolsFilter[]): any[];
connectedCallback(): void;
disconnectedCallback(): void;
render(): import("lit-html").TemplateResult<1>;
setDefaultLastSelectedValues(): void;
clearAllFilters(): void;
selectFilter(e: SlSelectEvent): void;
getFilterEmptyValue(filterType: EtoolsFilterTypes): false | "" | never[] | null;
getFilterOption(filterElement: HTMLElement): EtoolsFilter;
textInputChange(e: CustomEvent): void;
filterSelectionChange(e: CustomEvent): void;
filterMultiSelectionChange(e: CustomEvent): void;
afterFilterChange(): void;
filterDateChange(e: CustomEvent): void;
filterToggleChange(e: CustomEvent): void;
updateFilters(filterValues: any): void;
fireFiltersChangeEvent(): void;
getAllFiltersAndTheirValues(): any;
getSelectedFiltersAndTheirValues(): any;
}