'use strict'; oml.ui.peersButton = function() { var that = Ox.Element({ tooltip: Ox._('No peering requests') }) .css({ marginRight: '6px' }) .bindEvent({ click: open }), count, requests = 0; Ox.Button({ style: 'symbol', title: 'user', type: 'image' }) .css({ float: 'left', borderRadius: 0 }) .bindEvent({ click: open }) .appendTo(that); count = Ox.Element() .addClass('OxLight') .css({ float: 'left', marginTop: '3px', fontSize: '9px' }) .html('0') .appendTo(that); oml.bindEvent({ 'peering.request': update, 'peering.accept': update, 'peering.reject': update }); update(); function open() { oml.UI.set({page: 'users'}); } function update() { oml.api.getUsers(function(result) { requests = result.data.users.filter(function(user) { return user.pending=="received"; }).length; count.html(requests); that.options({ tooltip: Ox._(requests ? Ox.formatCount(requests, 'peering request') : 'No peering requests') }); }); } return that; };