Move web socket status indicator into directive

This commit is contained in:
Joe Fiorini
2015-04-30 12:58:22 -04:00
parent 02ac45e4c4
commit 52b676f0be
5 changed files with 33 additions and 11 deletions

View File

@@ -937,7 +937,7 @@ var tower = angular.module('Tower', [
LoadConfig, Store, ShowSocketHelp, AboutAnsibleHelp, ConfigureTower, CreateCustomInventory) {
var html, e, sock;
var sock;
function activateTab() {
// Make the correct tab active
@@ -985,16 +985,6 @@ var tower = angular.module('Tower', [
$rootScope.removeOpenSocket();
}
$rootScope.removeOpenSocket = $rootScope.$on('OpenSocket', function() {
html = "<a href=\"\" ng-hide=\"socketStatus === 'ok'\" ng-click=\"socketHelp()\" aw-pop-over=\"{{ socketTip }}\" aw-pop-over-watch=\"socketTip\" data-placement=\"bottom\" data-trigger=\"hover\" " +
"data-popover-title=\"Live Events\" data-container=\"body\" style=\"font-size: 10px;\"><i class=\"fa icon-socket-{{ socketStatus }}\"></i></a>";
e = angular.element(document.getElementById('socket-beacon-div'));
e.empty().append(html);
$compile(e)($rootScope);
e = angular.element(document.getElementById('socket-beacon-li'));
e.empty().append(html);
$compile(e)($rootScope);
// Listen for job changes and issue callbacks to initiate
// DOM updates
function openSocket() {

View File

@@ -4,4 +4,5 @@
<menu-toggle-button width="15" height="15" bar-height="2"></menu-toggle-button>
</a>
<include-partial ng-include="menuStylePartialUrl"></include-partial>
<web-socket-status class="MenuItem MenuItem--fixed"></web-socket-status>
</nav>

View File

@@ -2,6 +2,7 @@ import mainMenu from './main-menu.directive';
import menuItem from './menu-item.directive';
import menuToggle from './menu-toggle.directive';
import portalModeLink from './portal-mode-link.directive';
import webSocketStatus from './web-socket-status.directive';
import includePartial from 'tower/shared/include-partial/main';
@@ -10,4 +11,5 @@ export default
.directive('portalModeLink', portalModeLink)
.directive('menuItem', menuItem)
.directive('menuToggleButton', menuToggle)
.directive('webSocketStatus', webSocketStatus)
.directive('mainMenu', mainMenu);

View File

@@ -0,0 +1,16 @@
export default ['$rootScope', function($rootScope) {
return {
restrict: 'E',
templateUrl: '/static/js/main-menu/web-socket-status.partial.html',
link: function(scope, element, attrs) {
scope.socketHelp = $rootScope.socketHelp;
scope.socketTip = $rootScope.socketTip;
$rootScope.$watch('socketStatus', function(newStatus) {
scope.socketStatus = newStatus;
});
$rootScope.$watch('socketTip', function(newTip) {
scope.socketTip = newTip;
});
}
};
}]

View File

@@ -0,0 +1,13 @@
<button
ng-click="socketHelp()"
aw-pop-over="{{socketTip}}"
aw-pop-over-watch="socketTip"
data-popover-title="Live Events"
data-placement="left"
data-trigger="hover"
data-container="body"
class="Button--pseudo"
ng-if="socketStatus !== 'ok'">
<i class="fa icon-socket-{{socketStatus}}"></i>
</button>