bitwarden-estensione-browser/libs/common/src/models/view/identityView.ts

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

143 lines
3.7 KiB
TypeScript
Raw Normal View History

import { IdentityLinkedId as LinkedId } from "../../enums/linkedIdType";
import { linkedFieldOption } from "../../misc/linkedFieldOption.decorator";
2022-02-22 15:39:11 +01:00
import { Utils } from "../../misc/utils";
import { ItemView } from "./itemView";
export class IdentityView extends ItemView {
@linkedFieldOption(LinkedId.Title)
2018-01-25 22:16:02 +01:00
title: string = null;
@linkedFieldOption(LinkedId.MiddleName)
2019-01-25 15:30:21 +01:00
middleName: string = null;
@linkedFieldOption(LinkedId.Address1)
2019-01-25 15:30:21 +01:00
address1: string = null;
@linkedFieldOption(LinkedId.Address2)
2019-01-25 15:30:21 +01:00
address2: string = null;
@linkedFieldOption(LinkedId.Address3)
2019-01-25 15:30:21 +01:00
address3: string = null;
@linkedFieldOption(LinkedId.City, "cityTown")
2019-01-25 15:30:21 +01:00
city: string = null;
@linkedFieldOption(LinkedId.State, "stateProvince")
2019-01-25 15:30:21 +01:00
state: string = null;
@linkedFieldOption(LinkedId.PostalCode, "zipPostalCode")
2019-01-25 15:30:21 +01:00
postalCode: string = null;
@linkedFieldOption(LinkedId.Country)
2019-01-25 15:30:21 +01:00
country: string = null;
@linkedFieldOption(LinkedId.Company)
2019-01-25 15:30:21 +01:00
company: string = null;
@linkedFieldOption(LinkedId.Email)
2019-01-25 15:30:21 +01:00
email: string = null;
@linkedFieldOption(LinkedId.Phone)
2019-01-25 15:30:21 +01:00
phone: string = null;
@linkedFieldOption(LinkedId.Ssn)
2019-01-25 15:30:21 +01:00
ssn: string = null;
@linkedFieldOption(LinkedId.Username)
2019-01-25 15:30:21 +01:00
username: string = null;
@linkedFieldOption(LinkedId.PassportNumber)
2019-01-25 15:30:21 +01:00
passportNumber: string = null;
@linkedFieldOption(LinkedId.LicenseNumber)
2019-01-25 15:30:21 +01:00
licenseNumber: string = null;
2018-01-24 17:33:15 +01:00
2019-01-25 15:30:21 +01:00
private _firstName: string = null;
private _lastName: string = null;
private _subTitle: string = null;
2018-01-24 22:58:34 +01:00
2022-02-22 15:39:11 +01:00
constructor() {
super();
2018-01-24 17:33:15 +01:00
}
2018-01-24 22:58:34 +01:00
@linkedFieldOption(LinkedId.FirstName)
2018-01-24 22:58:34 +01:00
get firstName(): string {
return this._firstName;
}
set firstName(value: string) {
this._firstName = value;
this._subTitle = null;
}
@linkedFieldOption(LinkedId.LastName)
2018-01-24 22:58:34 +01:00
get lastName(): string {
return this._lastName;
}
set lastName(value: string) {
this._lastName = value;
this._subTitle = null;
}
get subTitle(): string {
if (this._subTitle == null && (this.firstName != null || this.lastName != null)) {
this._subTitle = "";
if (this.firstName != null) {
this._subTitle = this.firstName;
}
if (this.lastName != null) {
if (this._subTitle !== "") {
this._subTitle += " ";
}
this._subTitle += this.lastName;
2021-12-16 13:36:21 +01:00
}
2018-01-24 22:58:34 +01:00
}
2018-01-25 20:26:09 +01:00
return this._subTitle;
}
@linkedFieldOption(LinkedId.FullName)
2018-01-25 20:26:09 +01:00
get fullName(): string {
2021-12-16 13:36:21 +01:00
if (
2018-01-25 20:26:09 +01:00
this.title != null ||
this.firstName != null ||
this.middleName != null ||
this.lastName != null
2021-12-16 13:36:21 +01:00
) {
2018-01-25 20:26:09 +01:00
let name = "";
if (this.title != null) {
name += this.title + " ";
2021-12-16 13:36:21 +01:00
}
2018-01-25 20:26:09 +01:00
if (this.firstName != null) {
name += this.firstName + " ";
2021-12-16 13:36:21 +01:00
}
2018-01-25 20:26:09 +01:00
if (this.middleName != null) {
name += this.middleName + " ";
2021-12-16 13:36:21 +01:00
}
2018-01-25 20:26:09 +01:00
if (this.lastName != null) {
name += this.lastName;
2021-12-16 13:36:21 +01:00
}
2018-01-25 20:26:09 +01:00
return name.trim();
}
2019-01-16 19:51:14 +01:00
2019-04-29 16:13:32 +02:00
return null;
2021-12-16 13:36:21 +01:00
}
2019-01-16 19:51:14 +01:00
get fullAddress(): string {
let address = this.address1;
2019-04-29 15:30:00 +02:00
if (!Utils.isNullOrWhitespace(this.address2)) {
if (!Utils.isNullOrWhitespace(address)) {
2019-01-16 19:51:14 +01:00
address += ", ";
}
address += this.address2;
}
2019-04-29 15:30:00 +02:00
if (!Utils.isNullOrWhitespace(this.address3)) {
if (!Utils.isNullOrWhitespace(address)) {
2019-01-16 19:51:14 +01:00
address += ", ";
}
address += this.address3;
}
return address;
2021-12-16 13:36:21 +01:00
}
2019-04-29 16:13:32 +02:00
get fullAddressPart2(): string {
if (this.city == null && this.state == null && this.postalCode == null) {
return null;
}
const city = this.city || "-";
const state = this.state;
2019-04-29 16:13:32 +02:00
const postalCode = this.postalCode || "-";
let addressPart2 = city;
if (!Utils.isNullOrWhitespace(state)) {
addressPart2 += ", " + state;
2019-04-29 16:13:32 +02:00
}
addressPart2 += ", " + postalCode;
return addressPart2;
2021-12-16 13:36:21 +01:00
}
2018-01-24 17:33:15 +01:00
}