diff --git a/www/i18n/locale-fr-FR.json b/www/i18n/locale-fr-FR.json index 01bf470174b8536dee5cc71c11d057e52cf72f31..9174887130fb8f0888a32f0745391dac8feedf57 100644 --- a/www/i18n/locale-fr-FR.json +++ b/www/i18n/locale-fr-FR.json @@ -122,7 +122,7 @@ "TITLE" : "Noeud Duniter", "HELP" : "Saisissez l'adresse du noeud que vous voulez utiliser :" }, - "SHOW_NODE_LIST" : "Choisir un noeud" + "SHOW_NODE_LIST" : "ou choisissez dans la liste" }, "CURRENCY": { "SELECT": { diff --git a/www/js/controllers/network-controllers.js b/www/js/controllers/network-controllers.js index 4aa30c686f11d25c99f2e1c7998dae395002ab5e..e54930cf1a479b293d2638b7e77b22060615dd61 100644 --- a/www/js/controllers/network-controllers.js +++ b/www/js/controllers/network-controllers.js @@ -118,7 +118,7 @@ function NetworkViewController($scope, $q, $translate, $timeout, BMA, UIUtils, c } function NetworkModalController($scope, $q, $translate, $timeout, $ionicPopover, BMA, - UIUtils, csSettings, csCurrency, csNetwork) { + UIUtils, csSettings, csCurrency, csNetwork, ModalUtils) { $scope.loadingPeers = true; $scope.formData = { useRelative: csSettings.data.useRelative @@ -126,6 +126,7 @@ function NetworkModalController($scope, $q, $translate, $timeout, $ionicPopover, $scope.enableFilter = true; $scope.display='members'; $scope.screen = UIUtils.screen; + $scope.nbMembersPeers = 0; csCurrency.all() .then(function (currencies) { @@ -154,9 +155,11 @@ function NetworkModalController($scope, $q, $translate, $timeout, $ionicPopover, // Update currency params $scope.loadingPeers = csNetwork.isBusy(); + $scope.countMembersNodes(); refreshing = false; - }, 1100); + }, 1100) } + }); $scope.$on('$destroy', function(){ csNetwork.close(); @@ -170,10 +173,18 @@ function NetworkModalController($scope, $q, $translate, $timeout, $ionicPopover, csNetwork.loadPeers(); }; + $scope.countMembersNodes = function(){ + for(var i=0; i<$scope.peers.length; i++){ + if ($scope.peers[i].level){ + $scope.nbMembersPeers++; + } + } + }; + $scope.changeDisplay = function(type){ $scope.hideActionsPopover(); $scope.display = type; - } + }; /* -- show/hide popup -- */ diff --git a/www/js/controllers/settings-controllers.js b/www/js/controllers/settings-controllers.js index 5777488bc0d22a96b12051f2b4dd7ff7e21e3c67..bce96d953182a15ef9d06fbeb7fde2ce3c1376ac 100644 --- a/www/js/controllers/settings-controllers.js +++ b/www/js/controllers/settings-controllers.js @@ -95,28 +95,30 @@ function SettingsController($scope, $q, $ionicPopup, $timeout, $translate, csHtt }); }; - $scope.showNodeList = function(){ - $ionicPopup._popupStack[0].responseDeferred.resolve(); + $scope.showNodeList = function() { + $ionicPopup._popupStack[0].responseDeferred.promise.close(); return ModalUtils.show('/templates/network/modal_network.html', 'NetworkModalCtrl') - .then(function(result){ - if (result){ - var parts = result.server.split(':'); - var newNode; - if(result.dns){ - newNode = { - host: result.dns, - port: parts[1] - }; - } - else{ - newNode = { - host: parts[0], - port: parts[1] + .then(function (result) { + if (result) { + var parts = result.server.split(':'); + var newNode; + if (result.dns) { + return newNode = { + host: result.dns, + port: parts[1] + }; } - }; - $scope.changeNode(newNode); - } - }); + else { + return newNode = { + host: parts[0], + port: parts[1] + }; + } + } + }) + .then(function(newNode) { + $scope.changeNode(newNode); + }); }; // Show node popup diff --git a/www/templates/network/modal_network.html b/www/templates/network/modal_network.html index bc18080bf8a67b81865f2647cd983608f8a40408..690eff536e20bbe7091eee1b49384b46f0e1dfeb 100644 --- a/www/templates/network/modal_network.html +++ b/www/templates/network/modal_network.html @@ -2,51 +2,50 @@ <ion-header-bar class="bar-positive"> <button class="button button-clear" ng-click="closeModal()" translate>COMMON.BTN_CANCEL</button> <h1 class="title" translate>PEER.NODE_LIST</h1> + <ion-spinner class="pull-right button button-icon hidden-xs hidden-sm" icon="android" ng-if="loadingPeers"></ion-spinner> + <button class="pull-right button button-icon ion-loop button-clear hidden-xs hidden-sm" ng-if="!loadingPeers" ng-click="refresh()"> + </button> <button class="button button-icon button-clear icon ion-android-more-vertical visible-xs visible-sm" ng-click="showActionsPopover($event)"> </button> - </ion-header-bar> + </ion-header-bar> <ion-content scroll="true"> <div class="list"> - <div id="helptip-currency-peers" - class="item item-divider item-icon-right visible-xs visible-sm" - ng-if="display=='allNodes'||!enableFilter"> - {{'PEER.ALL_NODES' | translate}} - <ion-spinner class="icon" icon="android" ng-if="loadingPeers"></ion-spinner> - </div> - - <div id="helptip-currency-peers" - class="item item-divider item-icon-right visible-xs visible-sm" - ng-if="display=='members'"> - {{'PEER.MEMBERS' | 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> - - <div id="helptip-currency-peers" - class="item item-divider item-icon-right hidden-xs hidden-sm"> - {{'PEER.PEERS' | translate}} - <ion-spinner class="icon" icon="android" ng-if="loadingPeers"></ion-spinner> - <a class="icon ion-loop gray " ng-if="!loadingPeers" ng-click="refresh()"> - </a> - </div> - - <div class="text-center hidden-xs hidden-sm" ng-if="enableFilter"> - <a class="button button-text button-small ink icon ion-android-people" - ng-class="{'button-text-positive': display=='members'}" - ng-click="changeDisplay('members')"> - {{'PEER.MEMBERS' | translate}} - </a> - - <a class="button button-text button-small ink icon ion-ios-infinite" - ng-class="{'button-text-positive': display=='allNodes'}" - ng-click="changeDisplay('allNodes')"> - {{'PEER.ALL_NODES' | translate}} - </a> - - </div> + <div class="padding padding-xs" style="display: block; height: 60px;"> + <div id="helptip-currency-peers" class="pull-left"> + <h4 class="visible-xs visible-sm" + ng-if="display=='allNodes'||!enableFilter"> + {{'PEER.ALL_NODES' | translate}} ({{peers.length}}) : + </h4> + <h4 class="visible-xs visible-sm" + ng-if="display=='members'"> + {{'PEER.MEMBERS' | translate}} ({{nbMembersPeers}}) : + </h4> + <h4 class="hidden-xs hidden-sm" + ng-if="display=='allNodes'||!enableFilter"> + {{'PEER.PEERS' | translate}} ({{peers.length}}) : + </h4> + <h4 class="hidden-xs hidden-sm" + ng-if="display=='members'"> + {{'PEER.PEERS' | translate}} ({{nbMembersPeers}}) : + </h4> + </div> + <div class="pull-right hidden-xs hidden-sm" ng-if="enableFilter"> + <a class="button button-text button-small ink icon ion-android-people" + ng-class="{'button-text-positive': display=='members'}" + ng-click="changeDisplay('members')"> + {{'PEER.MEMBERS' | translate}} + </a> + + <a class="button button-text button-small ink icon ion-ios-infinite" + ng-class="{'button-text-positive': display=='allNodes'}" + ng-click="changeDisplay('allNodes')"> + {{'PEER.ALL_NODES' | translate}} + </a> + + </div> + </div> <ng-click class="peer-item item item-icon-left" ng-repeat="peer in peers track by peer.server" id="helptip-currency-peer-{{$index}}" diff --git a/www/templates/settings/popup_node.html b/www/templates/settings/popup_node.html index 313129bf1c5da560c441cd1509373e3fa3b4d0e6..2c66c52d69acba065c8c613bf3decaf15e3fd88b 100644 --- a/www/templates/settings/popup_node.html +++ b/www/templates/settings/popup_node.html @@ -1,17 +1,17 @@ <form name="popupForm" ng-submit=""> <div class="list" ng-init="setPopupForm(popupForm)"> - <label class="item item-input" - ng-class="{'item-input-error': popupForm.$submitted && popupForm.newNode.$invalid}"> - <input name="newNode" type="text" placeholder="{{'SETTINGS.NODE_HELP' | translate}}" - ng-model="popupData.newNode" - ng-minlength="3" - required> - </label> - <button class="button-clear button-small gray pull-right" - ng-mousedown="showNodeList()">{{'SETTINGS.SHOW_NODE_LIST' | translate}} - <i class="icon-right ion-chevron-right gray"></i> - </button> - + <label class="item item-input" + ng-class="{'item-input-error': popupForm.$submitted && popupForm.newNode.$invalid}"> + <input name="newNode" type="text" placeholder="{{'SETTINGS.NODE_HELP' | translate}}" + ng-model="popupData.newNode" + ng-minlength="3" + required> + </label> + <ion-item class="item item-icon-right item-text-wrap ink in in done done" ng-click="showNodeList()"> + <h5 class="popup-sub-title">{{'SETTINGS.SHOW_NODE_LIST' | translate}}</h5> + <i class="icon ion-ios-arrow-right"></i> + </ion-item> + </div> <div class="form-errors" ng-if="popupForm.$submitted && popupForm.newNode.$error" ng-messages="popupForm.newNode.$error">