1
0
mirror of https://github.com/bitwarden/browser synced 2026-02-08 12:40:26 +00:00
Files
browser/libs/vault/src/components/decryption-failure-dialog/decryption-failure-dialog.component.ts
Will Martin 76cb3fd38d [CL-623] export CDK dialog deps from libs/components (#14074)
* add cdk dialog deps to CL dialog barrel file

* find and replace cdk dialog import

* run prettier
2025-04-02 15:08:38 -04:00

61 lines
1.7 KiB
TypeScript

import { CommonModule } from "@angular/common";
import { Component, inject } from "@angular/core";
import { JslibModule } from "@bitwarden/angular/jslib.module";
import { PlatformUtilsService } from "@bitwarden/common/platform/abstractions/platform-utils.service";
import { CipherId } from "@bitwarden/common/types/guid";
import {
DIALOG_DATA,
DialogRef,
AnchorLinkDirective,
AsyncActionsModule,
ButtonModule,
DialogModule,
DialogService,
TypographyModule,
} from "@bitwarden/components";
export type DecryptionFailureDialogParams = {
cipherIds: CipherId[];
};
@Component({
standalone: true,
selector: "vault-decryption-failure-dialog",
templateUrl: "./decryption-failure-dialog.component.html",
imports: [
DialogModule,
CommonModule,
TypographyModule,
JslibModule,
AsyncActionsModule,
ButtonModule,
AnchorLinkDirective,
],
})
export class DecryptionFailureDialogComponent {
protected dialogRef = inject(DialogRef);
protected params = inject<DecryptionFailureDialogParams>(DIALOG_DATA);
protected platformUtilsService = inject(PlatformUtilsService);
selectText(element: HTMLElement) {
const selection = window.getSelection();
if (selection == null) {
return;
}
selection.removeAllRanges();
const range = document.createRange();
range.selectNodeContents(element);
selection.addRange(range);
}
openContactSupport(event: Event) {
event.preventDefault();
this.platformUtilsService.launchUri("https://bitwarden.com/contact");
}
static open(dialogService: DialogService, params: DecryptionFailureDialogParams) {
return dialogService.open(DecryptionFailureDialogComponent, { data: params });
}
}