diff --git a/src/models/domainModels.js b/src/models/domainModels.js
index 049971261a4..fe1465d035b 100644
--- a/src/models/domainModels.js
+++ b/src/models/domainModels.js
@@ -278,17 +278,13 @@ function buildDomainModel(model, obj, map, alreadyEncrypted, notEncList) {
}
(function () {
- var bg = chrome.extension.getBackgroundPage(),
- cryptoService = bg ? bg.bg_cryptoService : null;
-
CipherString.prototype.decrypt = function (orgId) {
if (this.decryptedValue) {
- var deferred = Q.defer();
- deferred.resolve(this.decryptedValue);
- return deferred.promise;
+ return Q(this.decryptedValue);
}
- var self = this;
+ var self = this,
+ cryptoService = chrome.extension.getBackgroundPage().bg_cryptoService;
return cryptoService.getOrgKey(orgId).then(function (orgKey) {
return cryptoService.decrypt(self, orgKey);
}).then(function (decValue) {
@@ -416,15 +412,19 @@ function buildDomainModel(model, obj, map, alreadyEncrypted, notEncList) {
switch (self.type) {
case 1: // cipherType.login
model.login = decObj;
+ model.subTitle = model.login.username;
break;
case 2: // cipherType.secureNote
model.secureNote = decObj;
+ model.subTitle = '-';
break;
case 3: // cipherType.card
model.card = decObj;
+ model.subTitle = model.identity.brand;
break;
case 4: // cipherType.identity
model.identity = decObj;
+ model.subTitle = model.identity.firstName;
break;
default:
break;
diff --git a/src/popup/app/components/actionButtonsComponent.js b/src/popup/app/components/actionButtonsComponent.js
new file mode 100644
index 00000000000..1f6db7b9e7e
--- /dev/null
+++ b/src/popup/app/components/actionButtonsComponent.js
@@ -0,0 +1,18 @@
+angular
+ .module('bit.components')
+
+ .component('actionButtonsComponent', {
+ bindings: {
+ uri: '<'
+ },
+ template: '',
+ controller: function (stateService) {
+ this.$onInit = (function () {
+
+ }).bind(this);
+
+ this.$onChanges = (function () {
+
+ }).bind(this);
+ }
+ });
diff --git a/src/popup/app/components/iconComponent.js b/src/popup/app/components/iconComponent.js
index 66c587f780e..837314e7b24 100644
--- a/src/popup/app/components/iconComponent.js
+++ b/src/popup/app/components/iconComponent.js
@@ -1,13 +1,14 @@
angular
.module('bit.components')
+
.component('icon', {
- bindings: {
- uri: '<'
- },
+ bindings: {
+ uri: '<'
+ },
template: '

',
- controller: function(stateService) {
- this.$onInit = (function() {
- this.enabled = function() {
+ controller: function (stateService) {
+ this.$onInit = (function () {
+ this.enabled = function () {
return stateService.getState('faviconEnabled');
};
}).bind(this);
diff --git a/src/popup/app/vault/vaultController.js b/src/popup/app/vault/vaultController.js
index efdc99782d5..eef574b5112 100644
--- a/src/popup/app/vault/vaultController.js
+++ b/src/popup/app/vault/vaultController.js
@@ -51,11 +51,11 @@
});
promises.push(folderPromise);
- var loginPromise = $q.when(loginService.getAllDecrypted());
- loginPromise.then(function (logins) {
- decLogins = logins;
+ var cipherPromise = loginService.getAllDecrypted();
+ cipherPromise.then(function (ciphers) {
+ decLogins = ciphers;
});
- promises.push(loginPromise);
+ promises.push(cipherPromise);
$q.all(promises).then(function () {
$scope.loaded = true;
diff --git a/src/popup/app/vault/vaultViewFolderController.js b/src/popup/app/vault/vaultViewFolderController.js
index aa3b7ed5f50..603c9718725 100644
--- a/src/popup/app/vault/vaultViewFolderController.js
+++ b/src/popup/app/vault/vaultViewFolderController.js
@@ -39,17 +39,17 @@
promises.push(folderDeferred.promise);
}
- var loginPromise = $q.when(loginService.getAllDecryptedForFolder($scope.folder.id));
- loginPromise.then(function (logins) {
+ var cipherPromise = loginService.getAllDecryptedForFolder($scope.folder.id);
+ cipherPromise.then(function (ciphers) {
if (utilsService.isEdge()) {
// Edge is super slow at sorting
- decLogins = logins;
+ decLogins = ciphers;
}
else {
- decLogins = logins.sort(loginSort);
+ decLogins = ciphers.sort(cipherSort);
}
});
- promises.push(loginPromise);
+ promises.push(cipherPromise);
$q.all(promises).then(function () {
$scope.loaded = true;
@@ -68,7 +68,7 @@
});
}
- function loginSort(a, b) {
+ function cipherSort(a, b) {
if (!a.name) {
return -1;
}
@@ -85,19 +85,19 @@
return -1;
}
- if (!a.username) {
+ if (!a.subTitle) {
return -1;
}
- if (!b.username) {
+ if (!b.subTitle) {
return 1;
}
- var aUsername = a.username.toLowerCase(),
- bUsername = b.username.toLowerCase();
- if (aUsername > bUsername) {
+ var aSubTitle = a.subTitle.toLowerCase(),
+ bSubTitle = b.subTitle.toLowerCase();
+ if (aSubTitle > bSubTitle) {
return 1;
}
- if (aUsername < bUsername) {
+ if (aSubTitle < bSubTitle) {
return -1;
}
@@ -123,7 +123,7 @@
var matchedLogins = [];
for (var i = 0; i < decLogins.length; i++) {
- if (searchLogin(decLogins[i])) {
+ if (searchCipher(decLogins[i])) {
matchedLogins.push(decLogins[i]);
}
}
@@ -149,15 +149,15 @@
$scope.loadMore();
}
- function searchLogin(login) {
+ function searchCipher(cipher) {
var searchTerm = $scope.searchText.toLowerCase();
- if (login.name && login.name.toLowerCase().indexOf(searchTerm) !== -1) {
+ if (cipher.name && cipher.name.toLowerCase().indexOf(searchTerm) !== -1) {
return true;
}
- if (login.username && login.username.toLowerCase().indexOf(searchTerm) !== -1) {
+ if (cipher.subTitle && cipher.subTitle.toLowerCase().indexOf(searchTerm) !== -1) {
return true;
}
- if (login.uri && login.uri.toLowerCase().indexOf(searchTerm) !== -1) {
+ if (cipher.login && cipher.login.uri && cipher.login.uri.toLowerCase().indexOf(searchTerm) !== -1) {
return true;
}
diff --git a/src/popup/app/vault/views/vault.html b/src/popup/app/vault/views/vault.html
index d80a218c863..3ceaae4e28f 100644
--- a/src/popup/app/vault/views/vault.html
+++ b/src/popup/app/vault/views/vault.html
@@ -40,7 +40,7 @@
+ | filter: searchLogins() | orderBy: ['name', 'subTitle']) track by $index">
@@ -61,7 +61,7 @@
- {{login.username}}
+ {{login.subTitle}}
@@ -72,7 +72,7 @@
diff --git a/src/popup/index.html b/src/popup/index.html
index bba0d921775..0f52932bba8 100644
--- a/src/popup/index.html
+++ b/src/popup/index.html
@@ -61,6 +61,7 @@
+
diff --git a/src/services/loginService.js b/src/services/loginService.js
index 58972c57db3..e175e1f0bc3 100644
--- a/src/services/loginService.js
+++ b/src/services/loginService.js
@@ -182,7 +182,7 @@ function initLoginService() {
key = null,
localData = null;
- self.userService.getUserIdPromise().then(function (userId) {
+ return self.userService.getUserIdPromise().then(function (userId) {
key = 'ciphers_' + userId;
return self.utilsService.getObjFromStorage(self.localDataKey);
}).then(function (data) {
@@ -191,11 +191,11 @@ function initLoginService() {
localData = {};
}
return self.utilsService.getObjFromStorage(key);
- }).then(function (logins) {
+ }).then(function (ciphers) {
var response = [];
- for (var id in logins) {
+ for (var id in ciphers) {
if (id) {
- response.push(new Login(logins[id], false, localData[id]));
+ response.push(new Cipher(ciphers[id], false, localData[id]));
}
}
@@ -205,7 +205,7 @@ function initLoginService() {
LoginService.prototype.getAllDecrypted = function () {
var self = this,
- decLogins = [];
+ decCiphers = [];
return self.cryptoService.getKey().then(function (key) {
if (!key) {
@@ -219,19 +219,19 @@ function initLoginService() {
}
return self.getAll();
- }).then(function (logins) {
+ }).then(function (ciphers) {
var promises = [];
- for (var i = 0; i < logins.length; i++) {
+ for (var i = 0; i < ciphers.length; i++) {
/* jshint ignore:start */
- promises.push(logins[i].decrypt().then(function (login) {
- decLogins.push(login);
+ promises.push(ciphers[i].decrypt().then(function (cipher) {
+ decCiphers.push(cipher);
}));
/* jshint ignore:end */
}
return Q.all(promises);
}).then(function () {
- self.decryptedCipherCache = decLogins;
+ self.decryptedCipherCache = decCiphers;
return self.decryptedCipherCache;
});
};
diff --git a/src/services/syncService.js b/src/services/syncService.js
index 4fb6ce2f248..c0846d9f18b 100644
--- a/src/services/syncService.js
+++ b/src/services/syncService.js
@@ -139,14 +139,11 @@ function initSyncService() {
}
function syncCiphers(self, userId, response) {
- var logins = {};
+ var ciphers = {};
for (var i = 0; i < response.length; i++) {
- var data = response[i];
- if (data.type === 1) {
- logins[data.id] = new LoginData(data, userId);
- }
+ ciphers[response[i].id] = new CipherData(response[i], userId);
}
- return self.loginService.replace(logins);
+ return self.loginService.replace(ciphers);
}
function syncSettings(self, userId, response) {