import { DatePipe } from '@angular/common'; import { EventEmitter, OnChanges, OnInit, SimpleChanges } from '@angular/core'; import { MatChip } from '@angular/material/chips'; import { TranslateService } from '@ngx-translate/core'; import { Subscription } from 'rxjs'; import { ID } from '../core'; import { SCDropzoneEvent } from '../sc-dropzone'; import { ChangedTagsEvent } from '../sc-image-card/sc-image-card.component'; import { SCImageComparisonService } from '../sc-image-comparison/services/sc-image-comparison.service'; import { SCImagePopupService } from '../sc-image-viewer/sc-image-popup.service'; import { SCImage, SCImageTag, SCImageViewerAction, SCImageViewerActionButton } from '../sc-image-viewer/sc-image-viewer.component'; import { SCCustomInputsDialogService } from './../sc-custom-inputs-dialog/service/sc-custom-inputs-dialog.service'; import { SCImageGalleryService } from './services/sc-image-gallery.service'; import * as i0 from "@angular/core"; export interface SCImageGalleryConfig { urlDownloadSingleImage?: any; urlDeleteImage?: string; urlLoadImages?: string; urlLoadTags?: string; urlSaveImageTags?: string; urlSaveImageDescription?: string; urlDownloadImages?: string; urlUploadFiles?: string; availbaleDownloadSizes?: SCImageGalleryImagesDownloadSize[]; tagIdPlaceholder?: string; imageIdPlacedholder?: string; urlToggleFavourite?: string; paginationConfig?: SCImagerGalleryPagination; } export interface SCImagerGalleryPagination { page: number; per_page: number; total_count: number; } export interface SCImageGalleryImagesDownloadSize { name: string; id: number; } export interface SCImageGalleryGroupBy { label: string; index: string; compareBy?: string; orientation?: 'asc' | 'desc'; } export interface SCImageGroup { index: string; label: string; images: SCImage[]; collapsed?: boolean; } export declare class SCImageGalleryComponent implements OnInit, OnChanges { galleryService: SCImageGalleryService; private scCustomInputsDialogService; private translate; private datePipe; private popupService; private comparisonService; private _images; set images(value: SCImage[]); get images(): SCImage[]; groupBys: SCImageGalleryGroupBy[]; groupBy: SCImageGalleryGroupBy; actions: SCImageViewerActionButton[]; config: SCImageGalleryConfig; uploadImage: boolean; private _tags; set tags(value: SCImageTag[]); get tags(): SCImageTag[]; height: '--h-auto' | '--h-ng-symbl-docs' | '--h-100' | '' | string; padding: { p3?: boolean; p4?: boolean; pl3?: boolean; pr3?: boolean; pl4?: boolean; pr4?: boolean; }; tagsDisplay: boolean; disableEditDescription: boolean; quickActionBtn: boolean; displayDate: boolean; onlyNoneEmptyTags: boolean; defaultCollapsedGroups: boolean; separateFavoriteGroups: boolean; disableMultiselect: boolean; disableDropZone: boolean; showDownloadSizeDialog: boolean; quickActionIndex: string; maxFavorite: number; /** * Date Formate Using DatePipe (for cards) */ dateFormat: string; /** * Date Formate Using DatePipe (for Groups) * */ groupsDateFormat: string; lazyLoading: boolean; sizePerPage: number; page: number; scrollEnds: EventEmitter; loadMoreImages: EventEmitter; actionClicked: EventEmitter; desctiptionChanged: EventEmitter; filesDropped: EventEmitter; tagsChanged: EventEmitter; tagsFilterChanged: EventEmitter; selectionChanged: EventEmitter; selectionModeChanged: EventEmitter; tagExpanded: boolean; loading: boolean; allLoaded: boolean; _selectionMode: boolean; subscribeToloadData: Subscription; set selectionMode(v: boolean); get selectionMode(): boolean; selectedElements: SCImage[]; get selectedImages(): SCImage[]; renderdImages: SCImage[]; renderdImageGroups: SCImageGroup[]; renderedTags: SCImageTag[]; onKeydownHandler(event: KeyboardEvent): void; constructor(galleryService: SCImageGalleryService, scCustomInputsDialogService: SCCustomInputsDialogService, translate: TranslateService, datePipe: DatePipe, popupService: SCImagePopupService, comparisonService: SCImageComparisonService); ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; loadImages(): void; loadTags(autoLoadImages?: boolean, search?: string): void; getGalleryClasses(): { [x: string]: boolean; '--no-tags': boolean; '--p-3': boolean; '--p-4': boolean; '--pl-3': boolean; '--pr-3': boolean; '--pl-4': boolean; '--pr-4': boolean; }; getTags(hasImages?: boolean): void; getImages(renderGroups?: boolean): void; renderActionButtons(): void; /** * Group By */ groupRenderedImages(): void; getGroups(images: SCImage[], groups?: SCImageGroup[], defaultOpened?: boolean): SCImageGroup[]; /** * Get Values for GroupBy * @param image * @param groupBy */ getValueForGroup(image: SCImage, groupBy: SCImageGalleryGroupBy): string | number; handleActionClicked(event: SCImageViewerAction): void; handleTagClicked(event: any, chip: MatChip, tag: SCImageTag): void; handleDesctiptionChanged(event: SCImage): void; handleTagsChanged(event: ChangedTagsEvent): void; private _downloadImage; /** * For downloading All pictures */ downloadImages(): void; /** * For downloading Selected pictures */ downloadSelectImages(): void; deleteSelectedImages(): void; handleFilesDropped(event: SCDropzoneEvent): void; deleteImage(id: ID): void; toggleSelectionMode(event?: MouseEvent, image?: SCImage): void; exitSelectionMode(): void; isSelected(image: SCImage): boolean; findIndex(image: SCImage): number; toggleSelection(image: SCImage): void; scrolltoEnd(event?: Event): void; loadMore(): void; groupBychanged(event: string): void; trackCardsByFn(index: number, group: SCImageGroup): string; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }