mirror of
https://github.com/bitwarden/browser
synced 2025-12-16 08:13:42 +00:00
[AC-1045] add action to vault timeout policy (#4782)
This commit is contained in:
@@ -1,9 +1,10 @@
|
||||
import { Component } from "@angular/core";
|
||||
import { UntypedFormBuilder } from "@angular/forms";
|
||||
import { FormBuilder, FormControl } from "@angular/forms";
|
||||
|
||||
import { I18nService } from "@bitwarden/common/abstractions/i18n.service";
|
||||
import { PolicyType } from "@bitwarden/common/admin-console/enums";
|
||||
import { PolicyRequest } from "@bitwarden/common/admin-console/models/request/policy.request";
|
||||
import { VaultTimeoutAction } from "@bitwarden/common/enums/vault-timeout-action.enum";
|
||||
import {
|
||||
BasePolicy,
|
||||
BasePolicyComponent,
|
||||
@@ -21,25 +22,30 @@ export class MaximumVaultTimeoutPolicy extends BasePolicy {
|
||||
templateUrl: "maximum-vault-timeout.component.html",
|
||||
})
|
||||
export class MaximumVaultTimeoutPolicyComponent extends BasePolicyComponent {
|
||||
vaultTimeoutActionOptions: { name: string; value: string }[];
|
||||
data = this.formBuilder.group({
|
||||
hours: [null],
|
||||
minutes: [null],
|
||||
hours: new FormControl<number>(null),
|
||||
minutes: new FormControl<number>(null),
|
||||
action: new FormControl<string>(null),
|
||||
});
|
||||
|
||||
constructor(private formBuilder: UntypedFormBuilder, private i18nService: I18nService) {
|
||||
constructor(private formBuilder: FormBuilder, private i18nService: I18nService) {
|
||||
super();
|
||||
this.vaultTimeoutActionOptions = [
|
||||
{ name: i18nService.t("userPreference"), value: null },
|
||||
{ name: i18nService.t(VaultTimeoutAction.Lock), value: VaultTimeoutAction.Lock },
|
||||
{ name: i18nService.t(VaultTimeoutAction.LogOut), value: VaultTimeoutAction.LogOut },
|
||||
];
|
||||
}
|
||||
|
||||
loadData() {
|
||||
const minutes = this.policyResponse.data?.minutes;
|
||||
|
||||
if (minutes == null) {
|
||||
return;
|
||||
}
|
||||
const action = this.policyResponse.data?.action;
|
||||
|
||||
this.data.patchValue({
|
||||
hours: Math.floor(minutes / 60),
|
||||
minutes: minutes % 60,
|
||||
hours: minutes ? Math.floor(minutes / 60) : null,
|
||||
minutes: minutes ? minutes % 60 : null,
|
||||
action: action,
|
||||
});
|
||||
}
|
||||
|
||||
@@ -50,6 +56,7 @@ export class MaximumVaultTimeoutPolicyComponent extends BasePolicyComponent {
|
||||
|
||||
return {
|
||||
minutes: this.data.value.hours * 60 + this.data.value.minutes,
|
||||
action: this.data.value.action,
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user