@@ -2,7 +2,7 @@
|
||||
|
||||
/* Init Angular App */
|
||||
|
||||
var netStatsApp = angular.module('netStatsApp', ['netStatsApp.filters', 'netStatsApp.directives']);
|
||||
var netStatsApp = angular.module('netStatsApp', ['netStatsApp.filters', 'netStatsApp.directives', 'ngStorage']);
|
||||
|
||||
|
||||
/* Services */
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
|
||||
/* Controllers */
|
||||
|
||||
netStatsApp.controller('StatsCtrl', function($scope, $filter, socket, _, toastr) {
|
||||
netStatsApp.controller('StatsCtrl', function($scope, $filter, $localStorage, socket, _, toastr) {
|
||||
|
||||
var MAX_BINS = 40;
|
||||
|
||||
@@ -37,8 +37,9 @@ netStatsApp.controller('StatsCtrl', function($scope, $filter, socket, _, toastr)
|
||||
|
||||
$scope.currentApiVersion = "0.0.12";
|
||||
|
||||
$scope.predicate = ['-pinned', '-stats.active', '-stats.block.number', 'stats.block.propagation'];
|
||||
$scope.reverse = false;
|
||||
$scope.predicate = $localStorage.predicate || ['-pinned', '-stats.active', '-stats.block.number', 'stats.block.propagation'];
|
||||
$scope.reverse = $localStorage.reverse || false;
|
||||
$scope.pinned = $localStorage.pinned || [];
|
||||
|
||||
$scope.prefixPredicate = ['-pinned', '-stats.active'];
|
||||
$scope.originalPredicate = ['-stats.block.number', 'stats.block.propagation'];
|
||||
@@ -63,6 +64,30 @@ netStatsApp.controller('StatsCtrl', function($scope, $filter, socket, _, toastr)
|
||||
|
||||
$scope.predicate = _.union($scope.prefixPredicate, predicate);
|
||||
}
|
||||
|
||||
$localStorage.predicate = $scope.predicate;
|
||||
$localStorage.reverse = $scope.reverse;
|
||||
}
|
||||
|
||||
$scope.pinNode = function(id)
|
||||
{
|
||||
index = findIndex({id: id});
|
||||
|
||||
if( !_.isUndefined($scope.nodes[index]) )
|
||||
{
|
||||
$scope.nodes[index].pinned = !$scope.nodes[index].pinned;
|
||||
|
||||
if($scope.nodes[index].pinned)
|
||||
{
|
||||
$scope.pinned.push(id);
|
||||
}
|
||||
else
|
||||
{
|
||||
$scope.pinned.splice($scope.pinned.indexOf(id), 1);
|
||||
}
|
||||
}
|
||||
|
||||
$localStorage.pinned = $scope.pinned;
|
||||
}
|
||||
|
||||
var timeout = setInterval(function ()
|
||||
@@ -132,7 +157,7 @@ netStatsApp.controller('StatsCtrl', function($scope, $filter, socket, _, toastr)
|
||||
}
|
||||
|
||||
// Init or recover pin
|
||||
$scope.nodes[index].pinned = _.result(_.find(oldNodes, 'id', node.id), 'pinned', false);
|
||||
$scope.nodes[index].pinned = ($scope.pinned.indexOf(node.id) >= 0 ? true : false);
|
||||
});
|
||||
|
||||
if($scope.nodes.length > 0)
|
||||
|
||||
1
src/js/lib/ngStorage.min.js
vendored
Normal file
1
src/js/lib/ngStorage.min.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
/*! ngstorage 0.3.4 | Copyright (c) 2015 Gias Kay Lee | MIT License */!function(a,b){"use strict";return"function"==typeof define&&define.amd?void define("ngStorage",["angular"],function(a){return b(a)}):b(a)}("undefined"==typeof angular?null:angular,function(a){"use strict";function b(b){return["$rootScope","$window","$log","$timeout",function(c,d,e,f){function g(a){var b=d[a];if(b&&"localStorage"===a){var c="__"+Math.round(1e7*Math.random());try{localStorage.setItem(c,c),localStorage.removeItem(c)}catch(e){b=!1}}return b}var h,i,j=g(b)||(e.warn("This browser does not support Web Storage!"),{setItem:function(){},getItem:function(){}}),k={$default:function(b){for(var c in b)a.isDefined(k[c])||(k[c]=b[c]);return k},$reset:function(a){for(var b in k)"$"===b[0]||delete k[b];return k.$default(a)}};try{j=d[b],j.length}catch(l){e.warn("This browser does not support Web Storage!"),j={}}for(var m,n=0,o=j.length;o>n;n++)(m=j.key(n))&&"ngStorage-"===m.slice(0,10)&&(k[m.slice(10)]=a.fromJson(j.getItem(m)));return h=a.copy(k),c.$watch(function(){var b;i||(i=f(function(){if(i=null,!a.equals(k,h)){b=a.copy(h),a.forEach(k,function(c,d){a.isDefined(c)&&"$"!==d[0]&&j.setItem("ngStorage-"+d,a.toJson(c)),delete b[d]});for(var c in b)j.removeItem("ngStorage-"+c);h=a.copy(k)}},100,!1))}),"localStorage"===b&&d.addEventListener&&d.addEventListener("storage",function(b){"ngStorage-"===b.key.slice(0,10)&&(b.newValue?k[b.key.slice(10)]=a.fromJson(b.newValue):delete k[b.key.slice(10)],h=a.copy(k),c.$apply())}),k}]}a.module("ngStorage",[]).factory("$localStorage",b("localStorage")).factory("$sessionStorage",b("sessionStorage"))});
|
||||
Reference in New Issue
Block a user