mirror of
https://github.com/bitwarden/browser
synced 2025-12-16 16:23:44 +00:00
SG-680 - Domain verification table options now supports removing domains with confirmation prompt
This commit is contained in:
@@ -62,7 +62,7 @@
|
|||||||
<i class="bwi bwi-fw bwi-check text-success" aria-hidden="true"></i>
|
<i class="bwi bwi-fw bwi-check text-success" aria-hidden="true"></i>
|
||||||
Verify domain
|
Verify domain
|
||||||
</button>
|
</button>
|
||||||
<button bitMenuItem>
|
<button bitMenuItem (click)="deleteDomain(orgDomain.id)">
|
||||||
<span class="tw-text-danger">
|
<span class="tw-text-danger">
|
||||||
<i class="bwi bwi-fw bwi-close" aria-hidden="true"></i>
|
<i class="bwi bwi-fw bwi-close" aria-hidden="true"></i>
|
||||||
{{ "remove" | i18n }}
|
{{ "remove" | i18n }}
|
||||||
|
|||||||
@@ -2,12 +2,10 @@ import { Component, OnDestroy, OnInit } from "@angular/core";
|
|||||||
import { ActivatedRoute, Params } from "@angular/router";
|
import { ActivatedRoute, Params } from "@angular/router";
|
||||||
import { concatMap, Observable, Subject, take, takeUntil } from "rxjs";
|
import { concatMap, Observable, Subject, take, takeUntil } from "rxjs";
|
||||||
|
|
||||||
import { ApiService } from "@bitwarden/common/abstractions/api.service";
|
|
||||||
import { I18nService } from "@bitwarden/common/abstractions/i18n.service";
|
import { I18nService } from "@bitwarden/common/abstractions/i18n.service";
|
||||||
import { OrgDomainApiServiceAbstraction } from "@bitwarden/common/abstractions/organization-domain/org-domain-api.service.abstraction";
|
import { OrgDomainApiServiceAbstraction } from "@bitwarden/common/abstractions/organization-domain/org-domain-api.service.abstraction";
|
||||||
import { OrgDomainServiceAbstraction } from "@bitwarden/common/abstractions/organization-domain/org-domain.service.abstraction";
|
import { OrgDomainServiceAbstraction } from "@bitwarden/common/abstractions/organization-domain/org-domain.service.abstraction";
|
||||||
import { OrganizationDomainResponse } from "@bitwarden/common/abstractions/organization-domain/responses/organization-domain.response";
|
import { OrganizationDomainResponse } from "@bitwarden/common/abstractions/organization-domain/responses/organization-domain.response";
|
||||||
import { OrganizationService } from "@bitwarden/common/abstractions/organization/organization.service.abstraction";
|
|
||||||
import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service";
|
import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service";
|
||||||
import { DialogService } from "@bitwarden/components";
|
import { DialogService } from "@bitwarden/components";
|
||||||
|
|
||||||
@@ -26,15 +24,12 @@ export class DomainVerificationComponent implements OnInit, OnDestroy {
|
|||||||
loading = true;
|
loading = true;
|
||||||
|
|
||||||
organizationId: string;
|
organizationId: string;
|
||||||
// organization: Organization;
|
|
||||||
orgDomains$: Observable<OrganizationDomainResponse[]>;
|
orgDomains$: Observable<OrganizationDomainResponse[]>;
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
private route: ActivatedRoute,
|
private route: ActivatedRoute,
|
||||||
private apiService: ApiService,
|
|
||||||
private platformUtilsService: PlatformUtilsService,
|
private platformUtilsService: PlatformUtilsService,
|
||||||
private i18nService: I18nService,
|
private i18nService: I18nService,
|
||||||
private organizationService: OrganizationService,
|
|
||||||
private orgDomainApiService: OrgDomainApiServiceAbstraction,
|
private orgDomainApiService: OrgDomainApiServiceAbstraction,
|
||||||
private orgDomainService: OrgDomainServiceAbstraction,
|
private orgDomainService: OrgDomainServiceAbstraction,
|
||||||
private dialogService: DialogService
|
private dialogService: DialogService
|
||||||
@@ -103,6 +98,23 @@ export class DomainVerificationComponent implements OnInit, OnDestroy {
|
|||||||
this.orgDomainService.copyDnsTxt(dnsTxt);
|
this.orgDomainService.copyDnsTxt(dnsTxt);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
deleteDomain = async (orgDomainId: string): Promise<void> => {
|
||||||
|
const confirmed = await this.platformUtilsService.showDialog(
|
||||||
|
this.i18nService.t("removeDomainWarning"),
|
||||||
|
this.i18nService.t("removeDomain"),
|
||||||
|
this.i18nService.t("yes"),
|
||||||
|
this.i18nService.t("no"),
|
||||||
|
"warning"
|
||||||
|
);
|
||||||
|
if (!confirmed) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
await this.orgDomainApiService.delete(this.organizationId, orgDomainId);
|
||||||
|
|
||||||
|
this.platformUtilsService.showToast("success", null, this.i18nService.t("domainRemoved"));
|
||||||
|
};
|
||||||
|
|
||||||
//#endregion
|
//#endregion
|
||||||
|
|
||||||
ngOnDestroy(): void {
|
ngOnDestroy(): void {
|
||||||
|
|||||||
Reference in New Issue
Block a user