Skip to content
Snippets Groups Projects
Commit fc9e322d authored by Benoit Lavenier's avatar Benoit Lavenier
Browse files

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	www/js/config.js
parents d39d58aa f9ce0f88
No related branches found
No related tags found
No related merge requests found
......@@ -77,7 +77,8 @@
"ACCOUNT": "My Account",
"TRANSFER": "Transfer",
"SCAN": "Scan",
"SETTINGS": "Settings"
"SETTINGS": "Settings",
"NETWORK": "Network"
},
"ABOUT": {
"TITLE": "About",
......
......@@ -77,7 +77,8 @@
"ACCOUNT": "Mon compte",
"TRANSFER": "Virement",
"SCAN": "Scanner",
"SETTINGS": "Paramètres"
"SETTINGS": "Paramètres",
"NETWORK" : "Réseau"
},
"ABOUT": {
"TITLE": "A propos",
......
......@@ -79,6 +79,7 @@
<script src="dist/dist_js/app/controllers/wallet-controllers.js"></script>
<script src="dist/dist_js/app/controllers/wot-controllers.js"></script>
<script src="dist/dist_js/app/controllers/peer-controllers.js"></script>
<script src="dist/dist_js/app/controllers/network-controllers.js"></script>
<script src="dist/dist_js/app/controllers/currency-controllers.js"></script>
<script src="dist/dist_js/app/controllers/currency-charts-controllers.js"></script>
<script src="dist/dist_js/app/controllers/transfer-controllers.js"></script>
......
......@@ -9,6 +9,7 @@ angular.module('cesium.controllers', [
/*'cesium.currency-charts.controllers',*/
'cesium.wot.controllers',
'cesium.transfer.controllers',
'cesium.settings.controllers'
'cesium.settings.controllers',
'cesium.network.controllers'
])
;
......@@ -37,29 +37,13 @@ angular.module('cesium.currency.controllers', ['cesium.services'])
controller: 'CurrencyViewCtrl'
}
}
})
.state('app.view_peer', {
url: "/currency/peer/:server",
nativeTransitions: {
"type": "flip",
"direction": "right"
},
views: {
'menuContent': {
templateUrl: "templates/currency/view_peer.html",
controller: 'PeerCtrl'
}
}
});
})
.controller('CurrencyLookupCtrl', CurrencyLookupController)
.controller('CurrencyViewCtrl', CurrencyViewController)
.controller('PeerCtrl', PeerController)
;
function CurrencyLookupController($scope, $state, UIUtils, csCurrency) {
......@@ -90,8 +74,6 @@ function CurrencyLookupController($scope, $state, UIUtils, csCurrency) {
}
function CurrencyViewController($scope, $q, $translate, $timeout, BMA, UIUtils, csSettings, csCurrency, csNetwork) {
$scope.loadingPeers = true;
$scope.formData = {
useRelative: csSettings.data.useRelative
};
......@@ -117,9 +99,9 @@ function CurrencyViewController($scope, $q, $translate, $timeout, BMA, UIUtils,
$scope.xpercent = 0;
$scope.$on('$ionicView.enter', function(e, state) {
$translate(['COMMON.DATE_PATTERN'])
.then(function($translations) {
$scope.datePattern = $translations['COMMON.DATE_PATTERN'];
$translate('COMMON.DATE_PATTERN')
.then(function(datePattern) {
$scope.datePattern = datePattern;
if (state.stateParams && state.stateParams.name) { // Load by name
csCurrency.searchByName(state.stateParams.name)
.then(function(currency){
......@@ -148,30 +130,6 @@ function CurrencyViewController($scope, $q, $translate, $timeout, BMA, UIUtils,
BMA.instance(currency.peer.host, currency.peer.port) : BMA;
UIUtils.loading.show();
if ($scope.loadingPeers){
csNetwork.start($scope.node);
// Catch event on new peers
var refreshing = false;
csNetwork.api.data.on.changed($scope, function(data){
if (!refreshing) {
refreshing = true;
$timeout(function() { // Timeout avoid to quick updates
console.debug("Updating UI Peers");
$scope.peers = data.peers;
// Update currency params
$scope.loadingPeers = csNetwork.isBusy();
refreshing = false;
$scope.loadParameter();
}, 1100);
}
});
$scope.$on('$destroy', function(){
csNetwork.close();
});
}
// Load currency parameters
$scope.loadParameter();
......@@ -266,17 +224,6 @@ function CurrencyViewController($scope, $q, $translate, $timeout, BMA, UIUtils,
});
};
$scope.refresh = function() {
UIUtils.loading.show();
$scope.loadParameter()
.then(function(){
// Network
$scope.loadingPeers = true;
csNetwork.loadPeers();
});
};
$scope.onUseRelativeChanged = function() {
if ($scope.loading) return;
if ($scope.formData.useRelative) {
......
angular.module('cesium.network.controllers', ['cesium.services'])
.config(function($stateProvider) {
'ngInject';
$stateProvider
.state('app.network_view', {
url: "/network/view",
views: {
'menuContent': {
templateUrl: "templates/network/view_network.html",
controller: 'NetworkViewCtrl'
}
},
})
.state('app.view_peer', {
url: "/network/peer/:server",
nativeTransitions: {
"type": "flip",
"direction": "right"
},
views: {
'menuContent': {
templateUrl: "templates/network/view_peer.html",
controller: 'PeerCtrl'
}
}
});
})
.controller('NetworkViewCtrl', NetworkViewController)
.controller('PeerCtrl', PeerController)
;
function NetworkViewController($scope, $q, $translate, $timeout, BMA, UIUtils, csSettings, csCurrency, csNetwork) {
$scope.loadingPeers = true;
$scope.formData = {
useRelative: csSettings.data.useRelative
};
$scope.screen = UIUtils.screen;
$scope.$on('$ionicParentView.enter', function(e, state) {
csCurrency.all()
.then(function (currencies) {
if (currencies && currencies.length > 0) {
$scope.load(currencies[0]);
}
})
.catch(UIUtils.onError('ERROR.GET_CURRENCY_FAILED'));
});
$scope.$on('$ionicParentView.beforeLeave', function(){
csNetwork.close();
});
$scope.load = function(currency) {
$scope.node = !BMA.node.same(currency.peer.host, currency.peer.port) ?
BMA.instance(currency.peer.host, currency.peer.port) : BMA;
if ($scope.loadingPeers){
csNetwork.start($scope.node);
// Catch event on new peers
var refreshing = false;
csNetwork.api.data.on.changed($scope, function(data){
if (!refreshing) {
refreshing = true;
$timeout(function() { // Timeout avoid to quick updates
console.debug("Updating UI Peers");
$scope.peers = data.peers;
// Update currency params
$scope.loadingPeers = csNetwork.isBusy();
refreshing = false;
}, 1100);
}
});
$scope.$on('$destroy', function(){
csNetwork.close();
});
}
// Show help tip
$scope.showHelpTip();
};
$scope.refresh = function() {
// Network
$scope.loadingPeers = true;
csNetwork.loadPeers();
};
// Show help tip
$scope.showHelpTip = function() {
if (!$scope.isLogin()) return;
index = csSettings.data.helptip.currency;
if (index < 0) return;
// Create a new scope for the tour controller
var helptipScope = $scope.createHelptipScope();
if (!helptipScope) return; // could be undefined, if a global tour already is already started
return helptipScope.startCurrencyTour(index, false)
.then(function(endIndex) {
helptipScope.$destroy();
csSettings.data.helptip.currency = endIndex;
csSettings.store();
});
};
}
......@@ -18,36 +18,7 @@
<span class="badge badge-stable">{{difficulty | formatInteger}}</span>
</ion-item>
<div id="helptip-currency-peers"
class="item item-divider item-icon-right">
{{'PEER.PEERS'|translate}}
<ion-spinner class="icon" icon="android" ng-if="loadingPeers"></ion-spinner>
<a class="icon ion-loop gray hidden-xs hidden-sm" ng-if="!loadingPeers" ng-click="refresh()">
</a>
</div>
<ng-include ng-controller="NetworkViewCtrl" src="'templates/network/tabs/view_nodes.html'" ></ng-include>
<a class="peer-item item item-icon-left"
ng-repeat="peer in peers track by peer.server"
id="helptip-currency-peer-{{$index}}"
ng-class="{ assertive: !peer.online, balanced: (peer.online && peer.hasMainConsensusBlock), energized: (peer.online && !peer.hasMainConsensusBlock)}"
ui-sref="app.view_peer({server: peer.server})">
<i class="icon ion-android-globe"></i>
<div class="row no-padding">
<div class="col no-padding">
<h3><i ng-class="{'ion-person': peer.uid, 'ion-key': !peer.uid}"></i> {{peer.uid || peer.pubkey.substr(0,8)}}</span> <span class="gray">{{peer.dns && ' | ' + peer.dns}}</h3>
<h4>{{peer.server}}</h4>
</div>
<div class="col col-10 no-padding" ng-if="settings.expertMode">
<h3 class="hidden-sm hidden-xs hidden-md">
<span ng-if="peer.level"><i class="ion-lock-combination"></i> {{peer.level}}</span>
<span ng-if="!peer.level" translate>PEER.MIRROR</span>
</h3>
<h4 class="hidden-sm hidden-xs hidden-md gray">v{{peer.version}}</h4>
</div>
<div class="col col-20 no-padding">
<span id="helptip-currency-peer-{{$index}}-block"
class="badge" ng-class="{ 'badge-balanced': peer.hasMainConsensusBlock, 'badge-energized': peer.hasConsensusBlock }">{{peer.currentNumber}}</span>
</div>
</div>
</a>
</div>
......@@ -63,6 +63,16 @@
<span translate>MENU.CURRENCY</span>
</ion-item>
<ion-item menu-close
id="helptip-menu-btn-network"
class="item item-icon-left"
active-link="active"
active-link-path-prefix="#/app/network"
href="#/app/network/view">
<i class="icon ion-android-globe"></i>
<span translate>MENU.NETWORK</span>
</ion-item>
<!-- Allow extension here -->
<cs-extension-point name="menu-discover"></cs-extension-point>
......
<div class="list">
<div id="helptip-currency-peers"
class="item item-divider item-icon-right">
{{'PEER.PEERS'|translate}}
<ion-spinner class="icon" icon="android" ng-if="loadingPeers"></ion-spinner>
<a class="icon ion-loop gray hidden-xs hidden-sm" ng-if="!loadingPeers" ng-click="refresh()">
</a>
</div>
<a class="peer-item item item-icon-left"
ng-repeat="peer in peers track by peer.server"
id="helptip-currency-peer-{{$index}}"
ng-class="{ assertive: !peer.online, balanced: (peer.online && peer.hasMainConsensusBlock), energized: (peer.online && !peer.hasMainConsensusBlock)}"
ui-sref="app.view_peer({server: peer.server})">
<i class="icon ion-android-globe"></i>
<div class="row no-padding">
<div class="col no-padding">
<h3><i ng-class="{'ion-person': peer.uid, 'ion-key': !peer.uid}"></i> {{peer.uid || peer.pubkey.substr(0,8)}}</span> <span class="gray">{{peer.dns && ' | ' + peer.dns}}</h3>
<h4>{{peer.server}}</h4>
</div>
<div class="col col-10 no-padding" ng-if="settings.expertMode">
<h3 class="hidden-sm hidden-xs hidden-md">
<span ng-if="peer.level"><i class="ion-lock-combination"></i> {{peer.level}}</span>
<span ng-if="!peer.level" translate>PEER.MIRROR</span>
</h3>
<h4 class="hidden-sm hidden-xs hidden-md gray">v{{peer.version}}</h4>
</div>
<div class="col col-20 no-padding">
<span id="helptip-currency-peer-{{$index}}-block"
class="badge" ng-class="{ 'badge-balanced': peer.hasMainConsensusBlock, 'badge-energized': peer.hasConsensusBlock }">{{peer.currentNumber}}</span>
</div>
</div>
</a>
</div>
<ion-view
left-buttons="leftButtons" class="pane"
cache-view="false"
>
<ion-nav-title>
</ion-nav-title>
<ion-nav-buttons side="secondary">
<button class="button button-icon button-clear icon ion-loop visible-xs visible-sm" ng-click="refresh()">
</button>
</ion-nav-buttons>
<ion-content>
<div class="row">
<div class="row responsive-sm">
<div class="col col-100">
<ng-include src="'templates/network/tabs/view_nodes.html'"></ng-include>
</div>
</div>
</ion-content>
</ion-view>
<ion-view>
<ion-nav-title>
<span translate>PEER.TITLE</span>
</ion-nav-title>
<ion-content class="has-header padding">
<div class="list">
<div class="item item-divider">
<h2 translate>PEER.KNOWN_PEERS</h2>
</div>
<div class="item center" ng-if="!loaded">
<ion-spinner class="icon" icon="android"></ion-spinner>
</div>
<a class="peer-item item item-icon-left"
collection-repeat="peer in peers"
ng-class="{ assertive: !peer.online, balanced: peer.online }"
target="_blank"
ng-href="{{peer.getURL()}}/blockchain/current">
<i class="icon ion-android-globe"></i>
<h3><span ng-class="{ positive: peer.uid }">{{peer.uid || peer.pubkey.substr(0,8)}}</span> <span class="gray">{{peer.dns && ' | ' + peer.dns}}</span></h3>
<h4>{{peer.getServer()}} <span class="gray">| {{'PEER.SIGNED_ON_BLOCK' | translate}}</span> #{{peer.blockNumber}}</h4>
<span class="badge" ng-class="{ 'badge-balanced': peer.hasMainConsensusBlock, 'badge-energized': peer.hasConsensusBlock }">{{peer.current.number}}</span>
</a>
</div>
</ion-content>
</ion-view>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment