2021-10-21 23:30:25 +02:00
|
|
|
<div class="modal fade" role="dialog" aria-modal="true" aria-labelledby="userAddEditTitle">
|
2021-12-17 15:57:11 +01:00
|
|
|
<div class="modal-dialog modal-dialog-scrollable modal-lg" role="document">
|
|
|
|
<form
|
|
|
|
class="modal-content"
|
|
|
|
#form
|
|
|
|
(ngSubmit)="submit()"
|
|
|
|
[appApiAction]="formPromise"
|
|
|
|
ngNativeValidate
|
|
|
|
>
|
|
|
|
<div class="modal-header">
|
2022-09-20 13:14:04 +02:00
|
|
|
<h1 class="modal-title" id="userAddEditTitle">
|
2022-03-29 21:55:47 +02:00
|
|
|
<app-premium-badge *ngIf="readOnly"></app-premium-badge>
|
2021-12-17 15:57:11 +01:00
|
|
|
{{ title }}
|
|
|
|
<small class="text-muted" *ngIf="name">{{ name }}</small>
|
2022-09-20 13:14:04 +02:00
|
|
|
</h1>
|
2021-12-17 15:57:11 +01:00
|
|
|
<button
|
|
|
|
type="button"
|
|
|
|
class="close"
|
|
|
|
data-dismiss="modal"
|
|
|
|
appA11yTitle="{{ 'close' | i18n }}"
|
|
|
|
>
|
|
|
|
<span aria-hidden="true">×</span>
|
|
|
|
</button>
|
|
|
|
</div>
|
|
|
|
<div class="modal-body" *ngIf="loading">
|
|
|
|
<i
|
2022-01-27 18:25:58 +01:00
|
|
|
class="bwi bwi-spinner bwi-spin text-muted"
|
2021-12-17 15:57:11 +01:00
|
|
|
title="{{ 'loading' | i18n }}"
|
|
|
|
aria-hidden="true"
|
|
|
|
></i>
|
|
|
|
<span class="sr-only">{{ "loading" | i18n }}</span>
|
|
|
|
</div>
|
|
|
|
<div class="modal-body" *ngIf="!loading">
|
|
|
|
<ng-container *ngIf="!editMode">
|
|
|
|
<p>{{ "inviteEmergencyContactDesc" | i18n }}</p>
|
|
|
|
<div class="form-group mb-4">
|
|
|
|
<label for="email">{{ "email" | i18n }}</label>
|
|
|
|
<input
|
|
|
|
id="email"
|
|
|
|
class="form-control"
|
|
|
|
type="text"
|
|
|
|
name="Email"
|
|
|
|
[(ngModel)]="email"
|
|
|
|
required
|
|
|
|
/>
|
|
|
|
</div>
|
|
|
|
</ng-container>
|
|
|
|
<h3>
|
|
|
|
{{ "userAccess" | i18n }}
|
|
|
|
<a
|
|
|
|
target="_blank"
|
|
|
|
rel="noopener"
|
|
|
|
appA11yTitle="{{ 'learnMore' | i18n }}"
|
2022-01-31 20:11:27 +01:00
|
|
|
href="https://bitwarden.com/help/emergency-access/#user-access"
|
2021-12-17 15:57:11 +01:00
|
|
|
>
|
2022-01-27 18:25:58 +01:00
|
|
|
<i class="bwi bwi-question-circle" aria-hidden="true"></i>
|
2021-12-17 15:57:11 +01:00
|
|
|
</a>
|
|
|
|
</h3>
|
|
|
|
<div class="form-check mt-2 form-check-block">
|
|
|
|
<input
|
|
|
|
class="form-check-input"
|
|
|
|
type="radio"
|
|
|
|
name="userType"
|
|
|
|
id="emergencyTypeView"
|
|
|
|
[value]="emergencyAccessType.View"
|
|
|
|
[(ngModel)]="type"
|
|
|
|
/>
|
|
|
|
<label class="form-check-label" for="emergencyTypeView">
|
|
|
|
{{ "view" | i18n }}
|
|
|
|
<small>{{ "viewDesc" | i18n }}</small>
|
|
|
|
</label>
|
|
|
|
</div>
|
|
|
|
<div class="form-check mt-2 form-check-block">
|
|
|
|
<input
|
|
|
|
class="form-check-input"
|
|
|
|
type="radio"
|
|
|
|
name="userType"
|
|
|
|
id="emergencyTypeTakeover"
|
|
|
|
[value]="emergencyAccessType.Takeover"
|
|
|
|
[(ngModel)]="type"
|
|
|
|
[disabled]="readOnly"
|
|
|
|
/>
|
|
|
|
<label class="form-check-label" for="emergencyTypeTakeover">
|
|
|
|
{{ "takeover" | i18n }}
|
|
|
|
<small>{{ "takeoverDesc" | i18n }}</small>
|
|
|
|
</label>
|
|
|
|
</div>
|
|
|
|
<div class="form-group col-6 mt-4">
|
|
|
|
<label for="waitTime">{{ "waitTime" | i18n }}</label>
|
|
|
|
<select
|
|
|
|
id="waitTime"
|
|
|
|
name="waitTime"
|
|
|
|
[(ngModel)]="waitTime"
|
|
|
|
class="form-control"
|
|
|
|
[disabled]="readOnly"
|
|
|
|
>
|
|
|
|
<option *ngFor="let o of waitTimes" [ngValue]="o.value">{{ o.name }}</option>
|
|
|
|
</select>
|
|
|
|
<small class="text-muted">{{ "waitTimeDesc" | i18n }}</small>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="modal-footer">
|
2022-09-27 11:25:53 +02:00
|
|
|
<button
|
|
|
|
type="submit"
|
|
|
|
buttonType="primary"
|
|
|
|
bitButton
|
|
|
|
[loading]="loading || form.loading"
|
|
|
|
[disabled]="readOnly"
|
|
|
|
>
|
2022-06-29 16:27:42 +02:00
|
|
|
{{ "save" | i18n }}
|
2022-09-27 11:25:53 +02:00
|
|
|
</button>
|
2022-06-08 22:17:46 +02:00
|
|
|
<button bitButton buttonType="secondary" type="button" data-dismiss="modal">
|
2021-12-17 15:57:11 +01:00
|
|
|
{{ "cancel" | i18n }}
|
|
|
|
</button>
|
|
|
|
<div class="ml-auto">
|
|
|
|
<button
|
|
|
|
#deleteBtn
|
2022-06-08 22:17:46 +02:00
|
|
|
bitButton
|
|
|
|
buttonType="danger"
|
2021-12-17 15:57:11 +01:00
|
|
|
type="button"
|
|
|
|
(click)="delete()"
|
|
|
|
appA11yTitle="{{ 'delete' | i18n }}"
|
|
|
|
*ngIf="editMode"
|
2022-11-28 18:59:46 +01:00
|
|
|
[disabled]="$any(deleteBtn).loading"
|
2021-12-17 15:57:11 +01:00
|
|
|
>
|
|
|
|
<i
|
2022-01-27 18:25:58 +01:00
|
|
|
class="bwi bwi-trash bwi-lg bwi-fw"
|
2022-11-28 18:59:46 +01:00
|
|
|
[hidden]="$any(deleteBtn).loading"
|
2021-12-17 15:57:11 +01:00
|
|
|
aria-hidden="true"
|
|
|
|
></i>
|
|
|
|
<i
|
2022-01-27 18:25:58 +01:00
|
|
|
class="bwi bwi-spinner bwi-spin bwi-lg bwi-fw"
|
2022-11-28 18:59:46 +01:00
|
|
|
[hidden]="!$any(deleteBtn).loading"
|
2021-12-17 15:57:11 +01:00
|
|
|
title="{{ 'loading' | i18n }}"
|
|
|
|
aria-hidden="true"
|
|
|
|
></i>
|
|
|
|
</button>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</form>
|
|
|
|
</div>
|
2020-12-22 16:57:44 +01:00
|
|
|
</div>
|