key updates
This commit is contained in:
@@ -12,9 +12,14 @@ class AccountKeysSection {
|
|||||||
|
|
||||||
$scope.newKeyData = {};
|
$scope.newKeyData = {};
|
||||||
$scope.keys = keyManager.keys;
|
$scope.keys = keyManager.keys;
|
||||||
|
|
||||||
$scope.submitNewKeyForm = function() {
|
$scope.submitNewKeyForm = function() {
|
||||||
keyManager.addKey($scope.newKeyData.name, $scope.newKeyData.key);
|
var key = keyManager.addKey($scope.newKeyData.name, $scope.newKeyData.key);
|
||||||
|
if(!key) {
|
||||||
|
alert("This key name is already in use. Please use a different name.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
$scope.newKeyData.showForm = false;
|
$scope.newKeyData.showForm = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,12 +5,21 @@ class KeyManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
addKey(name, key) {
|
addKey(name, key) {
|
||||||
this.keys.push({name: name, key: key});
|
var existing = this.keyForName(name);
|
||||||
|
if(existing) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
var newKey = {name: name, key: key};
|
||||||
|
this.keys.push(newKey);
|
||||||
this.persist();
|
this.persist();
|
||||||
|
return newKey;
|
||||||
}
|
}
|
||||||
|
|
||||||
keyForName(name) {
|
keyForName(name) {
|
||||||
return _.find(this.keys, {name: name});
|
return _.find(this.keys, function(key){
|
||||||
|
return key.name.toLowerCase() == name.toLowerCase();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
deleteKey(name) {
|
deleteKey(name) {
|
||||||
|
|||||||
@@ -64,7 +64,7 @@ class SyncManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
addStandardFileSyncProvider(url) {
|
addStandardFileSyncProvider(url) {
|
||||||
var defaultProvider = new SyncProvider({url: url + "/items/sync", primary: this.enabledProviders.length == 0});
|
var defaultProvider = new SyncProvider({url: url + "/items/sync", primary: !this.primarySyncProvider()});
|
||||||
defaultProvider.keyName = SNKeyName;
|
defaultProvider.keyName = SNKeyName;
|
||||||
defaultProvider.enabled = this.syncProviders.length == 0;
|
defaultProvider.enabled = this.syncProviders.length == 0;
|
||||||
this.syncProviders.push(defaultProvider);
|
this.syncProviders.push(defaultProvider);
|
||||||
|
|||||||
@@ -228,6 +228,11 @@ Extensions
|
|||||||
|
|
||||||
> .type {
|
> .type {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
|
margin-bottom: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
> .key {
|
||||||
|
font-style: italic;
|
||||||
}
|
}
|
||||||
|
|
||||||
> .url {
|
> .url {
|
||||||
@@ -235,7 +240,7 @@ Extensions
|
|||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
// word-wrap: break-word;
|
// word-wrap: break-word;
|
||||||
margin-top: 4px;
|
margin-top: 2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sync-status {
|
.sync-status {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
.account-keys-section.account-section-content
|
.account-keys-section.account-section-content
|
||||||
.keys
|
.keys
|
||||||
.key.white-bg{"ng-repeat" => "key in keys"}
|
.key.white-bg{"ng-repeat" => "key in keys track by key.name"}
|
||||||
.name {{key.name}}
|
.name {{key.name}}
|
||||||
.value {{key.key}}
|
.value {{key.key}}
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
.providers.account-section-content
|
.providers.account-section-content
|
||||||
.provider.white-bg{"ng-repeat" => "provider in syncProviders"}
|
.provider.white-bg{"ng-repeat" => "provider in syncProviders"}
|
||||||
.type {{!provider.enabled ? 'Not enabled' : (provider.primary ? 'Primary' : 'Secondary')}}
|
.type {{!provider.enabled ? 'Not enabled' : (provider.primary ? 'Main' : 'Secondary')}}
|
||||||
.key{"ng-if" => "provider.keyName"} Using key: {{provider.keyName}}
|
.key{"ng-if" => "provider.keyName"} Using key: {{provider.keyName}}
|
||||||
.url {{provider.url}}
|
.url {{provider.url}}
|
||||||
.options
|
.options
|
||||||
@@ -13,8 +13,8 @@
|
|||||||
%button{"ng-click" => "saveKey(provider)"} Set
|
%button{"ng-click" => "saveKey(provider)"} Set
|
||||||
|
|
||||||
%div{"ng-if" => "!provider.enabled"}
|
%div{"ng-if" => "!provider.enabled"}
|
||||||
%button.light{"ng-click" => "enableSyncProvider(provider, true)"} Enable as Primary sync provider
|
%button.light{"ng-click" => "enableSyncProvider(provider, true)"} Set as Main
|
||||||
%button.light{"ng-if" => "syncProviders.length > 1", "ng-click" => "enableSyncProvider(provider, false)"} Enable as Secondary sync provider
|
%button.light{"ng-if" => "syncProviders.length > 1", "ng-click" => "enableSyncProvider(provider, false)"} Add as Secondary
|
||||||
%button.light{"ng-if" => "provider.keyName", "ng-click" => "changeEncryptionKey(provider)"} Change Encryption Key
|
%button.light{"ng-if" => "provider.keyName", "ng-click" => "changeEncryptionKey(provider)"} Change Encryption Key
|
||||||
%button.light{"ng-click" => "removeSyncProvider(provider)"} Remove Provider
|
%button.light{"ng-click" => "removeSyncProvider(provider)"} Remove Provider
|
||||||
.sync-status{"delay-hide" => "true", "show" => "provider.syncOpInProgress", "delay" => "1000"}
|
.sync-status{"delay-hide" => "true", "show" => "provider.syncOpInProgress", "delay" => "1000"}
|
||||||
|
|||||||
Reference in New Issue
Block a user