{"version":3,"file":"lightbox.js","sourceRoot":"","sources":["lightbox.ts"],"names":[],"mappings":"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","sourcesContent":["import {NgModule,Component,ElementRef,Input,Output,Renderer,AfterViewInit,OnDestroy} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {DomHandler} from '../dom/domhandler';\n\n@Component({\n selector: 'p-lightbox',\n template: `\n
\n \n \n \n
\n \n \n \n
\n
\n \n
\n \n \n
\n \n
\n
\n {{captionText}}\n
\n
\n
\n `,\n providers: [DomHandler]\n})\nexport class Lightbox implements AfterViewInit,OnDestroy{ \n\n @Input() images: any[];\n \n @Input() type: string = 'image';\n\n @Input() style: any;\n \n @Input() styleClass: string;\n \n @Input() easing: 'ease-out';\n \n @Input() effectDuration: any = '500ms';\n \n public visible: boolean;\n \n public loading: boolean;\n \n public currentImage: any;\n \n public captionText: string;\n \n public zindex: any;\n \n public panel: any;\n \n public index: number;\n \n public mask: any;\n \n public preventDocumentClickListener: boolean;\n \n public documentClickListener: any;\n\n constructor(public el: ElementRef, public domHandler: DomHandler, public renderer: Renderer) {}\n \n onImageClick(event,image,i,content) {\n this.index = i;\n this.loading = true;\n content.style.width = 32 + 'px';\n content.style.height = 32 + 'px';\n this.show();\n this.displayImage(image);\n \n this.preventDocumentClickListener = true;\n event.preventDefault();\n }\n \n ngAfterViewInit() {\n this.panel = this.domHandler.findSingle(this.el.nativeElement, '.ui-lightbox ');\n \n this.documentClickListener = this.renderer.listenGlobal('body', 'click', (event) => {\n if(!this.preventDocumentClickListener&&this.visible) {\n this.hide(event);\n }\n this.preventDocumentClickListener = false;\n });\n }\n \n onLinkClick(event,content) {\n this.show();\n this.preventDocumentClickListener = true;\n event.preventDefault();\n }\n \n displayImage(image) {\n setTimeout(() => {\n this.currentImage = image;\n this.captionText = image.title;\n }, 1000);\n }\n \n show() {\n this.mask = document.createElement('div');\n this.mask.style.zIndex = ++DomHandler.zindex;\n this.domHandler.addMultipleClasses(this.mask, 'ui-widget-overlay ui-dialog-mask');\n document.body.appendChild(this.mask);\n \n this.zindex = ++DomHandler.zindex;\n this.center();\n this.visible = true;\n }\n \n hide(event) {\n this.captionText = null;\n this.index = null;\n this.currentImage = null;\n this.visible = false;\n this.panel.style.left = 'auto';\n this.panel.style.top = 'auto';\n \n if(this.mask) {\n document.body.removeChild(this.mask);\n this.mask = null;\n }\n \n event.preventDefault();\n }\n \n center() {\n let elementWidth = this.domHandler.getOuterWidth(this.panel);\n let elementHeight = this.domHandler.getOuterHeight(this.panel);\n if(elementWidth == 0 && elementHeight == 0) {\n this.panel.style.visibility = 'hidden';\n this.panel.style.display = 'block';\n elementWidth = this.domHandler.getOuterWidth(this.panel);\n elementHeight = this.domHandler.getOuterHeight(this.panel);\n this.panel.style.display = 'none';\n this.panel.style.visibility = 'visible';\n }\n let viewport = this.domHandler.getViewport();\n let x = (viewport.width - elementWidth) / 2;\n let y = (viewport.height - elementHeight) / 2;\n\n this.panel.style.left = x + 'px';\n this.panel.style.top = y + 'px';\n }\n \n onImageLoad(event,content) {\n let image = event.target;\n image.style.visibility = 'hidden';\n image.style.display = 'block';\n let imageWidth = this.domHandler.getOuterWidth(image);\n let imageHeight = this.domHandler.getOuterHeight(image);\n image.style.display = 'none';\n image.style.visibility = 'visible';\n\n content.style.width = imageWidth + 'px';\n content.style.height = imageHeight + 'px';\n this.panel.style.left = parseInt(this.panel.style.left) + (this.domHandler.getOuterWidth(this.panel) - imageWidth) / 2 + 'px';\n this.panel.style.top = parseInt(this.panel.style.top) + (this.domHandler.getOuterHeight(this.panel) - imageHeight) / 2 + 'px';\n\n setTimeout(() => {\n this.domHandler.fadeIn(image, 500);\n image.style.display = 'block';\n //this.captionText = this.currentImage.title;\n this.loading = false;\n }, parseInt(this.effectDuration));\n }\n \n prev(placeholder: any) {\n this.captionText = null;\n this.loading = true;\n placeholder.style.display = 'none';\n if(this.index > 0) {\n this.displayImage(this.images[--this.index]);\n }\n }\n \n next(placeholder: any) {\n this.captionText = null;\n this.loading = true;\n placeholder.style.display = 'none';\n if(this.index <= (this.images.length - 1)) {\n this.displayImage(this.images[++this.index]);\n }\n }\n \n get leftVisible():boolean {\n return this.images && this.images.length && this.index != 0 && !this.loading; \n }\n \n get rightVisible():boolean {\n return this.images && this.images.length && this.index < (this.images.length - 1) && !this.loading; \n }\n \n ngOnDestroy() {\n this.documentClickListener();\n }\n \n}\n\n@NgModule({\n imports: [CommonModule],\n exports: [Lightbox],\n declarations: [Lightbox]\n})\nexport class LightboxModule { }\n"]}