Merge pull request #365 from colkito/feature/settings-page

Feature/settings page
This commit is contained in:
Gustavo Maximiliano Cortez 2014-05-13 15:12:24 -03:00
commit b7bde5d749
5 changed files with 99 additions and 4 deletions

View File

@ -1,6 +1,7 @@
'use strict';
var config = {
var localConfig = JSON.parse(localStorage.getItem('config'));
var defaultConfig = {
networkName: 'testnet',
network: {
// key: 'lwjd5qra8257b9', //Copay API key for public PeerJS server
@ -11,7 +12,7 @@ var config = {
//path: '/',
//
key: 'g23ihfh82h35rf', // api key for the peerjs server
host: '162.242.219.26', // peerjs server
host: '162.242.245.33', // peerjs server
port: 10009,
path: '/',
maxPeers: 15,
@ -105,6 +106,18 @@ var config = {
verbose: 1,
};
var config = defaultConfig;
// Merge localConfig
if (localConfig) {
var count = 0;
for (name in localConfig) {
if (localConfig.hasOwnProperty(name)) {
config[name] = localConfig[name];
}
}
}
var log = function() {
if (config.verbose) console.log(arguments);
}

View File

@ -25,6 +25,8 @@
<a class="button radius small-icon" title="Manual Refresh"
ng-disabled="$root.loading"
ng-click="refresh()"><i class="fi-refresh"></i></a>
<a class="button radius small-icon" title="Settings"
ng-disabled="$root.loading" href="#settings"><i class="fi-widget"></i></a>
<a class="button radius small-icon" title="Signout"
ng-click="signout()"><i class="fi-power"></i></a>
</div>
@ -199,6 +201,7 @@
<div class="row">
<div class="large-12 columns text-center line-dashed">
<a href="#settings">Settings</a> &middot;
<span ng-show="wallets.length">
<a href="#/setup">Create a new wallet</a> &middot;
</span>
@ -562,7 +565,7 @@
<!-- BACKUP -->
<script type="text/ng-template" id="backup.html">
<div class="backup" data-ng-controller="BackupController">
<div class="backup" ng-controller="BackupController">
<h3>{{title}}</h3>
<div class="row text-center">
<div class="large-6 medium-6 columns">
@ -581,6 +584,49 @@
</div>
</script>
<!-- CONFIG -->
<script type="text/ng-template" id="settings.html">
<div class="settings" ng-controller="SettingsController">
<h3>{{title}}</h3>
<div class="small-12 medium-6 medium-centered large-6 large-centered columns">
<fieldset>
<legend>Network Name</legend>
<input id="network-name" type="checkbox" ng-model="networkName" ng-true-value="livenet" ng-false-value="testnet">
<label for="network-name">Livenet</label>
</fieldset>
<fieldset>
<legend>Blockchain</legend>
<div class="row">
<label for="blockchain-host">Host</label>
<input type="text" ng-model="blockchainHost">
</div>
<div class="row">
<label for="blockchain-port">Port</label>
<input type="number" ng-model="blockchainPort">
</div>
</fieldset>
<fieldset>
<legend>Socket</legend>
<div class="row">
<label for="socket-host">Host</label>
<input type="text" ng-model="socketHost">
</div>
<div class="row">
<label for="socket-port">Port</label>
<input type="number" ng-model="socketPort">
</div>
</fieldset>
</div>
<div class="row">
<div class="large-12 columns line-dashed">
<button type="submit" class="button primary radius right ng-binding" ng-disabled="setupForm.$invalid || loading" disabled="disabled" ng-click="save()">
Save
</button>
<a class="button secondary radius" href="#signin" ng-hide="$root.wallet">Signin</a>
</div>
</div>
</div>
</script>
<!-- UNSUPPORTED -->
<script type="text/ng-template" id="unsupported.html">
@ -644,6 +690,7 @@ on supported browsers please check <a href="http://www.webrtc.org/">http://www.w
<script src="js/controllers/signin.js"></script>
<script src="js/controllers/setup.js"></script>
<script src="js/controllers/import.js"></script>
<script src="js/controllers/settings.js"></script>
<script src="js/init.js"></script>
</body>

View File

@ -21,7 +21,8 @@ var copayApp = window.copayApp = angular.module('copay',[
'copay.directives',
'copay.video',
'copay.import',
'copay.passphrase'
'copay.passphrase',
'copay.settings'
]);
angular.module('copay.header', []);
@ -39,4 +40,5 @@ angular.module('copay.directives', []);
angular.module('copay.video', []);
angular.module('copay.import', []);
angular.module('copay.passphrase', []);
angular.module('copay.settings', []);

View File

@ -0,0 +1,29 @@
'use strict';
angular.module('copay.settings').controller('SettingsController',
function($scope, $rootScope, $window) {
$scope.title = 'Settings';
$scope.networkName = config.networkName;
$scope.blockchainHost = config.blockchain.host;
$scope.blockchainPort = config.blockchain.port;
$scope.socketHost = config.socket.host;
$scope.socketPort = config.socket.port;
$scope.save = function() {
localStorage.setItem('config', JSON.stringify({
networkName: $scope.networkName,
blockchain: {
host: $scope.blockchainHost,
port: $scope.blockchainPort
},
socket: {
host: $scope.socketHost,
port: $scope.socketPort
}
})
);
$window.location.reload();
};
});

View File

@ -42,6 +42,10 @@ angular
templateUrl: 'backup.html',
validate: true
})
.when('/settings', {
templateUrl: 'settings.html',
validate: false
})
.when('/unsupported', {
templateUrl: 'unsupported.html'
})