aboutsummaryrefslogtreecommitdiffstats
path: root/ui/imports/ui/components/alarm-icons
diff options
context:
space:
mode:
Diffstat (limited to 'ui/imports/ui/components/alarm-icons')
-rw-r--r--ui/imports/ui/components/alarm-icons/alarm-icons.html78
-rw-r--r--ui/imports/ui/components/alarm-icons/alarm-icons.js53
-rw-r--r--ui/imports/ui/components/alarm-icons/alarm-icons.styl1
3 files changed, 132 insertions, 0 deletions
diff --git a/ui/imports/ui/components/alarm-icons/alarm-icons.html b/ui/imports/ui/components/alarm-icons/alarm-icons.html
new file mode 100644
index 0000000..d584990
--- /dev/null
+++ b/ui/imports/ui/components/alarm-icons/alarm-icons.html
@@ -0,0 +1,78 @@
+<!--
+########################################################################################
+# 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="alarmIcons">
+ <div class="os-alarm-icons">
+
+ <div class="alarm-icons">
+
+ <div class="dropdown">
+ <div class="material-icons mdl-badge mdl-badge--overlap dropdown-toggle"
+ data-badge="{{countOf 'messages/count?level=info'}}"
+ type="button"
+ id="dropdownMenu1"
+ data-toggle="modal"
+ data-target="#messagesModalGlobal"
+ data-message-level="info"
+ >notifications</div>
+ </div>
+
+ <div class="dropdown">
+ <div class="material-icons mdl-badge mdl-badge--overlap dropdown-toggle"
+ data-badge="{{countOf 'messages/count?level=warning'}}"
+ type="button"
+ id="dropdownMenu1"
+ data-toggle="modal"
+ data-target="#messagesModalGlobal"
+ data-message-level="warning"
+ >warning</div>
+ </div>
+
+ <div class="dropdown">
+ <div class="material-icons mdl-badge mdl-badge--overlap dropdown-toggle"
+ data-badge="{{countOf 'messages/count?level=error'}}"
+ type="button"
+ id="dropdownMenu1"
+ data-toggle="modal"
+ data-target="#messagesModalGlobal"
+ data-message-level="error"
+ >error</div>
+ </div>
+
+ <div class="dropdown">
+ <div class="material-icons dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">settings</div>
+ <ul class="dropdown-menu dropdown-menu-right" aria-labelledby="dropdownMenu1">
+ <li class="dropdown-header"
+ ><a href="{{pathFor route='scheduled-scans-list' query=''}}" >Scheduled Scans</a></li>
+ <li class="dropdown-header"
+ ><a href="{{pathFor route='scans-list' query=''}}" >Scans</a></li>
+ <li class="dropdown-header"
+ ><a href="{{pathFor route='link-types-list' query=''}}" >Link Types</a></li>
+ <li class="dropdown-header"
+ ><a href="{{pathFor route='clique-types-list' query=''}}" >Clique Types</a></li>
+ <li class="dropdown-header"
+ ><a href="{{pathFor route='clique-constraints-list' query=''}}" >Clique Constraints</a></li>
+
+ <li class="dropdown-header">
+ <a href="{{pathFor route='messages-list' query=''}}" >Messages</a>
+ </li>
+
+ {{#if isAdmin }}
+ <li class="dropdown-header">
+ <a href="{{pathFor route='user-list' query=''}}">Users</a>
+ </li>
+ {{/if }}
+ </ul>
+ </div>
+
+ </div>
+
+ </div>
+</template>
diff --git a/ui/imports/ui/components/alarm-icons/alarm-icons.js b/ui/imports/ui/components/alarm-icons/alarm-icons.js
new file mode 100644
index 0000000..5c7af31
--- /dev/null
+++ b/ui/imports/ui/components/alarm-icons/alarm-icons.js
@@ -0,0 +1,53 @@
+/////////////////////////////////////////////////////////////////////////////////////////
+// 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: alarmIcons
+ */
+
+import '/imports/ui/components/breadcrumb/breadcrumb';
+import { Messages } from '/imports/api/messages/messages';
+import { Roles } from 'meteor/alanning:roles';
+
+import './alarm-icons.html';
+
+/*
+ * Lifecycle
+ */
+
+Template.alarmIcons.onCreated(function () {
+ let instance = this;
+
+ instance.autorun(function () {
+ instance.subscribe('messages/count?level', 'info');
+ instance.subscribe('messages/count?level', 'warning');
+ instance.subscribe('messages/count?level', 'error');
+ });
+});
+
+/*
+ * Helpers
+ */
+
+Template.alarmIcons.helpers({
+ isAdmin: function () {
+ return Roles.userIsInRole(Meteor.userId(), 'manage-users', Roles.GLOBAL_GROUP);
+ },
+
+ infosCount: function(){
+ return Messages.find({level:'info'}).count();
+ },
+
+ warningsCount: function(){
+ return Messages.find({level:'warning'}).count();
+ },
+
+ errorsCount: function(){
+ return Messages.find({level:'error'}).count();
+ },
+});
diff --git a/ui/imports/ui/components/alarm-icons/alarm-icons.styl b/ui/imports/ui/components/alarm-icons/alarm-icons.styl
new file mode 100644
index 0000000..20bf947
--- /dev/null
+++ b/ui/imports/ui/components/alarm-icons/alarm-icons.styl
@@ -0,0 +1 @@
+// alarm icon styles