mirror of
https://github.com/bitwarden/browser
synced 2025-12-16 00:03:56 +00:00
35 lines
825 B
TypeScript
35 lines
825 B
TypeScript
import { Jsonify } from "type-fest";
|
|
|
|
import { FieldType } from "../../enums/fieldType";
|
|
import { LinkedIdType } from "../../enums/linkedIdType";
|
|
import { Field } from "../domain/field";
|
|
|
|
import { View } from "./view";
|
|
|
|
export class FieldView implements View {
|
|
name: string = null;
|
|
value: string = null;
|
|
type: FieldType = null;
|
|
newField = false; // Marks if the field is new and hasn't been saved
|
|
showValue = false;
|
|
showCount = false;
|
|
linkedId: LinkedIdType = null;
|
|
|
|
constructor(f?: Field) {
|
|
if (!f) {
|
|
return;
|
|
}
|
|
|
|
this.type = f.type;
|
|
this.linkedId = f.linkedId;
|
|
}
|
|
|
|
get maskedValue(): string {
|
|
return this.value != null ? "••••••••" : null;
|
|
}
|
|
|
|
static fromJSON(obj: Partial<Jsonify<FieldView>>): FieldView {
|
|
return Object.assign(new FieldView(), obj);
|
|
}
|
|
}
|