1
0
mirror of https://github.com/bitwarden/web synced 2026-01-21 03:43:22 +00:00

admin cipher attachments

This commit is contained in:
Kyle Spearrin
2018-07-05 10:48:51 -04:00
parent fda8155894
commit 1d60e881ee
8 changed files with 144 additions and 59 deletions

View File

@@ -23,6 +23,7 @@ import { CipherType } from 'jslib/enums/cipherType';
import { ModalComponent } from '../modal.component';
import { AddEditComponent } from './add-edit.component';
import { AttachmentsComponent } from './attachments.component';
import { CiphersComponent } from './ciphers.component';
import { GroupingsComponent } from './groupings.component';
@@ -33,6 +34,7 @@ import { GroupingsComponent } from './groupings.component';
export class VaultComponent implements OnInit {
@ViewChild(GroupingsComponent) groupingsComponent: GroupingsComponent;
@ViewChild(CiphersComponent) ciphersComponent: CiphersComponent;
@ViewChild('attachments', { read: ViewContainerRef }) attachmentsModalRef: ViewContainerRef;
@ViewChild('cipherAddEdit', { read: ViewContainerRef }) cipherAddEditModalRef: ViewContainerRef;
organization: Organization;
@@ -125,6 +127,30 @@ export class VaultComponent implements OnInit {
this.ciphersComponent.searchText = searchText;
}
editCipherAttachments(cipher: CipherView) {
if (this.modal != null) {
this.modal.close();
}
const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);
this.modal = this.attachmentsModalRef.createComponent(factory).instance;
const childComponent = this.modal.show<AttachmentsComponent>(AttachmentsComponent, this.attachmentsModalRef);
childComponent.organization = this.organization;
childComponent.cipherId = cipher.id;
let madeAttachmentChanges = false;
childComponent.onUploadedAttachment.subscribe(() => madeAttachmentChanges = true);
childComponent.onDeletedAttachment.subscribe(() => madeAttachmentChanges = true);
this.modal.onClosed.subscribe(async () => {
this.modal = null;
if (madeAttachmentChanges) {
await this.ciphersComponent.refresh();
}
madeAttachmentChanges = false;
});
}
addCipher() {
const component = this.editCipher(null);
component.type = this.type;