mirror of
https://github.com/bitwarden/browser
synced 2026-02-08 04:33:38 +00:00
Adds standalone: false to all components since Angular is changing the default to true and we'd rather not have the angular PR change 300+ files.
31 lines
886 B
TypeScript
31 lines
886 B
TypeScript
// FIXME: Update this file to be type safe and remove this and next line
|
|
// @ts-strict-ignore
|
|
import { Directive, ElementRef, HostListener, Input } from "@angular/core";
|
|
|
|
import { ClientType } from "@bitwarden/common/enums";
|
|
import { PlatformUtilsService } from "@bitwarden/common/platform/abstractions/platform-utils.service";
|
|
|
|
@Directive({
|
|
selector: "[appCopyText]",
|
|
standalone: false,
|
|
})
|
|
export class CopyTextDirective {
|
|
constructor(
|
|
private el: ElementRef,
|
|
private platformUtilsService: PlatformUtilsService,
|
|
) {}
|
|
|
|
@Input("appCopyText") copyText: string;
|
|
|
|
@HostListener("copy") onCopy() {
|
|
if (window == null) {
|
|
return;
|
|
}
|
|
|
|
const timeout = this.platformUtilsService.getClientType() === ClientType.Desktop ? 100 : 0;
|
|
setTimeout(() => {
|
|
this.platformUtilsService.copyToClipboard(this.copyText, { window: window });
|
|
}, timeout);
|
|
}
|
|
}
|