1 | {"version":3,"file":"primeng-galleria.mjs","sources":["../../src/app/components/galleria/galleria.ts","../../src/app/components/galleria/primeng-galleria.ts"],"sourcesContent":["import {NgModule,Component,ElementRef,OnDestroy,Input,Output,EventEmitter,ChangeDetectionStrategy, ViewChild, ContentChildren, QueryList, TemplateRef, OnInit, OnChanges, AfterContentChecked, SimpleChanges, ViewEncapsulation, ChangeDetectorRef, AfterViewInit} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport { SharedModule, PrimeTemplate, PrimeNGConfig } from 'primeng/api';\nimport { UniqueComponentId, ZIndexUtils } from 'primeng/utils';\nimport { DomHandler } from 'primeng/dom';\nimport { RippleModule } from 'primeng/ripple';\nimport { animate, style, transition, trigger, AnimationEvent } from '@angular/animations';\n\n@Component({\n selector: 'p-galleria',\n template: `\n <div *ngIf=\"fullScreen;else windowed\">\n <div *ngIf=\"maskVisible\" #mask [ngClass]=\"{'p-galleria-mask p-component-overlay p-component-overlay-enter':true, 'p-galleria-visible': this.visible}\" [class]=\"maskClass\">\n <p-galleriaContent *ngIf=\"visible\" [@animation]=\"{value: 'visible', params: {showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions}}\" (@animation.start)=\"onAnimationStart($event)\" (@animation.done)=\"onAnimationEnd($event)\"\n [value]=\"value\" [activeIndex]=\"activeIndex\" [numVisible]=\"numVisible\" (maskHide)=\"onMaskHide()\" (activeItemChange)=\"onActiveItemChange($event)\" [ngStyle]=\"containerStyle\"></p-galleriaContent>\n </div>\n </div>\n\n <ng-template #windowed>\n <p-galleriaContent [value]=\"value\" [activeIndex]=\"activeIndex\" [numVisible]=\"numVisible\" (activeItemChange)=\"onActiveItemChange($event)\"></p-galleriaContent>\n </ng-template>\n `,\n animations: [\n trigger('animation', [\n transition('void => visible', [\n style({ transform: 'scale(0.7)', opacity: 0 }),\n animate('{{showTransitionParams}}')\n ]),\n transition('visible => void', [\n animate('{{hideTransitionParams}}', style({ transform: 'scale(0.7)', opacity: 0 }))\n ])\n ])\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./galleria.css'],\n host: {\n 'class': 'p-element'\n }\n})\nexport class Galleria implements OnChanges, OnDestroy {\n\n @Input() get activeIndex(): number {\n return this._activeIndex;\n };\n\n set activeIndex(activeIndex) {\n this._activeIndex = activeIndex;\n }\n\n @Input() fullScreen: boolean = false;\n\n @Input() id: string;\n\n @Input() value: any[];\n\n @Input() numVisible: number = 3;\n\n @Input() responsiveOptions: any[];\n\n @Input() showItemNavigators: boolean = false;\n\n @Input() showThumbnailNavigators: boolean = true;\n\n @Input() showItemNavigatorsOnHover: boolean = false;\n\n @Input() changeItemOnIndicatorHover: boolean = false;\n\n @Input() circular: boolean = false;\n\n @Input() autoPlay: boolean = false;\n\n @Input() transitionInterval: number = 4000;\n\n @Input() showThumbnails: boolean = true;\n\n @Input() thumbnailsPosition: string = \"bottom\";\n\n @Input() verticalThumbnailViewPortHeight: string = \"300px\";\n\n @Input() showIndicators: boolean = false;\n\n @Input() showIndicatorsOnItem: boolean = false;\n\n @Input() indicatorsPosition: string = \"bottom\";\n\n @Input() baseZIndex: number = 0;\n\n @Input() maskClass: string;\n\n @Input() containerClass: string;\n\n @Input() containerStyle: any;\n\n @Input() showTransitionOptions: string = '150ms cubic-bezier(0, 0, 0.2, 1)';\n\n @Input() hideTransitionOptions: string = '150ms cubic-bezier(0, 0, 0.2, 1)';\n\n @ViewChild('mask') mask: ElementRef;\n\n @Input() get visible(): boolean {\n return this._visible;\n };\n\n set visible(visible: boolean) {\n this._visible = visible;\n\n if (this._visible && !this.maskVisible) {\n this.maskVisible = true;\n }\n }\n\n @Output() activeIndexChange: EventEmitter<any> = new EventEmitter();\n\n @Output() visibleChange: EventEmitter<any> = new EventEmitter();\n\n\t@ContentChildren(PrimeTemplate) templates: QueryList<any>;\n\n _visible: boolean = false;\n\n _activeIndex: number = 0;\n\n headerFacet: any;\n\n footerFacet: any;\n\n indicatorFacet: any;\n\n captionFacet: any;\n\n maskVisible: boolean = false;\n\n constructor(public element: ElementRef, public cd: ChangeDetectorRef, public config: PrimeNGConfig) { }\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch(item.getType()) {\n case 'header':\n this.headerFacet = item.template;\n break;\n case 'footer':\n this.footerFacet = item.template;\n break;\n case 'indicator':\n this.indicatorFacet = item.template;\n break;\n case 'caption':\n this.captionFacet = item.template;\n break;\n }\n });\n }\n\n ngOnChanges(simpleChanges: SimpleChanges) {\n if (simpleChanges.value && simpleChanges.value.currentValue?.length < this.numVisible) {\n this.numVisible = simpleChanges.value.currentValue.length;\n }\n }\n\n onMaskHide() {\n this.visible = false;\n this.visibleChange.emit(false);\n }\n\n onActiveItemChange(index) {\n if (this.activeIndex !== index) {\n this.activeIndex = index;\n this.activeIndexChange.emit(index);\n }\n }\n\n onAnimationStart(event: AnimationEvent) {\n switch(event.toState) {\n case 'visible':\n this.enableModality();\n break;\n\n case 'void':\n DomHandler.addClass(this.mask.nativeElement, 'p-component-overlay-leave');\n break;\n }\n }\n\n onAnimationEnd(event: AnimationEvent) {\n switch(event.toState) {\n case 'void':\n this.disableModality();\n break;\n }\n }\n\n enableModality() {\n DomHandler.addClass(document.body, 'p-overflow-hidden');\n this.cd.markForCheck();\n\n if (this.mask) {\n ZIndexUtils.set('modal', this.mask.nativeElement, this.baseZIndex || this.config.zIndex.modal);\n }\n }\n\n disableModality() {\n DomHandler.removeClass(document.body, 'p-overflow-hidden');\n this.maskVisible = false;\n this.cd.markForCheck();\n\n if (this.mask) {\n ZIndexUtils.clear(this.mask.nativeElement);\n }\n }\n\n ngOnDestroy() {\n if (this.fullScreen) {\n DomHandler.removeClass(document.body, 'p-overflow-hidden');\n }\n\n if (this.mask) {\n this.disableModality()\n }\n }\n}\n\n@Component({\n selector: 'p-galleriaContent',\n template: `\n <div [attr.id]=\"id\" *ngIf=\"value && value.length > 0\" [ngClass]=\"{'p-galleria p-component': true, 'p-galleria-fullscreen': this.galleria.fullScreen,\n 'p-galleria-indicator-onitem': this.galleria.showIndicatorsOnItem, 'p-galleria-item-nav-onhover': this.galleria.showItemNavigatorsOnHover && !this.galleria.fullScreen}\"\n [ngStyle]=\"!galleria.fullScreen ? galleria.containerStyle : {}\" [class]=\"galleriaClass()\">\n <button *ngIf=\"galleria.fullScreen\" type=\"button\" class=\"p-galleria-close p-link\" (click)=\"maskHide.emit()\" pRipple>\n <span class=\"p-galleria-close-icon pi pi-times\"></span>\n </button>\n <div *ngIf=\"galleria.templates && galleria.headerFacet\" class=\"p-galleria-header\">\n <p-galleriaItemSlot type=\"header\" [templates]=\"galleria.templates\"></p-galleriaItemSlot>\n </div>\n <div class=\"p-galleria-content\">\n <p-galleriaItem [value]=\"value\" [activeIndex]=\"activeIndex\" [circular]=\"galleria.circular\" [templates]=\"galleria.templates\" (onActiveIndexChange)=\"onActiveIndexChange($event)\"\n [showIndicators]=\"galleria.showIndicators\" [changeItemOnIndicatorHover]=\"galleria.changeItemOnIndicatorHover\" [indicatorFacet]=\"galleria.indicatorFacet\"\n [captionFacet]=\"galleria.captionFacet\" [showItemNavigators]=\"galleria.showItemNavigators\" [autoPlay]=\"galleria.autoPlay\" [slideShowActive]=\"slideShowActive\"\n (startSlideShow)=\"startSlideShow()\" (stopSlideShow)=\"stopSlideShow()\"></p-galleriaItem>\n\n <p-galleriaThumbnails *ngIf=\"galleria.showThumbnails\" [containerId]=\"id\" [value]=\"value\" (onActiveIndexChange)=\"onActiveIndexChange($event)\" [activeIndex]=\"activeIndex\" [templates]=\"galleria.templates\"\n [numVisible]=\"numVisible\" [responsiveOptions]=\"galleria.responsiveOptions\" [circular]=\"galleria.circular\"\n [isVertical]=\"isVertical()\" [contentHeight]=\"galleria.verticalThumbnailViewPortHeight\" [showThumbnailNavigators]=\"galleria.showThumbnailNavigators\"\n [slideShowActive]=\"slideShowActive\" (stopSlideShow)=\"stopSlideShow()\"></p-galleriaThumbnails>\n </div>\n <div *ngIf=\"galleria.templates && galleria.footerFacet\" class=\"p-galleria-footer\">\n <p-galleriaItemSlot type=\"footer\" [templates]=\"galleria.templates\"></p-galleriaItemSlot>\n </div>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class GalleriaContent {\n\n @Input() get activeIndex(): number {\n return this._activeIndex;\n };\n\n set activeIndex(activeIndex: number) {\n this._activeIndex = activeIndex;\n }\n\n @Input() value: any[] = [];\n\n @Input() numVisible: number;\n\n @Output() maskHide: EventEmitter<any> = new EventEmitter();\n\n @Output() activeItemChange: EventEmitter<any> = new EventEmitter();\n\n id: string = this.galleria.id || UniqueComponentId();\n\n slideShowActicve: boolean = false;\n\n _activeIndex: number = 0;\n\n slideShowActive: boolean = true;\n\n interval: any;\n\n styleClass: string;\n\n constructor(public galleria: Galleria, public cd: ChangeDetectorRef) { }\n\n galleriaClass() {\n const thumbnailsPosClass = this.galleria.showThumbnails && this.getPositionClass('p-galleria-thumbnails', this.galleria.thumbnailsPosition);\n const indicatorPosClass = this.galleria.showIndicators && this.getPositionClass('p-galleria-indicators', this.galleria.indicatorsPosition);\n\n return (this.galleria.containerClass ? this.galleria.containerClass + \" \" : '') + (thumbnailsPosClass ? thumbnailsPosClass + \" \" : '') + (indicatorPosClass ? indicatorPosClass + \" \" : '');\n }\n\n startSlideShow() {\n this.interval = setInterval(() => {\n let activeIndex = (this.galleria.circular && (this.value.length - 1) === this.activeIndex) ? 0 : (this.activeIndex + 1);\n this.onActiveIndexChange(activeIndex);\n this.activeIndex = activeIndex;\n }, this.galleria.transitionInterval);\n\n this.slideShowActive = true;\n }\n\n stopSlideShow() {\n if (this.interval) {\n clearInterval(this.interval);\n }\n\n this.slideShowActive = false;\n }\n\n getPositionClass(preClassName, position) {\n const positions = ['top', 'left', 'bottom', 'right'];\n const pos = positions.find(item => item === position);\n\n return pos ? `${preClassName}-${pos}` : '';\n }\n\n isVertical() {\n return this.galleria.thumbnailsPosition === 'left' || this.galleria.thumbnailsPosition === 'right';\n }\n\n onActiveIndexChange(index) {\n if (this.activeIndex !== index) {\n this.activeIndex = index;\n this.activeItemChange.emit(this.activeIndex);\n }\n }\n}\n\n@Component({\n selector: 'p-galleriaItemSlot',\n template: `\n <ng-container *ngIf=\"contentTemplate\">\n <ng-container *ngTemplateOutlet=\"contentTemplate; context: context\"></ng-container>\n </ng-container>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class GalleriaItemSlot {\n @Input() templates: QueryList<any>;\n\n @Input() index: number;\n\n @Input() get item(): any {\n return this._item;\n };\n\n set item(item:any) {\n this._item = item;\n if (this.templates) {\n this.templates.forEach((item) => {\n if (item.getType() === this.type) {\n switch(this.type) {\n case 'item':\n case 'caption':\n case 'thumbnail':\n this.context = {$implicit: this.item};\n this.contentTemplate = item.template;\n break;\n }\n }\n });\n }\n }\n\n @Input() type: string;\n\n contentTemplate: TemplateRef<any>;\n\n context:any;\n\n _item:any;\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n if (item.getType() === this.type) {\n switch(this.type) {\n case 'item':\n case 'caption':\n case 'thumbnail':\n this.context = {$implicit: this.item};\n this.contentTemplate = item.template;\n break;\n case 'indicator':\n this.context = {$implicit: this.index};\n this.contentTemplate = item.template;\n break;\n default:\n this.context = {};\n this.contentTemplate = item.template;\n break;\n }\n }\n });\n }\n}\n\n@Component({\n selector: 'p-galleriaItem',\n template: `\n <div class=\"p-galleria-item-wrapper\">\n <div class=\"p-galleria-item-container\">\n <button *ngIf=\"showItemNavigators\" type=\"button\" [ngClass]=\"{'p-galleria-item-prev p-galleria-item-nav p-link': true, 'p-disabled': this.isNavBackwardDisabled()}\" (click)=\"navBackward($event)\" [disabled]=\"isNavBackwardDisabled()\" pRipple>\n <span class=\"p-galleria-item-prev-icon pi pi-chevron-left\"></span>\n </button>\n <p-galleriaItemSlot type=\"item\" [item]=\"activeItem\" [templates]=\"templates\" class=\"p-galleria-item\"></p-galleriaItemSlot>\n <button *ngIf=\"showItemNavigators\" type=\"button\" [ngClass]=\"{'p-galleria-item-next p-galleria-item-nav p-link': true,'p-disabled': this.isNavForwardDisabled()}\" (click)=\"navForward($event)\" [disabled]=\"isNavForwardDisabled()\" pRipple>\n <span class=\"p-galleria-item-next-icon pi pi-chevron-right\"></span>\n </button>\n <div class=\"p-galleria-caption\" *ngIf=\"captionFacet\">\n <p-galleriaItemSlot type=\"caption\" [item]=\"activeItem\" [templates]=\"templates\"></p-galleriaItemSlot>\n </div>\n </div>\n <ul *ngIf=\"showIndicators\" class=\"p-galleria-indicators p-reset\">\n <li *ngFor=\"let item of value; let index = index;\" tabindex=\"0\"\n (click)=\"onIndicatorClick(index)\" (mouseenter)=\"onIndicatorMouseEnter(index)\" (keydown.enter)=\"onIndicatorKeyDown(index)\"\n [ngClass]=\"{'p-galleria-indicator': true,'p-highlight': isIndicatorItemActive(index)}\">\n <button type=\"button\" tabIndex=\"-1\" class=\"p-link\" *ngIf=\"!indicatorFacet\">\n </button>\n <p-galleriaItemSlot type=\"indicator\" [index]=\"index\" [templates]=\"templates\"></p-galleriaItemSlot>\n </li>\n </ul>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class GalleriaItem implements OnInit {\n\n @Input() circular: boolean = false;\n\n @Input() value: any[];\n\n @Input() showItemNavigators: boolean = false;\n\n @Input() showIndicators: boolean = true;\n\n @Input() slideShowActive: boolean = true;\n\n @Input() changeItemOnIndicatorHover: boolean = true;\n\n @Input() autoPlay: boolean = false;\n\n @Input() templates: QueryList<any>;\n\n @Input() indicatorFacet: any;\n\n @Input() captionFacet: any;\n\n @Output() startSlideShow: EventEmitter<any> = new EventEmitter();\n\n @Output() stopSlideShow: EventEmitter<any> = new EventEmitter();\n\n @Output() onActiveIndexChange: EventEmitter<any> = new EventEmitter();\n\n @Input() get activeIndex(): number {\n return this._activeIndex;\n };\n\n set activeIndex(activeIndex) {\n this._activeIndex = activeIndex;\n this.activeItem = this.value[this._activeIndex];\n }\n\n _activeIndex: number = 0;\n\n activeItem: any;\n\n ngOnInit() {\n if (this.autoPlay) {\n this.startSlideShow.emit();\n }\n }\n\n next() {\n let nextItemIndex = this.activeIndex + 1;\n let activeIndex = this.circular && this.value.length - 1 === this.activeIndex\n ? 0\n : nextItemIndex;\n this.onActiveIndexChange.emit(activeIndex);\n }\n\n prev() {\n let prevItemIndex = this.activeIndex !== 0 ? this.activeIndex - 1 : 0;\n let activeIndex = this.circular && this.activeIndex === 0\n ? this.value.length - 1\n : prevItemIndex\n this.onActiveIndexChange.emit(activeIndex);\n }\n\n stopTheSlideShow() {\n if (this.slideShowActive && this.stopSlideShow) {\n this.stopSlideShow.emit();\n }\n }\n\n navForward(e) {\n this.stopTheSlideShow();\n this.next();\n\n if (e && e.cancelable) {\n e.preventDefault();\n }\n }\n\n navBackward(e) {\n this.stopTheSlideShow();\n this.prev();\n\n if (e && e.cancelable) {\n e.preventDefault();\n }\n }\n\n onIndicatorClick(index) {\n this.stopTheSlideShow();\n this.onActiveIndexChange.emit(index);\n }\n\n onIndicatorMouseEnter(index) {\n if (this.changeItemOnIndicatorHover) {\n this.stopTheSlideShow();\n this.onActiveIndexChange.emit(index);\n }\n }\n\n onIndicatorKeyDown(index) {\n this.stopTheSlideShow();\n this.onActiveIndexChange.emit(index);\n }\n\n isNavForwardDisabled() {\n return !this.circular && this.activeIndex === (this.value.length - 1);\n }\n\n isNavBackwardDisabled() {\n return !this.circular && this.activeIndex === 0;\n }\n\n isIndicatorItemActive(index) {\n return this.activeIndex === index;\n }\n}\n\n@Component({\n selector: 'p-galleriaThumbnails',\n template: `\n <div class=\"p-galleria-thumbnail-wrapper\">\n <div class=\"p-galleria-thumbnail-container\">\n <button *ngIf=\"showThumbnailNavigators\" type=\"button\" [ngClass]=\"{'p-galleria-thumbnail-prev p-link': true, 'p-disabled': this.isNavBackwardDisabled()}\" (click)=\"navBackward($event)\" [disabled]=\"isNavBackwardDisabled()\" pRipple>\n <span [ngClass]=\"{'p-galleria-thumbnail-prev-icon pi': true, 'pi-chevron-left': !this.isVertical, 'pi-chevron-up': this.isVertical}\"></span>\n </button>\n <div class=\"p-galleria-thumbnail-items-container\" [ngStyle]=\"{'height': isVertical ? contentHeight : ''}\">\n <div #itemsContainer class=\"p-galleria-thumbnail-items\" (transitionend)=\"onTransitionEnd()\"\n (touchstart)=\"onTouchStart($event)\" (touchmove)=\"onTouchMove($event)\" (touchend)=\"onTouchEnd($event)\">\n <div *ngFor=\"let item of value; let index = index;\" [ngClass]=\"{'p-galleria-thumbnail-item': true, 'p-galleria-thumbnail-item-current': activeIndex === index, 'p-galleria-thumbnail-item-active': isItemActive(index),\n 'p-galleria-thumbnail-item-start': firstItemAciveIndex() === index, 'p-galleria-thumbnail-item-end': lastItemActiveIndex() === index }\">\n <div class=\"p-galleria-thumbnail-item-content\" [attr.tabindex]=\"getTabIndex(index)\" (click)=\"onItemClick(index)\" (keydown.enter)=\"onItemClick(index)\">\n <p-galleriaItemSlot type=\"thumbnail\" [item]=\"item\" [templates]=\"templates\"></p-galleriaItemSlot>\n </div>\n </div>\n </div>\n </div>\n <button *ngIf=\"showThumbnailNavigators\" type=\"button\" [ngClass]=\"{'p-galleria-thumbnail-next p-link': true, 'p-disabled': this.isNavForwardDisabled()}\" (click)=\"navForward($event)\" [disabled]=\"isNavForwardDisabled()\" pRipple>\n <span [ngClass]=\"{'p-galleria-thumbnail-next-icon pi': true, 'pi-chevron-right': !this.isVertical, 'pi-chevron-down': this.isVertical}\"></span>\n </button>\n </div>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class GalleriaThumbnails implements OnInit, AfterContentChecked, AfterViewInit, OnDestroy {\n\n @Input() containerId: string;\n\n @Input() value: any[];\n\n @Input() isVertical: boolean = false;\n\n @Input() slideShowActive: boolean = false;\n\n @Input() circular: boolean = false;\n\n @Input() responsiveOptions: any[];\n\n @Input() contentHeight: string = \"300px\";\n\n @Input() showThumbnailNavigators = true;\n\n @Input() templates: QueryList<any>;\n\n @Output() onActiveIndexChange: EventEmitter<any> = new EventEmitter();\n\n @Output() stopSlideShow: EventEmitter<any> = new EventEmitter();\n\n @ViewChild('itemsContainer') itemsContainer: ElementRef;\n\n @Input() get numVisible(): number {\n return this._numVisible;\n };\n\n set numVisible(numVisible) {\n this._numVisible = numVisible;\n this._oldNumVisible = this.d_numVisible;\n this.d_numVisible = numVisible;\n }\n\n @Input() get activeIndex(): number {\n return this._activeIndex;\n };\n\n set activeIndex(activeIndex) {\n this._oldactiveIndex = this._activeIndex;\n this._activeIndex = activeIndex;\n }\n\n index: number;\n\n startPos = null;\n\n thumbnailsStyle = null;\n\n sortedResponsiveOptions = null;\n\n totalShiftedItems: number = 0;\n\n page: number = 0;\n\n documentResizeListener: any;\n\n _numVisible:number = 0;\n\n d_numVisible: number = 0;\n\n _oldNumVisible: number = 0;\n\n _activeIndex: number = 0;\n\n _oldactiveIndex: number = 0;\n\n constructor(private cd: ChangeDetectorRef) { }\n\n ngOnInit() {\n this.createStyle();\n\n\t\tif (this.responsiveOptions) {\n\t\t\tthis.bindDocumentListeners();\n\t\t}\n }\n\n ngAfterContentChecked() {\n let totalShiftedItems = this.totalShiftedItems;\n\n if ((this._oldNumVisible !== this.d_numVisible || this._oldactiveIndex !== this._activeIndex) && this.itemsContainer) {\n if (this._activeIndex <= this.getMedianItemIndex()) {\n totalShiftedItems = 0;\n }\n else if (this.value.length - this.d_numVisible + this.getMedianItemIndex() < this._activeIndex) {\n totalShiftedItems = this.d_numVisible - this.value.length;\n }\n else if (this.value.length - this.d_numVisible < this._activeIndex && this.d_numVisible % 2 === 0) {\n totalShiftedItems = (this._activeIndex * -1) + this.getMedianItemIndex() + 1;\n }\n else {\n totalShiftedItems = (this._activeIndex * -1) + this.getMedianItemIndex();\n }\n\n if (totalShiftedItems !== this.totalShiftedItems) {\n this.totalShiftedItems = totalShiftedItems;\n }\n\n if (this.itemsContainer && this.itemsContainer.nativeElement) {\n this.itemsContainer.nativeElement.style.transform = this.isVertical ? `translate3d(0, ${totalShiftedItems * (100/ this.d_numVisible)}%, 0)` : `translate3d(${totalShiftedItems * (100/ this.d_numVisible)}%, 0, 0)`;\n }\n\n if (this._oldactiveIndex !== this._activeIndex) {\n DomHandler.removeClass(this.itemsContainer.nativeElement, 'p-items-hidden');\n this.itemsContainer.nativeElement.style.transition = 'transform 500ms ease 0s';\n }\n\n this._oldactiveIndex = this._activeIndex;\n this._oldNumVisible = this.d_numVisible;\n }\n }\n\n ngAfterViewInit() {\n\t\tthis.calculatePosition();\n }\n\n createStyle() {\n if (!this.thumbnailsStyle) {\n this.thumbnailsStyle = document.createElement('style');\n this.thumbnailsStyle.type = 'text/css';\n document.body.appendChild(this.thumbnailsStyle);\n }\n\n let innerHTML = `\n #${this.containerId} .p-galleria-thumbnail-item {\n flex: 1 0 ${ (100/ this.d_numVisible) }%\n }\n `;\n\n if (this.responsiveOptions) {\n this.sortedResponsiveOptions = [...this.responsiveOptions];\n this.sortedResponsiveOptions.sort((data1, data2) => {\n const value1 = data1.breakpoint;\n const value2 = data2.breakpoint;\n let result = null;\n\n if (value1 == null && value2 != null)\n result = -1;\n else if (value1 != null && value2 == null)\n result = 1;\n else if (value1 == null && value2 == null)\n result = 0;\n else if (typeof value1 === 'string' && typeof value2 === 'string')\n result = value1.localeCompare(value2, undefined, { numeric: true });\n else\n result = (value1 < value2) ? -1 : (value1 > value2) ? 1 : 0;\n\n return -1 * result;\n });\n\n for (let i = 0; i < this.sortedResponsiveOptions.length; i++) {\n let res = this.sortedResponsiveOptions[i];\n\n innerHTML += `\n @media screen and (max-width: ${res.breakpoint}) {\n #${this.containerId} .p-galleria-thumbnail-item {\n flex: 1 0 ${ (100/ res.numVisible) }%\n }\n }\n `\n }\n }\n\n this.thumbnailsStyle.innerHTML = innerHTML;\n }\n\n calculatePosition() {\n if (this.itemsContainer && this.sortedResponsiveOptions) {\n let windowWidth = window.innerWidth;\n let matchedResponsiveData = {\n numVisible: this._numVisible\n };\n\n for (let i = 0; i < this.sortedResponsiveOptions.length; i++) {\n let res = this.sortedResponsiveOptions[i];\n\n if (parseInt(res.breakpoint, 10) >= windowWidth) {\n matchedResponsiveData = res;\n }\n }\n\n if (this.d_numVisible !== matchedResponsiveData.numVisible) {\n this.d_numVisible = matchedResponsiveData.numVisible;\n this.cd.markForCheck();\n }\n }\n }\n\n getTabIndex(index) {\n return this.isItemActive(index) ? 0 : null;\n }\n\n navForward(e) {\n this.stopTheSlideShow();\n\n let nextItemIndex = this._activeIndex + 1;\n if (nextItemIndex + this.totalShiftedItems > this.getMedianItemIndex() && ((-1 * this.totalShiftedItems) < this.getTotalPageNumber() - 1 || this.circular)) {\n this.step(-1);\n }\n\n let activeIndex = this.circular && (this.value.length - 1) === this._activeIndex ? 0 : nextItemIndex;\n this.onActiveIndexChange.emit(activeIndex);\n\n if (e.cancelable) {\n e.preventDefault();\n }\n }\n\n navBackward(e) {\n this.stopTheSlideShow();\n\n let prevItemIndex = this._activeIndex !== 0 ? this._activeIndex - 1 : 0;\n let diff = prevItemIndex + this.totalShiftedItems;\n if ((this.d_numVisible - diff - 1) > this.getMedianItemIndex() && ((-1 * this.totalShiftedItems) !== 0 || this.circular)) {\n this.step(1);\n }\n\n let activeIndex = this.circular && this._activeIndex === 0 ? this.value.length - 1 : prevItemIndex;\n this.onActiveIndexChange.emit(activeIndex);\n\n if (e.cancelable) {\n e.preventDefault();\n }\n }\n\n onItemClick(index) {\n this.stopTheSlideShow();\n\n let selectedItemIndex = index;\n if (selectedItemIndex !== this._activeIndex) {\n const diff = selectedItemIndex + this.totalShiftedItems;\n let dir = 0;\n if (selectedItemIndex < this._activeIndex) {\n dir = (this.d_numVisible - diff - 1) - this.getMedianItemIndex();\n if (dir > 0 && (-1 * this.totalShiftedItems) !== 0) {\n this.step(dir);\n }\n }\n else {\n dir = this.getMedianItemIndex() - diff;\n if (dir < 0 && (-1 * this.totalShiftedItems) < this.getTotalPageNumber() - 1) {\n this.step(dir);\n }\n }\n\n this.activeIndex = selectedItemIndex;\n this.onActiveIndexChange.emit(this.activeIndex);\n }\n }\n\n step(dir) {\n let totalShiftedItems = this.totalShiftedItems + dir;\n\n if (dir < 0 && (-1 * totalShiftedItems) + this.d_numVisible > (this.value.length - 1)) {\n totalShiftedItems = this.d_numVisible - this.value.length;\n }\n else if (dir > 0 && totalShiftedItems > 0) {\n totalShiftedItems = 0;\n }\n\n if (this.circular) {\n if (dir < 0 && this.value.length - 1 === this._activeIndex) {\n totalShiftedItems = 0;\n }\n else if (dir > 0 && this._activeIndex === 0) {\n totalShiftedItems = this.d_numVisible - this.value.length;\n }\n }\n\n if (this.itemsContainer) {\n DomHandler.removeClass(this.itemsContainer.nativeElement, 'p-items-hidden');\n this.itemsContainer.nativeElement.style.transform = this.isVertical ? `translate3d(0, ${totalShiftedItems * (100/ this.d_numVisible)}%, 0)` : `translate3d(${totalShiftedItems * (100/ this.d_numVisible)}%, 0, 0)`;\n this.itemsContainer.nativeElement.style.transition = 'transform 500ms ease 0s';\n }\n\n this.totalShiftedItems = totalShiftedItems;\n }\n\n stopTheSlideShow() {\n if (this.slideShowActive && this.stopSlideShow) {\n this.stopSlideShow.emit();\n }\n }\n\n changePageOnTouch(e, diff) {\n if (diff < 0) { // left\n this.navForward(e);\n }\n else { // right\n this.navBackward(e);\n }\n }\n\n getTotalPageNumber() {\n return this.value.length > this.d_numVisible ? (this.value.length - this.d_numVisible) + 1 : 0;\n }\n\n getMedianItemIndex() {\n let index = Math.floor(this.d_numVisible / 2);\n\n return (this.d_numVisible % 2) ? index : index - 1;\n }\n\n onTransitionEnd() {\n if (this.itemsContainer && this.itemsContainer.nativeElement) {\n DomHandler.addClass(this.itemsContainer.nativeElement, 'p-items-hidden');\n this.itemsContainer.nativeElement.style.transition = '';\n }\n }\n\n onTouchEnd(e) {\n let touchobj = e.changedTouches[0];\n\n if (this.isVertical) {\n this.changePageOnTouch(e, (touchobj.pageY - this.startPos.y));\n }\n else {\n this.changePageOnTouch(e, (touchobj.pageX - this.startPos.x));\n }\n }\n\n onTouchMove(e) {\n if (e.cancelable) {\n e.preventDefault();\n }\n }\n\n onTouchStart(e) {\n let touchobj = e.changedTouches[0];\n\n this.startPos = {\n x: touchobj.pageX,\n y: touchobj.pageY\n };\n }\n\n isNavBackwardDisabled() {\n return (!this.circular && this._activeIndex === 0) || (this.value.length <= this.d_numVisible);\n }\n\n isNavForwardDisabled() {\n return (!this.circular && this._activeIndex === (this.value.length - 1)) || (this.value.length <= this.d_numVisible);\n }\n\n firstItemAciveIndex() {\n return this.totalShiftedItems * -1;\n }\n\n lastItemActiveIndex() {\n return this.firstItemAciveIndex() + this.d_numVisible - 1;\n }\n\n isItemActive(index) {\n return this.firstItemAciveIndex() <= index && this.lastItemActiveIndex() >= index;\n }\n\n bindDocumentListeners() {\n if (!this.documentResizeListener) {\n this.documentResizeListener = () => {\n this.calculatePosition();\n };\n\n window.addEventListener('resize', this.documentResizeListener);\n }\n }\n\n unbindDocumentListeners() {\n if(this.documentResizeListener) {\n window.removeEventListener('resize', this.documentResizeListener);\n this.documentResizeListener = null;\n }\n }\n\n ngOnDestroy() {\n if (this.responsiveOptions) {\n\t\t\tthis.unbindDocumentListeners();\n }\n\n if (this.thumbnailsStyle) {\n this.thumbnailsStyle.parentNode.removeChild(this.thumbnailsStyle);\n }\n }\n}\n\n@NgModule({\n imports: [CommonModule, SharedModule, RippleModule],\n exports: [CommonModule, Galleria, GalleriaContent, GalleriaItemSlot, GalleriaItem, GalleriaThumbnails, SharedModule],\n declarations: [Galleria, GalleriaContent, GalleriaItemSlot, GalleriaItem, GalleriaThumbnails]\n})\nexport class GalleriaModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"} |
---|