Skip to content

Commit

Permalink
Add a button to remove servers from settings.
Browse files Browse the repository at this point in the history
  • Loading branch information
caedesvvv committed Oct 24, 2014
1 parent 6b815f8 commit 3d1521b
Show file tree
Hide file tree
Showing 3 changed files with 36 additions and 1 deletion.
9 changes: 8 additions & 1 deletion html/partials/settings.html
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,14 @@ <h5>{{'Servers'|_}}</h5>
<select class="select-list" size="50" ng-model="selectedServerIdx">
<option ng-repeat="server in servers track by $index" value="{{$index}}" ng-click="selectedServerIdx=$index" ng-selected="selectedServerIdx==$index">{{server.name}}</option>
</select>
<a ng-click="connectServer()" class="button small radius expand">{{'Connect to selected server'|_}}</a>
<div class="row">
<div class="small-9 columns">
<a ng-click="connectServer()" class="button small radius expand">{{'Connect to selected server'|_}}</a>
</div>
<div class="small-3 columns">
<a ng-disabled="selectedServer===servers[selectedServerIdx]" ng-click="removeServer()" class="button small alert radius expand">{{'Delete'|_}}</a>
</div>
</div>
<h6>{{'{0} to {1} @ {2}'|_:connectionStatus:selectedServer.name:selectedServer.address}}</h6>
<div ng-show="connectionStatus == 'Connected'">
<div>{{'gateway'|_}}: {{servicesStatus.gateway}}</div>
Expand Down
10 changes: 10 additions & 0 deletions js/frontend/controllers/servers.js
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,16 @@ define(['./module', 'darkwallet', 'frontend/port'], function (controllers, DarkW
$scope.addServerError = '';
};

// Remove a server from html form
$scope.removeServer = function() {
var identity = DarkWallet.getIdentity();
var server = $scope.servers[$scope.selectedServerIdx];
if (identity.connections.removeServer(server)) {
$scope.selectedServerIdx = identity.connections.selectedServer;
$scope.selectedServer = identity.connections.servers[$scope.selectedServerIdx];
}
};

// Connect the given server, triggered by select changing $scope.selectedServerIdx
$scope.connectServer = function() {
var identity = DarkWallet.getIdentity();
Expand Down
18 changes: 18 additions & 0 deletions js/model/connections.js
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,24 @@ Connections.prototype.addServer = function(name, address, type) {
this.store.save();
};

/**
* Remove a server from the list
* @param {Object} server The server object to remove.
* The server can't be the currently selected one
*/
Connections.prototype.removeServer = function(server) {
var serverIdx = this.servers.indexOf(server);
if (serverIdx > -1 && serverIdx !== this.selectedServer) {
this.servers.splice(serverIdx, 1);
if (this.selectedServer > serverIdx) {
this.selectedServer -= 1;
this.connections.selectedServer = this.selectedServer;
}
this.store.save();
return true;
}
};


/**
* Set the selected server
Expand Down

0 comments on commit 3d1521b

Please sign in to comment.