import { Location } from "@angular/common" ; import { Component } from "@angular/core" ; import { ActivatedRoute , Router } from "@angular/router" ; import { first } from "rxjs/operators" ; import { ApiService } from "jslib-common/abstractions/api.service" ; import { CipherService } from "jslib-common/abstractions/cipher.service" ; import { CryptoService } from "jslib-common/abstractions/crypto.service" ; import { I18nService } from "jslib-common/abstractions/i18n.service" ; import { LogService } from "jslib-common/abstractions/log.service" ; import { PlatformUtilsService } from "jslib-common/abstractions/platformUtils.service" ; import { UserService } from "jslib-common/abstractions/user.service" ; import { AttachmentsComponent as BaseAttachmentsComponent } from "jslib-angular/components/attachments.component" ; @ Component ( { selector : "app-vault-attachments" , templateUrl : "attachments.component.html" , } ) export class AttachmentsComponent extends BaseAttachmentsComponent { openedAttachmentsInPopup : boolean ; constructor ( cipherService , i18nService , cryptoService , userService , platformUtilsService , apiService , private location , private route , logService ) { super ( cipherService , i18nService , cryptoService , userService , platformUtilsService , apiService , window , logService ) ; } async ngOnInit ( ) { this . route . queryParams . pipe ( first ( ) ) . subscribe ( async ( params ) => { this . cipherId = params . cipherId ; await this . init ( ) ; } ) ; this . openedAttachmentsInPopup = history . length === 1 ; } back ( ) { this . location . back ( ) ; } close ( ) { window . close ( ) ; } }