1
0
mirror of https://github.com/bitwarden/jslib synced 2026-01-01 08:03:17 +00:00
Files
jslib/src/models/view/identityView.ts
Joseph Petersen 3a40cb83bf fix fullAddressPart2 state if empty should not show in address line (#62)
* not all countries have states

* semi colons
2020-02-01 16:15:27 -05:00

121 lines
3.3 KiB
TypeScript

import { View } from './view';
import { Identity } from '../domain/identity';
import { Utils } from '../../misc/utils';
export class IdentityView implements View {
title: string = null;
middleName: string = null;
address1: string = null;
address2: string = null;
address3: string = null;
city: string = null;
state: string = null;
postalCode: string = null;
country: string = null;
company: string = null;
email: string = null;
phone: string = null;
ssn: string = null;
username: string = null;
passportNumber: string = null;
licenseNumber: string = null;
// tslint:disable
private _firstName: string = null;
private _lastName: string = null;
private _subTitle: string = null;
// tslint:enable
constructor(i?: Identity) {
// ctor
}
get firstName(): string {
return this._firstName;
}
set firstName(value: string) {
this._firstName = value;
this._subTitle = null;
}
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;
}
}
return this._subTitle;
}
get fullName(): string {
if (this.title != null || this.firstName != null || this.middleName != null || this.lastName != null) {
let name = '';
if (this.title != null) {
name += (this.title + ' ');
}
if (this.firstName != null) {
name += (this.firstName + ' ');
}
if (this.middleName != null) {
name += (this.middleName + ' ');
}
if (this.lastName != null) {
name += this.lastName;
}
return name.trim();
}
return null;
}
get fullAddress(): string {
let address = this.address1;
if (!Utils.isNullOrWhitespace(this.address2)) {
if (!Utils.isNullOrWhitespace(address)) {
address += ', ';
}
address += this.address2;
}
if (!Utils.isNullOrWhitespace(this.address3)) {
if (!Utils.isNullOrWhitespace(address)) {
address += ', ';
}
address += this.address3;
}
return address;
}
get fullAddressPart2(): string {
if (this.city == null && this.state == null && this.postalCode == null) {
return null;
}
const city = this.city || '-';
const state = this.state;
const postalCode = this.postalCode || '-';
let addressPart2 = city;
if (!Utils.isNullOrWhitespace(state)) {
addressPart2 += ', ' + state;
}
addressPart2 += ', ' + postalCode;
return addressPart2;
}
}