Merge pull request #208 from joefiorini/browser-data

Move browser data loading into factory
This commit is contained in:
Joe Fiorini 2015-05-15 09:48:54 -04:00
commit e4a9919c24
5 changed files with 57 additions and 38 deletions

View File

@ -35,6 +35,9 @@ import dashboardGraphs from 'tower/directives/_dashboard-graphs';
import routeExtensions from 'tower/shared/route-extensions/main';
// modules
import browserData from 'tower/browser-data/main';
import {JobDetailController} from 'tower/controllers/JobDetail';
import {JobStdoutController} from 'tower/controllers/JobStdout';
import {JobTemplatesList, JobTemplatesAdd, JobTemplatesEdit} from 'tower/controllers/JobTemplates';
@ -74,6 +77,7 @@ var tower = angular.module('Tower', [
dataServices.name,
dashboardGraphs.name,
routeExtensions.name,
browserData.name,
'AuthService',
'Utilities',
'LicenseHelper',
@ -878,27 +882,6 @@ var tower = angular.module('Tower', [
var e, html, sock;
function detectBrowser() {
var ua = window.navigator.userAgent,
browser;
if (ua.search("MSIE") >= 0) {
browser = "MSIE";
}
else if (navigator.userAgent.search("Chrome") >= 0 && navigator.userAgent.search("OPR") < 0) {
browser = "CHROME";
}
else if (navigator.userAgent.search("Firefox") >= 0) {
browser = "FF";
}
else if (navigator.userAgent.search("Safari") >= 0 && navigator.userAgent.search("Chrome") < 0 && navigator.userAgent.search("OPR") < 0) {
browser = "SAFARI";
}
else if (navigator.userAgent.search("OPR") >= 0) {
browser = "OPERA";
}
return browser;
}
function activateTab() {
// Make the correct tab active
var base = $location.path().replace(/^\//, '').split('/')[0];
@ -941,8 +924,6 @@ var tower = angular.module('Tower', [
$rootScope.crumbCache = [];
$rootScope.sessionTimer = Timer.init();
$rootScope.browser = detectBrowser();
if ($rootScope.removeOpenSocket) {
$rootScope.removeOpenSocket();
}

View File

@ -0,0 +1,29 @@
export default ['$window', function($window) {
var ua = $window.navigator.userAgent,
browserName;
var browser =
{ userAgent: ua,
platform: $window.navigator.platform,
name: "Unknown Browser"
};
if (ua.search("MSIE") >= 0) {
browserName = "Internet Explorer";
}
else if (navigator.userAgent.search("Chrome") >= 0 && navigator.userAgent.search("OPR") < 0) {
browserName = "Chrome";
}
else if (navigator.userAgent.search("Firefox") >= 0) {
browserName = "Firefox";
}
else if (navigator.userAgent.search("Safari") >= 0 && navigator.userAgent.search("Chrome") < 0 && navigator.userAgent.search("OPR") < 0) {
browserName = "Safari";
}
else if (navigator.userAgent.search("OPR") >= 0) {
browserName = "Opera";
}
browser.name = browserName;
return browser;
}];

View File

@ -0,0 +1,7 @@
import getBrowserData from './browser-data.factory';
import ngApp from './ng-app.directive';
export default
angular.module('browserData', [])
.directive('ngApp', ngApp)
.factory('browserData', getBrowserData);

View File

@ -0,0 +1,11 @@
/* jshint unused: vars */
export default ['browserData', function(browserData) {
return {
link: function(scope, element, attrs) {
element
.attr('data-browser', browserData.userAgent)
.attr('data-platform', browserData.platform);
}
};
}];

View File

@ -15,30 +15,21 @@
export default
angular.module('SocketHelper', ['Utilities', 'FFSocketHelpDefinition', 'SafariSocketHelpDefinition' , 'ChromeSocketHelpDefinition'])
.factory('ShowSocketHelp', ['$location', '$rootScope', 'FFSocketHelp', 'SafariSocketHelp', 'ChromeSocketHelp', 'HelpDialog',
function($location, $rootScope, FFSocketHelp, SafariSocketHelp, ChromeSocketHelp, HelpDialog) {
.factory('ShowSocketHelp', ['$location', '$rootScope', 'FFSocketHelp', 'SafariSocketHelp', 'ChromeSocketHelp', 'HelpDialog', 'browserData',
function($location, $rootScope, FFSocketHelp, SafariSocketHelp, ChromeSocketHelp, HelpDialog, browserData) {
return function() {
var scope = $rootScope.$new();
scope.socketPort = $AnsibleConfig.websocket_port;
scope.socketURL = 'https://' + $location.host() + ':' + scope.socketPort + '/';
if ($rootScope.browser === "FF") {
scope.browserName = "Firefox";
scope.browserName = browserData.name;
if (browserData.name === 'Firefox') {
HelpDialog({ defn: FFSocketHelp, scope: scope });
}
else if ($rootScope.browser === "SAFARI") {
scope.browserName = "Safari";
else if (browserData.name === 'Safari') {
HelpDialog({ defn: SafariSocketHelp, scope: scope });
}
else {
if ($rootScope.browser === "MSIE") {
scope.browserName = "Internet Explorer";
}
else if ($rootScope.browser === "CHROME") {
scope.browserName = "Chrome";
}
else if ($rootScope.browser === "OPERA") {
scope.browserName = "Opera";
}
HelpDialog({ defn: ChromeSocketHelp, scope: scope });
}
};