// Generated by dts-bundle v0.7.3 import './styles/themes/natural.css'; import './styles/natural-gallery.scss'; export interface IGalleryOptions { rowHeight: number; format: string; round: number; imagesPerRow?: number; margin: number; limit: number; showLabels: string; lightbox: boolean; minRowsAtStart: number; showCount: boolean; searchFilter: boolean; categoriesFilter: boolean; showNone: boolean; showOthers: boolean; labelCategories: string; labelNone: string; labelOthers: string; labelSearch: string; labelImages: string; selectable: boolean; zoomRotation: boolean; infiniteScrollOffset: number; } export class Gallery { /** * This ratio is the supposed average ratio for the first pagination estimation * When gallery is created without images, this ratio is used to estimate number of images per page */ defaultImageRatio: number; /** * Initiate gallery * @param rootElement * @param pswp * @param scrollElement * @param data */ constructor(rootElement: HTMLElement, pswp: HTMLElement, data: any, scrollElement?: HTMLElement); render(): void; /** * Initialize items * @param items */ addItems(items: any): void; style(): void; /** * Add a number of rows to DOM container, and to Photoswipe gallery. * If rows are not given, is uses backoffice data or compute according to browser size * @param gallery target * @param rows */ addElements(rows?: number): void; /** * Check if we need to resize a gallery (only if parent container width changes) * The keep full rows, it recomputes sizes with new dimension, and reset everything, then add the same number of row. * It results in not partial row. */ resize(): void; refresh(): void; /** * Empty DOM container and PhotoSwipe container */ reset(): void; select(item: Item): void; unselect(item: Item): void; unselectAll(): void; readonly events: any; id: string; pswpContainer: any[]; collection: Item[]; getOriginalCollection(): Item[]; bodyWidth: number; bodyElement: HTMLElement; rootElement: HTMLElement; pswpApi: any; pswpElement: HTMLElement; options: IGalleryOptions; header: Header; categories: any[]; } export interface IItemFields { id?: number; thumbnail: string; enlarged: string; title: string; description: string; link: string; linkTarget: string; tWidth: number; tHeight: number; eWidth: number; eHeight: number; last: boolean; categories?: any[]; } export class Item { /** * @param fields * @param gallery */ constructor(fields: IItemFields, gallery: Gallery); toggleSelect(): void; /** * Use computed (organized) data to apply style (size and margin) to elements on DOM * Does not apply border-radius because is used to restyle data on browser resize, and border-radius don't change. * @param element * @param gallery */ style(): void; flash(): void; /** * Open photoswipe gallery on click * Add elements to gallery when navigating until last element * @param image * @param gallery */ bindClick(): void; openPhotoSwipe(e: any, el: any): void; getPswpItem(): { src: string; w: number; h: number; title: string; }; getElement(): HTMLElement; /** * This function prepare loaded/loading status and return root element. * @returns {HTMLElement} */ loadElement(): HTMLElement; remove(): void; id: number; thumbnail: string; enlarged: string; title: string; tWidth: number; tHeight: number; eWidth: number; eHeight: number; last: boolean; categories: any[]; row: number; height: number; width: number; description: string; binded: boolean; link: string; linkTarget: string; readonly fields: IItemFields; } export class Header { /** * CONSTRUCTOR * @param gallery */ constructor(gallery: Gallery); addFilter(filter: AbstractFilter): void; refresh(): void; render(): Element; isFiltered(): boolean; /** * Filter first by term, then by categories * @param gallery */ filter(): void; collection: Item[]; element: Element; gallery: Gallery; filters: AbstractFilter[]; } export abstract class AbstractFilter { protected header: Header; /** * If null, means no filter active * If empty, means filter active, but no results * If not empty, means filter active, and there are wanted items * @type {null} * @private */ protected _collection: Item[]; constructor(header: Header); abstract render(): HTMLElement; abstract filter(value?: string): void; isActive(): boolean; collection: Item[]; }