diff options
Diffstat (limited to 'ui/imports/ui/components/alarm-icons')
-rw-r--r-- | ui/imports/ui/components/alarm-icons/alarm-icons.html | 78 | ||||
-rw-r--r-- | ui/imports/ui/components/alarm-icons/alarm-icons.js | 53 | ||||
-rw-r--r-- | ui/imports/ui/components/alarm-icons/alarm-icons.styl | 1 |
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 |