diff --git a/app/js/controllers/main/home/tabs/LogsController.js b/app/js/controllers/main/home/tabs/LogsController.js index 8439975b1b2b7dc46f975bb0387e3e3145fc861d..3af6ade190b828fb399eb3f3aca349d150f5f287 100644 --- a/app/js/controllers/main/home/tabs/LogsController.js +++ b/app/js/controllers/main/home/tabs/LogsController.js @@ -12,7 +12,7 @@ module.exports = ($scope, ws, UIUtils) => { if (!localStorage.getItem('log_warn')) localStorage.setItem('log_warn', true); if (!localStorage.getItem('log_info')) localStorage.setItem('log_info', true); - $scope.logsSize = 100; + $scope.logsSize = parseInt(localStorage.getItem('log_size')) || 100; $scope.logs = _.range(0, $scope.logsSize).map(() => ""); $scope.logsString = ""; $scope.follow = true; @@ -32,7 +32,8 @@ module.exports = ($scope, ws, UIUtils) => { }); }); - $scope.$watch('logsSize', () => { + $scope.$watch('logsSize', (newValue) => { + localStorage.setItem('log_size', newValue); addLogs({ value: [] }, true); }); diff --git a/app/js/lib/conf/i18n/en.json b/app/js/lib/conf/i18n/en.json index f8bf2b7a0022e964bd0104e900933d2080f6bc91..95fa79aa319d1158da922cd4a43fc7da65a0a7c2 100644 --- a/app/js/lib/conf/i18n/en.json +++ b/app/js/lib/conf/i18n/en.json @@ -2,6 +2,7 @@ "top.menu.overview": "Home", "top.menu.graphs": "Graphs", "top.menu.settings": "Settings", + "top.menu.logs": "Logs", "general.server.started": "Server started", "general.server.stopped": "Server stopped", "general.choose_option": "Choose your option", diff --git a/app/js/lib/conf/routes.js b/app/js/lib/conf/routes.js index 688cf336c11fde362ae47a643c5f36abaf3f4cbe..96812d6d48fde294834a674797514d63842f0442 100644 --- a/app/js/lib/conf/routes.js +++ b/app/js/lib/conf/routes.js @@ -115,12 +115,6 @@ module.exports = (app) => { controller: 'OverviewController' }). - state('main.home.logs', { - url: '/logs', - template: require('views/main/home/tabs/logs'), - controller: 'LogsController' - }). - state('main.settings', { abstract: true, url: '/settings', @@ -218,6 +212,15 @@ module.exports = (app) => { // controller: 'CurrencyController' //}). + state('logs', { + url: '/logs', + template: require('views/logs'), + resolve: { + ws: (BMA) => BMA.webmin.ws() + }, + controller: 'LogsController' + }). + state('error', { url: '/error\?err', template: require('views/error'), diff --git a/app/styles/main.styl b/app/styles/main.styl index a5c29531a2c3f6fc9613d0e226536288f4670bca..a7afa24a50ced5740b1252e73b9e7fa854aaafdf 100644 --- a/app/styles/main.styl +++ b/app/styles/main.styl @@ -135,9 +135,21 @@ blockquote .tabs .tab.disabled a color #9EA8AC +#card-logs + position fixed + margin: 0 + width 90% + + label + margin-right 30px + #logs font-size 12px - max-height 400px + padding 10px + padding-top 200px + margin 0 + overflow: auto + height 100% #logs p line-height 21px @@ -147,10 +159,6 @@ blockquote #follow-logs float right -.logs - label - margin-right 30px - .log-level.info color: blue diff --git a/app/views/logs.jade b/app/views/logs.jade new file mode 100644 index 0000000000000000000000000000000000000000..051dba3a131e879c90bcdee2a25f20a66213ce22 --- /dev/null +++ b/app/views/logs.jade @@ -0,0 +1,29 @@ +extends menu.jade + +block content + .card#card-logs + .card-action.left-align + p + input#follow-logs.filled-in(type="checkbox" ng-model="follow") + label(for="follow-logs") {{ 'home.tabs.logs.follow.logs' | translate }} + input#pause-logs.filled-in(type="checkbox" ng-model="pause") + label(for="pause-logs") {{ 'home.tabs.logs.pause.logs' | translate }} + input#level-error.filled-in(type="checkbox" ng-model="levels.error") + label(for="level-error") {{ 'home.tabs.logs.level.error' | translate }} + input#level-warn.filled-in(type="checkbox" ng-model="levels.warn") + label(for="level-warn") {{ 'home.tabs.logs.level.warn' | translate }} + input#level-info.filled-in(type="checkbox" ng-model="levels.info") + label(for="level-info") {{ 'home.tabs.logs.level.info' | translate }} + input#level-debug.filled-in(type="checkbox" ng-model="levels.debug") + label(for="level-debug") {{ 'home.tabs.logs.level.debug' | translate }} + input#level-trace.filled-in(type="checkbox" ng-model="levels.trace") + label(for="level-trace") {{ 'home.tabs.logs.level.trace' | translate }} + p {{ 'graphs.blockchain.range' | translate }} + .range-field + input(type="range" min="10" max="10000" ng-model="logsSize" ng-mouseup="changeSize()") + + pre#logs + p(ng-repeat="log in logs track by $index") + span.log-time {{ log.timestamp }} + span.log-level(class="{{ log.level }}") {{ log.level }} + span.log-msg(class="{{ log.level }}") {{ log.msg }} diff --git a/app/views/main/home/home.jade b/app/views/main/home/home.jade index dc55a6976ce9d7088e39511e025e16542edbd994..32e3a6e62b25eac40932421619c5cac57c851691 100644 --- a/app/views/main/home/home.jade +++ b/app/views/main/home/home.jade @@ -7,8 +7,8 @@ main.home-main.main-screen li.tab.col.s3: a(href="#main.home.overview") i.fa.fa-photo = " {{ 'home.tabs.overview' | translate }}" - li.tab.col.s3: a(href="#main.home.logs") - i.fa.fa-newspaper-o - = " {{ 'home.tabs.logs' | translate }}" + //li.tab.col.s3: a(href="#main.home.logs") + // i.fa.fa-newspaper-o + // = " {{ 'home.tabs.logs' | translate }}" div.ui-scrollable(ui-view="") \ No newline at end of file diff --git a/app/views/main/main.jade b/app/views/main/main.jade index bd4a8a84055abb5e316e7139ad4d82bfcd2d3157..04751aca99c905d6e1ed3d304c60e7429cd91b9b 100644 --- a/app/views/main/main.jade +++ b/app/views/main/main.jade @@ -31,6 +31,10 @@ block content a.waves-effect.waves-light(ui-sref="main.settings.data") i.fa.fa-2x.fa-gear.left span {{ 'top.menu.settings' | translate }} + li + a.waves-effect.waves-light(ui-sref="logs" target="_blank") + i.fa.fa-2x.fa-align-left.left + span {{ 'top.menu.logs' | translate }} ul.right li: a.waves-effect.waves-light.dropdown-button(href="#!" data-activates="serveractions"): i.material-icons more_vert