[PS-1017] corrected web vault accessibility when deleting an item with keyboard (#3893)

* PS-1017 Sending parent property to swal when delete popup appears above a modal

* PS-1017 - Added more cases where the parent is necessary to swal react properly to keyboard inputs.
Changed the way the ".modal-content" class is added to target to have it only on one place.

* [PS-1017] Removed edit of target css selector from platform. Added full target on related component
This commit is contained in:
aj-rosado 2022-12-14 14:59:13 +00:00 committed by GitHub
parent ac2f171e2c
commit 836d87f492
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
15 changed files with 40 additions and 10 deletions

View File

@ -140,7 +140,8 @@ export class WebPlatformUtilsService implements PlatformUtilsService {
confirmText?: string,
cancelText?: string,
type?: string,
bodyIsHtml = false
bodyIsHtml = false,
target?: string
) {
let iconClasses: string = null;
if (type != null) {
@ -182,6 +183,7 @@ export class WebPlatformUtilsService implements PlatformUtilsService {
cancelButtonText: cancelText,
showConfirmButton: true,
confirmButtonText: confirmText == null ? this.i18nService.t("ok") : confirmText,
target: target != null ? target : "body",
});
if (bootstrapModal != null) {

View File

@ -158,7 +158,9 @@ export class CollectionAddEditComponent implements OnInit {
this.name,
this.i18nService.t("yes"),
this.i18nService.t("no"),
"warning"
"warning",
false,
"app-collection-add-edit .modal-content"
);
if (!confirmed) {
return false;

View File

@ -130,7 +130,9 @@ export class GroupAddEditComponent implements OnInit {
this.name,
this.i18nService.t("yes"),
this.i18nService.t("no"),
"warning"
"warning",
false,
"app-group-add-edit .modal-content"
);
if (!confirmed) {
return false;

View File

@ -215,7 +215,9 @@ export class UserAddEditComponent implements OnInit {
this.i18nService.t("removeUserIdAccess", this.name),
this.i18nService.t("yes"),
this.i18nService.t("no"),
"warning"
"warning",
false,
"app-user-add-edit .modal-content"
);
if (!confirmed) {
return false;
@ -248,7 +250,9 @@ export class UserAddEditComponent implements OnInit {
this.i18nService.t("revokeUserId", this.name),
this.i18nService.t("revokeAccess"),
this.i18nService.t("cancel"),
"warning"
"warning",
false,
"app-user-add-edit .modal-content"
);
if (!confirmed) {
return false;

View File

@ -29,6 +29,7 @@ import { AddEditComponent as BaseAddEditComponent } from "../../vault/add-edit.c
})
export class AddEditComponent extends BaseAddEditComponent {
originalCipher: Cipher = null;
protected override componentName = "app-org-vault-add-edit";
constructor(
cipherService: CipherService,

View File

@ -16,6 +16,8 @@ import { StateService } from "@bitwarden/common/abstractions/state.service";
templateUrl: "add-edit.component.html",
})
export class AddEditComponent extends BaseAddEditComponent {
override componentName = "app-send-add-edit";
constructor(
i18nService: I18nService,
platformUtilsService: PlatformUtilsService,

View File

@ -26,6 +26,7 @@ import { AddEditComponent as BaseAddEditComponent } from "../vault/add-edit.comp
export class EmergencyAddEditComponent extends BaseAddEditComponent {
originalCipher: Cipher = null;
viewOnly = true;
protected override componentName = "app-org-vault-add-edit";
constructor(
cipherService: CipherService,

View File

@ -37,6 +37,7 @@ export class AddEditComponent extends BaseAddEditComponent implements OnInit, On
viewOnly = false;
protected totpInterval: number;
protected override componentName = "app-vault-add-edit";
constructor(
cipherService: CipherService,

View File

@ -17,6 +17,7 @@ import { AttachmentView } from "@bitwarden/common/models/view/attachment.view";
})
export class AttachmentsComponent extends BaseAttachmentsComponent {
viewOnly = false;
protected override componentName = "app-vault-attachments";
constructor(
cipherService: CipherService,

View File

@ -12,6 +12,7 @@ import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUti
templateUrl: "folder-add-edit.component.html",
})
export class FolderAddEditComponent extends BaseFolderAddEditComponent {
protected override componentName = "app-folder-add-edit";
constructor(
folderService: FolderService,
folderApiService: FolderApiServiceAbstraction,

View File

@ -77,6 +77,7 @@ export class AddEditComponent implements OnInit, OnDestroy {
canUseReprompt = true;
organization: Organization;
protected componentName = "";
protected destroy$ = new Subject<void>();
protected writeableCollections: CollectionView[];
private personalOwnershipPolicyAppliesToActiveUser: boolean;
@ -397,7 +398,9 @@ export class AddEditComponent implements OnInit, OnDestroy {
this.i18nService.t("deleteItem"),
this.i18nService.t("yes"),
this.i18nService.t("no"),
"warning"
"warning",
false,
this.componentName != "" ? this.componentName + " .modal-content" : null
);
if (!confirmed) {
return false;

View File

@ -29,6 +29,7 @@ export class AttachmentsComponent implements OnInit {
deletePromises: { [id: string]: Promise<any> } = {};
reuploadPromises: { [id: string]: Promise<any> } = {};
emergencyAccessId?: string = null;
protected componentName = "";
constructor(
protected cipherService: CipherService,
@ -104,7 +105,9 @@ export class AttachmentsComponent implements OnInit {
this.i18nService.t("deleteAttachment"),
this.i18nService.t("yes"),
this.i18nService.t("no"),
"warning"
"warning",
false,
this.componentName != "" ? this.componentName + " .modal-content" : null
);
if (!confirmed) {
return;

View File

@ -18,6 +18,7 @@ export class FolderAddEditComponent implements OnInit {
title: string;
formPromise: Promise<any>;
deletePromise: Promise<any>;
protected componentName = "";
constructor(
protected folderService: FolderService,
@ -65,7 +66,9 @@ export class FolderAddEditComponent implements OnInit {
this.i18nService.t("deleteFolder"),
this.i18nService.t("yes"),
this.i18nService.t("no"),
"warning"
"warning",
false,
this.componentName != "" ? this.componentName + " .modal-content" : null
);
if (!confirmed) {
return false;

View File

@ -45,6 +45,7 @@ export class AddEditComponent implements OnInit, OnDestroy {
alertShown = false;
showOptions = false;
protected componentName = "";
private sendLinkBaseUrl: string;
private destroy$ = new Subject<void>();
@ -242,7 +243,9 @@ export class AddEditComponent implements OnInit, OnDestroy {
this.i18nService.t("deleteSend"),
this.i18nService.t("yes"),
this.i18nService.t("no"),
"warning"
"warning",
false,
this.componentName != "" ? this.componentName + " .modal-content" : null
);
if (!confirmed) {
return false;

View File

@ -34,7 +34,8 @@ export abstract class PlatformUtilsService {
confirmText?: string,
cancelText?: string,
type?: string,
bodyIsHtml?: boolean
bodyIsHtml?: boolean,
target?: string
) => Promise<boolean>;
isDev: () => boolean;
isSelfHost: () => boolean;