diff options
author | Koren Lev <korenlev@gmail.com> | 2017-10-02 11:37:03 +0300 |
---|---|---|
committer | Yaron Yogev <yaronyogev@gmail.com> | 2017-10-03 10:13:23 +0000 |
commit | 1fff14f0a5e25adaa851537c71c7bd8381c1bbb1 (patch) | |
tree | 4c2104a7de50858f34f930db8be36ae7b0efb29f /ui/imports/ui/components/dashboard | |
parent | d0adff06bed72f9a0edd7adccfa6a1111784bc8b (diff) |
ui move to docker
Change-Id: Iff31ebb3fff782e848704801b7800fdf480264a1
Signed-off-by: Koren Lev <korenlev@gmail.com>
(cherry picked from commit a9691f5fe78af32c474754f841a71a68e2d2a484)
Diffstat (limited to 'ui/imports/ui/components/dashboard')
-rw-r--r-- | ui/imports/ui/components/dashboard/dashboard.html | 62 | ||||
-rw-r--r-- | ui/imports/ui/components/dashboard/dashboard.js | 273 | ||||
-rw-r--r-- | ui/imports/ui/components/dashboard/dashboard.styl | 40 |
3 files changed, 0 insertions, 375 deletions
diff --git a/ui/imports/ui/components/dashboard/dashboard.html b/ui/imports/ui/components/dashboard/dashboard.html deleted file mode 100644 index 1edf507..0000000 --- a/ui/imports/ui/components/dashboard/dashboard.html +++ /dev/null @@ -1,62 +0,0 @@ -<!-- -######################################################################################## -# Copyright (c) 2017 Koren Lev (Cisco Systems), Yaron Yogev (Cisco Systems) and others # -# # -# All rights reserved. This program and the accompanying materials # -# are made available under the terms of the Apache License, Version 2.0 # -# which accompanies this distribution, and is available at # -# http://www.apache.org/licenses/LICENSE-2.0 # -######################################################################################## - --> -<template name="Dashboard"> - - <div class="os-dashboard"> - - <div class="site-sidenav-collapse"> - <i class="material-icons">menu</i> - </div> - - <div class="sm-main-layout-no-nav"> - - <!-- this flex box separate environment cards from alerts --> - <div class="sm-main-row"> - - <!-- this flex box for environment cards --> - <div class="sm-environments"> - {{#each envItem in envList}} - <div class="item"> - {{> EnvironmentBox (argsEnvBox - envItem.name - (regoinsCount envItem.name) - (regoins envItem.name) - (projectsCount envItem.name) - (projects envItem.name) - (instancesCount envItem.name) - (vservicesCount envItem.name) - (vconnectorsCount envItem.name) - ) }} - </div> - {{/each}} <!-- envItem in envList --> - - </div> <!-- flex box for environment cards --> - - <!-- this flex box for alerts cards --> - <div class="sm-side-container"> - - <div class="sm-messages-section"> - {{#each messagesInfoBox in (getListMessagesInfoBox) }} - <div class="sm-message-box"> - {{> MessagesInfoBox (argsMessagesInfoBox messagesInfoBox - (countOf (msgCounterName messagesInfoBox.level))) }} - </div> - {{/each }} - </div> - - </div> <!-- flex box for alerts cards --> - - </div> - - </div> <!-- main-layout --> - </div> - -</template> diff --git a/ui/imports/ui/components/dashboard/dashboard.js b/ui/imports/ui/components/dashboard/dashboard.js deleted file mode 100644 index 625f8ee..0000000 --- a/ui/imports/ui/components/dashboard/dashboard.js +++ /dev/null @@ -1,273 +0,0 @@ -///////////////////////////////////////////////////////////////////////////////////////// -// Copyright (c) 2017 Koren Lev (Cisco Systems), Yaron Yogev (Cisco Systems) and others / -// / -// All rights reserved. This program and the accompanying materials / -// are made available under the terms of the Apache License, Version 2.0 / -// which accompanies this distribution, and is available at / -// http://www.apache.org/licenses/LICENSE-2.0 / -///////////////////////////////////////////////////////////////////////////////////////// -/* - * Template Component: Dashboard - */ - -//import * as R from 'ramda'; -import * as _ from 'lodash'; -import { Environments } from '/imports/api/environments/environments'; -import { //Messages, - calcIconForMessageLevel, lastMessageTimestamp, calcColorClassForMessagesInfoBox -} from '/imports/api/messages/messages'; -import { Template } from 'meteor/templating'; -import { Inventory } from '/imports/api/inventories/inventories'; -import { Counts } from 'meteor/tmeasday:publish-counts'; -//import { Counter } from 'meteor/natestrauser:publish-performant-counts'; -//import { Messages } from '/imports/api/messages/messages'; -import { store } from '/imports/ui/store/store'; -import { setMainAppSelectedEnvironment } from '/imports/ui/actions/main-app.actions'; -import { UserSettings } from '/imports/api/user-settings/user-settings'; - -import '/imports/ui/components/messages-info-box/messages-info-box'; -import '/imports/ui/components/environment-box/environment-box'; - -import './dashboard.html'; - -/* - * Lifecycle methods - */ - -Template.Dashboard.onCreated(function () { - var instance = this; - - instance.state = new ReactiveDict(); - instance.state.setDefault({ - msgsViewBackDelta: 1 - }); - - instance.autorun(function () { - instance.subscribe('environments_config'); - - instance.subscribe('messages/count?level', 'info'); - instance.subscribe('messages/count?level', 'warning'); - instance.subscribe('messages/count?level', 'error'); - - Environments.find({}).forEach(function (envItem) { - instance.subscribe('inventory?env+type', envItem.name, 'instance'); - instance.subscribe('inventory?env+type', envItem.name, 'vservice'); - instance.subscribe('inventory?env+type', envItem.name, 'host'); - instance.subscribe('inventory?env+type', envItem.name, 'vconnector'); - instance.subscribe('inventory?env+type', envItem.name, 'project'); - instance.subscribe('inventory?env+type', envItem.name, 'region'); - }); - - store.dispatch(setMainAppSelectedEnvironment(null)); - }); - - instance.autorun(function () { - instance.subscribe('user_settings?user'); - UserSettings.find({user_id: Meteor.userId()}).forEach((userSettings) => { - instance.state.set('msgsViewBackDelta', userSettings.messages_view_backward_delta); - }); - }); - - instance.autorun(function () { - let msgsViewBackDelta = instance.state.get('msgsViewBackDelta'); - - instance.subscribe('messages/count?backDelta&level', msgsViewBackDelta, 'info'); - instance.subscribe('messages/count?backDelta&level', msgsViewBackDelta, 'warning'); - instance.subscribe('messages/count?backDelta&level', msgsViewBackDelta, 'error'); - }); -}); - -Template.Dashboard.rendered = function(){ - - /* - $.getScript('https://www.gstatic.com/charts/loader.js', function() { - google.charts.load('current', {'packages':['gauge', 'line']}); - google.charts.setOnLoadCallback(drawLine); - - - function drawLine() { - var data = new google.visualization.DataTable(); - data.addColumn('number', 'Traffic Webex'); - data.addColumn('number', 'Traffic metapod'); - data.addColumn('number', 'Some other Traffic'); - data.addColumn('number', 'Some other Traffic'); - - data.addRows([ - [1, 37.8, 80.8, 41.8], - [2, 30.9, 69.5, 32.4], - [3, 25.4, 57, 25.7], - [4, 11.7, 18.8, 32.5], - [5, 11.9, 25.6, 10.4], - [6, 68.8, 13.6, 27.7], - [7, 7.6, 42.3, 9.6], - [8, 12.3, 29.2, 10.6], - [9, 16.9, 42.9, 14.8] - ]); - - var options = { - chart: { - title: 'Network traffic throughput', - subtitle: 'in Mbps' - } - }; - - var chart = new google.charts.Line(document.getElementById('curve_chart')); - - chart.draw(data, options); - } - }); - - */ -}; -/* - * Helpers - */ - -Template.Dashboard.helpers({ - - envList:function(){ - //return Environments.find({type:'environment'}); - return Environments.find({}); - }, - - instancesCount: function (envName){ - //return Inventory.find({environment: envName, type:'instance'}).count(); - return Counts.get('inventory?env+type!counter?env=' + - envName + '&type=' + 'instance'); - }, - - vservicesCount: function (envName) { - //return Inventory.find({environment: envName, type:'vservice'}).count(); - return Counts.get('inventory?env+type!counter?env=' + - envName + '&type=' + 'vservice'); - }, - - hostsCount: function (envName) { - //return Inventory.find({environment: envName, type:'host'}).count(); - return Counts.get('inventory?env+type!counter?env=' + - envName + '&type=' + 'host'); - }, - - vconnectorsCount: function(envName){ - //return Inventory.find({environment: envName, type:'vconnector'}).count(); - return Counts.get('inventory?env+type!counter?env=' + - envName + '&type=' + 'vconnector'); - }, - - projectsCount: function (envName){ - //return Inventory.find({environment: envName, type:'project'}).count(); - return Counts.get('inventory?env+type!counter?env=' + - envName + '&type=' + 'project'); - }, - - regoinsCount: function (envName){ - //return Inventory.find({environment: envName, type:'region'}).count(); - return Counts.get('inventory?env+type!counter?env=' + - envName + '&type=' + 'region'); - }, - - regoins: function (envName) { - return Inventory.find({environment: envName, type:'region'}); - }, - - projects: function (envName){ - return Inventory.find({environment: envName, type:'project'}); - }, - - notificationsCount: function(){ - //return Messages.find({level:'notify'}).count(); - return Counts.get('messages?level!counter?' + - 'level=' + 'notify'); - }, - - warningsCount: function(){ - //return Messages.find({level:'warn'}).count(); - return Counts.get('messages?level!counter?' + - 'level=' + 'warn'); - }, - - errorsCount: function(){ - //return Messages.find({level:'error'}).count(); - return Counts.get('messages?level!counter?' + - 'level=' + 'error'); - }, - /* - notificationsTimestamp: function(){ - var msgTimestamp = Messages.findOne({state:'added'},{fields: {'timestamp': 1} }); - return msgTimestamp.timestamp; - }, - warnings: function(){ - return Messages.findOne({state:'warn'}); - }, - errors: function(){ - return Messages.findOne({state:'down'}); - }, -*/ - - getListMessagesInfoBox: function () { - return [ - { - level: 'info' - }, - { - level: 'warning' - }, - { - level: 'error' - }, - ]; - }, - - msgCounterName: function (level) { - let instance = Template.instance(); - let msgsViewBackDelta = instance.state.get('msgsViewBackDelta'); - let counterName = `messages/count?backDelta=${msgsViewBackDelta}&level=${level}`; - - return counterName; - }, - - argsMessagesInfoBox: function(boxDef, messageCount) { - //let instance = Template.instance(); - let title = _.capitalize(boxDef.level); - - return { - title: title, - count: messageCount, - lastScanTimestamp: lastMessageTimestamp(boxDef.level), - icon: calcIconForMessageLevel(boxDef.level), - colorClass: calcColorClassForMessagesInfoBox(boxDef.level), - onMoreDetailsReq: function () { - $('#messagesModalGlobal').modal('show', { - dataset: { - messageLevel: boxDef.level, - } - }); - } - }; - }, - - argsEnvBox: function ( - environmentName, - regionsCount, - regions, - projectsCount, - projects, - instancesCount, - vservicesCount, - vconnectorsCount, - hostsCount - ) { - - return { - environmentName: environmentName, - regionsCount: regionsCount, - regions: regions, - projectsCount, - projects: projects, - instancesCount: instancesCount, - vservicesCount: vservicesCount, - vconnectorsCount: vconnectorsCount, - hostsCount: hostsCount, - }; - } -}); // end: helpers diff --git a/ui/imports/ui/components/dashboard/dashboard.styl b/ui/imports/ui/components/dashboard/dashboard.styl deleted file mode 100644 index e7d58fc..0000000 --- a/ui/imports/ui/components/dashboard/dashboard.styl +++ /dev/null @@ -1,40 +0,0 @@ -.os-dashboard - display: flex; - flex-flow: row nowrap; - - .sm-main-layout-no-nav - flex: 1 0 0; - - display: flex; - flex-flow: column nowrap; - - .sm-main-row - display: flex; - flex-flow: row nowrap; - justify-content: space-between; - - .sm-environments - flex: 3 0 0; - display: flex; - flex-flow: row wrap; - justify-content: center; - - padding: 50px; - margin: -20px; - - >.item - margin: 20px; - width: 700px; - - .sm-side-container - flex: 0 0 0; - display: flex; - justify-content: center; - - padding: 50px; - - .sm-messages-section - display: flex; - flex-flow: column nowrap; - - min-width: 350px; |