Display nicely formatted phone numbers

In conversation headers and as titles for contacts with no name. Updated
tests accordingly.

// FREEBIE
This commit is contained in:
lilia 2015-12-04 15:09:53 -08:00
parent f2d2e08fa2
commit 0b95606eff
2 changed files with 16 additions and 6 deletions

View file

@ -223,18 +223,28 @@
getTitle: function() {
if (this.isPrivate()) {
return this.get('name') || this.id;
return this.get('name') || this.getNumber();
} else {
return this.get('name') || 'Unknown group';
}
},
getNumber: function() {
if (this.isPrivate()) {
return this.id;
} else {
if (!this.isPrivate()) {
return '';
}
var number = this.id;
try {
var parsedNumber = libphonenumber.parse(number);
var regionCode = libphonenumber.getRegionCodeForNumber(parsedNumber);
if (regionCode === storage.get('regionCode')) {
return libphonenumber.format(parsedNumber, libphonenumber.PhoneNumberFormat.NATIONAL);
} else {
return libphonenumber.format(parsedNumber, libphonenumber.PhoneNumberFormat.INTERNATIONAL);
}
} catch (e) {
return number;
}
},
isPrivate: function() {

View file

@ -123,7 +123,7 @@
it('has a title', function() {
var convos = new Whisper.ConversationCollection();
var convo = convos.add(attributes);
assert.equal(convo.getTitle(), convo.id);
assert.equal(convo.getTitle(), '+1 808-555-5555');
convo = convos.add({type: ''});
assert.equal(convo.getTitle(), 'Unknown group');
@ -135,7 +135,7 @@
it('returns the number', function() {
var convos = new Whisper.ConversationCollection();
var convo = convos.add(attributes);
assert.equal(convo.getNumber(), convo.id);
assert.equal(convo.getNumber(), '+1 808-555-5555');
convo = convos.add({type: ''});
assert.equal(convo.getNumber(), '');