{"version":3,"file":"mat-preview-media.mjs","sources":["../../../projects/mat-preview-media/src/lib/mat-preview-media.component.ts","../../../projects/mat-preview-media/src/lib/mat-preview-media.service.ts","../../../projects/mat-preview-media/src/lib/mat-preview-media.module.ts","../../../projects/mat-preview-media/src/public-api.ts","../../../projects/mat-preview-media/src/mat-preview-media.ts"],"sourcesContent":["import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\r\n\r\n@Component({\r\n  selector: 'mat-preview-media',\r\n  template: `\r\n   <div class=\"flex-col-between-center\">\r\n    <div style=\"width: 600px; height: 600px;\">\r\n      <img *ngIf=\"!isVideo() && !isPDF() && !isDOCX()\" [src]=\"path\">\r\n    </div>\r\n    <video controls [autoplay]=\"false\" [muted]=\"true\" onloadedmetadata=\"this.muted = true\" loop  *ngIf=\"isVideo()\">\r\n        <source [src]=\"path\"  type='video/mp4'>\r\n    </video>\r\n    \r\n    <div class=\"center\">\r\n        <iframe *ngIf=\"isPDF()\" [src]=\"makeTrustURL(path)\"></iframe>\r\n        <iframe *ngIf=\"isDOCX()\" [src]=\"makeTrustURL(convertViewDoc(path))\" frameborder=\"0\"></iframe>\r\n    </div> \r\n</div>\r\n  `,\r\n  styles: [\r\n    `\r\n    img {\r\n      width: 100%;\r\n      height: 100%;\r\n      object-fit: scale-down;\r\n}\r\n    .mat-dialog-container {\r\n      background-color: #3a3d3e !important;\r\n    }\r\n    .flex-col-between-center {\r\n        display: flex;\r\n        flex-direction: column;\r\n        justify-content: space-between;\r\n        align-items: center;\r\n      }\r\n    `\r\n  ]\r\n})\r\nexport class MatPreviewMediaComponent implements OnInit {\r\n  showImage = false;\r\n  safeUrl!: SafeResourceUrl;\r\n  constructor(\r\n    private sanitizer: DomSanitizer,\r\n    @Inject(MAT_DIALOG_DATA) public path?: any\r\n  ) { }\r\n\r\n  ngOnInit(): void {\r\n  }\r\n\r\n  // tslint:disable-next-line:typedef\r\n  isVideo(){\r\n    if (this.path?.includes('.mp4')){\r\n      return true;\r\n    }\r\n    return false;\r\n  }\r\n  // tslint:disable-next-line:typedef\r\n  isPDF(){\r\n    if (this.path?.includes('.pdf')){\r\n      return true;\r\n    }\r\n    return false;\r\n  }\r\n  // tslint:disable-next-line:typedef\r\n  isDOCX(){\r\n    if (this.path?.includes('.docx') || this.path?.includes('.xls') || this.path?.includes('.xlsx')){\r\n      return true;\r\n    }\r\n    return false;\r\n  }\r\n  // tslint:disable-next-line:typedef\r\n  makeTrustURL(url: string) {\r\n    this.safeUrl = this.sanitizer.bypassSecurityTrustResourceUrl(url);\r\n    return this.safeUrl;\r\n  }\r\n  // tslint:disable-next-line:typedef\r\n  convertViewDoc(docUrl: string){\r\n    return `https://view.officeapps.live.com/op/view.aspx?src=${docUrl}`;\r\n  } \r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatPreviewMediaComponent } from './mat-preview-media.component';\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class MatPreviewMediaService {\r\n\r\n  constructor(\r\n    private dialog: MatDialog,\r\n  ) { }\r\n  openPreviewMedia(path: string){\r\n    if (path){\r\n      if (this.checkFileType(path) === 0) {\r\n        this.dialog.open(MatPreviewMediaComponent, {\r\n          data: path,\r\n          maxWidth: ((window.innerWidth) * 80) / 100,\r\n          maxHeight: ((window.innerHeight) * 80) / 100,\r\n        }).afterClosed().subscribe(value => {\r\n        });\r\n      } else if (this.checkFileType(path) === 2){\r\n        window.open(path);\r\n      }\r\n      else {\r\n        window.open(`https://view.officeapps.live.com/op/view.aspx?src=${path}`);\r\n      }\r\n    }\r\n  }\r\n  private checkFileType(url: string) {\r\n    if (url.includes('.docx')) {\r\n      return 1;\r\n    }\r\n    else if (url.includes('.pdf')) {\r\n      return 2;\r\n    }\r\n    else {\r\n      return 0;\r\n    }\r\n  }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { MatPreviewMediaComponent } from './mat-preview-media.component';\r\nimport { MatPreviewMediaService } from './mat-preview-media.service';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n\r\n@NgModule({\r\n  declarations: [\r\n    MatPreviewMediaComponent\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n  ],\r\n  exports: [\r\n    MatPreviewMediaComponent\r\n  ],\r\n  providers: [\r\n    MatPreviewMediaService,\r\n  ]\r\n})\r\nexport class MatPreviewMediaModule { }\r\n","/*\r\n * Public API Surface of mat-preview-media\r\n */\r\n\r\nexport * from './lib/mat-preview-media.service';\r\nexport * from './lib/mat-preview-media.component';\r\nexport * from './lib/mat-preview-media.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}